2012-08-25 5 views
1

우리는 우리의 플랫폼을위한 외부 DSL을 작성하려고 시도해 왔으며 구문은 JAVA와 유사하지만 생성 된 기본 코드는 약간 다릅니다.시맨틱 분석

우리는 ANTLR 스핀을 주었고 우리의 규칙을 준수하기 위해 상자의 자바 문법 파일을 조정했다. 다음 단계는 의미가있는 해석인데, JAVA를위한 자유 의미 분석기의 유용성을 알고 싶어했다. 문법 파일과 유사하게, 우리가 박스 자바 의미 론적 분석기 코드를 벗어나면 우리는 우리의 필요를 충족시키기 위해 그것을 조정할 수있다.

또한 스칼라 DSL 기능에 대해서도 알아 보았습니다.

이와 관련하여 도움이 되시길 바랍니다. 감사합니다

답변

0

스칼라는 현재 macro system을 실험적으로 지원합니다. 매크로는 편리하고 가벼운 방법으로 새로운 언어 기능을 정의합니다. 기본 언어로 된 모든 작업을 복제 할 필요없이 DSL을 정의 할 수 있습니다. 그들은 모든 것을 할 수는 없지만 많은 일을 할 수 있습니다. 그리고 작업을 수행 할 때 완전히 새로운 언어를 작성하는 것보다 작성하고 디버그하는 것이 훨씬 쉽습니다.

0

Eclipse 소스 코드에서 많은 도움을 얻을 수 있습니다. 모든 유형 바인딩으로 주석 된 Java 파일의 AST를 노출하는 공용 API를가집니다. 그러나 코드를 수정하는 것이 어렵다고 생각합니다.