- 나는 내가 그것을 만드는 단계가 필요하고 그것을 어떻게 실행 정상적인 SQL 쿼리에 생성 된 도메인 특정 쿼리 언어에서 전송하는 도메인 특정 쿼리 언어
- 을 만들려고합니다.
- 및 모든 권장 도구 ??
0
A
답변
4
DSL은 SQL과별로 관련이 없습니다.
먼저 용지에 DSL을 지정해야합니다. 그렇게하는 동안 프로그래밍 언어에 관한 좋은 책을 읽는 것이 좋습니다. (예 : C.Queinnec의 Lisp in Small Pieces).
그러면 DSL을 해석기로 구현해야합니다. 표준 lexing, parsing 및 interpreters (또는 가능하면 compiler) 기술을 사용합니다. 아마도 garbage collector (또는 Boehm's GC을 사용하거나 구현해야합니다. ANTLR과 같은 파서 생성기가 도움이 될 수 있습니다.
DSL을 공동으로 설계하고 구현하는 것이 일반적으로 좋은 방법입니다.
자신의 DSL을 구현하는 &을 디자인하기 전에 여러 언어로 된 서적 &을 읽어야합니다.
이 할 수있는 실용적인 방법이 하는 것입니다 귀하의 응용 프로그램에 Lua 같은 기존의 통역을 포함, 또는 에 ocaml 또는 python
디자인처럼 통역 내부 응용 프로그램을 포함하고 좋은 DSL을 구현하는 것은 아니다 하찮은 (수개월 또는 수년간의 작업) 컴퓨터 과학이 필요합니다. & 프로그래밍 문화 & 노하우. 아마도 DSL2011 같은 회의의 독서 진행이 도움이 될 것입니다.
는 C.Queinnec의 책뿐 아니라 이클립스의 xtext에 대해 읽어 Programming Languages: Principles and Paradigms (by Maurizio Gabbrielli & Simone Martini) & Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (by Tate) & Programmming Language Pragmatics (by M.Scott)
읽을 수 있고 내가 그것을 파서와 렉서 ... 내 문제는 이후의 단계입니다 무엇을 제공한다는 이해 ?? – user1011661
다음 단계는 수많은 논문 및 서적을 읽고, 기존의 여러 DSL을 학습하고 생각하는 것입니다. 렉싱 및 파싱은 매우 쉬운 부분입니다. –
일부 참조를 추가했습니다. –