2010-03-29 5 views
9

필자는 ANTLR을 사용하여 잘 작동하는 Java 타겟으로 마크 업 언어에 대한 파서 + 트리 문법을 생성 해 왔습니다. 이제 웹 브라우저에서 JavaScript를 사용하여 타겟을 얻으려고합니다.ANTLR JavaScript Target

그러나이 작업을 수행하는 방법에 대한 좋은 문서를 찾을 수 없었습니다. Eclipse ANTLR IDE를 사용하고 JavaScript로 언어를 지정하면 다음과 같은 오류가 발생합니다. 이 라인

  • (10)에

    여러 마커 : 내부 오류 : 그룹 자바 스크립트 인터페이스 ANTLRCore 만족하지 않습니다 이러한 템플릿에 일치하지 않는 인수를 [treeParser (문법, 이름, 범위, 토큰, tokenNames, globalAction 규칙, numRules, bitsets, labelType, ASTLabelType, 수퍼, 멤버 FILTERMODE)]

  • (10) : 내부 에러 : java.util.NoSuchElementException : 이러한 특성 : FILTERMODE를 템플릿 컨텍스트 [treeParser]

누구든지 나를 도와 주거나 ANTLR이있는 JavaScript 대상에 대해 읽을 수있는 자료를 알려 주면 좋을 것입니다.

감사

+1

저는 실제로 JavaScript로 파서를 생성 할 수 있습니다. 그러나 JavaScript 대상에서 트리 워커를 생성하려고 시도 할 수는 없습니다. 그리고 나는 이것의 주된 이유가 위에 나열된 오류 2라고 생각합니다. – Gunner4Life

+0

사용하려고 시도한 ANTLR 빌드의 버전이 확실하지 않지만 사용하려고 시도한 공식 빌드에서 동일한 오류가 발생했습니다. 필자는 PERFORCE 서버에서 ANTLR 타르를 가져 와서 메이븐 (maven)으로 만들었고 자바 스크립트는 제게는 효과가있는 것처럼 보였습니다. 최소한 필자의 사소한 문법 만 있으면됩니다. –

+0

나는 그 오류가 무엇인지 알아 냈다. 자바 스크립트 타겟이 ANTLR의 최신 버전에서 깨져서 문제를 일으켰습니다. 해결책은 소스 코드를 작성하거나 이전 버전을 사용하는 것입니다. – Gunner4Life

답변

0

JavaScript 대상이 3.4 배포에서 다시 손상된 것처럼 보입니다. 3.3 나를 위해 잘 작동하지만.

0

나는이 작업을 얻기 위해 노력하고 있고, 단지 .js 파일 생성 관리가 성공적으로이를 읽은 후 : 포스트에서

http://www.antlr3.org/pipermail/antlr-interest/2011-August/042417.html

: 여기

방법을 시작하는 것 ANTLR과 자바 스크립트를 백 엔드와 :

  1. 다운로드 ANTLRWorks 1.2.2 : < http://antlr.org/download/antlrworks-1.2.2.jar>. JavaScript 대상 은 IDE에서 렉서 및 파서 코드 (< http://antlr.1301665.n2.nabble.com/maven-plugin-and-javascript-target-td3647109.html> 참조)를 생성 할 때만 작동합니다. 명령 줄에서 ANTLR v3.1을 실행하려고하면 메시지 "오류 (10) : 내부 오류 : 그룹 JavaScript가 인터페이스 ANTLRCore를 만족하지 못합니다."메시지가 표시됩니다.
  2. 은 JS 런타임을 다운로드 받는다 : 오류가 생성 과정에서 발생하는 경우, "코드 생성"작업이 더 이상 작동 어떤 이유로 에 대한 것을 http://antlr.org/download/antlr-javascript-runtime-3.1.zip

From then on you can use ANTLRWorks 1.2.2 to generate the lexer and parser code by selecting "Generate Code" from the "Generate" menu. ANTLRWorks will place the generated files into an output directory in the folder in which the grammar file resides.

참고. 간단히 문법을 닫고 "Open Recent"메뉴에서 을 다시 열면됩니다.약 2 개월 전 GitHub의에 게시 된 ANTLR4위한 새로운 JS 랭의 대상이

3

:

antlr/antlr4-javascript

그것은 아직 공식 출시에 통합하지,하지만 당신은 아마 단지로 그것을 던질 수 최신 ANTLR4 코드베이스와 ANTLR을 직접 컴파일하십시오.

+0

antlr4-javascript 프로젝트는 이제 브라우저 기반 테스팅이되어 훨씬 더 복잡해졌습니다. JavaScriptTarget 소스에서 의도 한 출시 대상이 ANTLR 4.5로 나타납니다. – jhyry

+4

링크가 작동하지 않습니다 –

+0

최신 정보가있는 링크가 있습니다 : https://github.com/antlr/antlr4/blob/master/doc/javascript-target.md –