2011-12-12 4 views
0
  1. 나는 내가 그것을 만드는 단계가 필요하고 그것을 어떻게 실행 정상적인 SQL 쿼리에 생성 된 도메인 특정 쿼리 언어에서 전송하는 도메인 특정 쿼리 언어
  2. 을 만들려고합니다.
  3. 및 모든 권장 도구 ??

답변

4

DSL은 SQL과별로 관련이 없습니다.

먼저 용지에 DSL을 지정해야합니다. 그렇게하는 동안 프로그래밍 언어에 관한 좋은 책을 읽는 것이 좋습니다. (예 : C.Queinnec의 Lisp in Small Pieces).

그러면 DSL을 해석기로 구현해야합니다. 표준 lexing, parsinginterpreters (또는 가능하면 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)

+0

읽을 수 있고 내가 그것을 파서와 렉서 ... 내 문제는 이후의 단계입니다 무엇을 제공한다는 이해 ?? – user1011661

+2

다음 단계는 수많은 논문 및 서적을 읽고, 기존의 여러 DSL을 학습하고 생각하는 것입니다. 렉싱 및 파싱은 매우 쉬운 부분입니다. –

+0

일부 참조를 추가했습니다. –