ANTLR 렉서 규칙 디자인 를 소모 : 허용 문자를 포함 대문자, 소문자, 숫자, 공간, 하이픈 문자 미 정착 길이 (길이가 2 자 이상이어야 함) 토큰은 하나 이상의 공백 또는 하이픈을 포함해야합니다. 토큰은 대문자로 시작하고 끝나야합니다. lowerc ase, 숫자, 공백 또는 하이픈 문자 (공백으로 시작하거나 끝날 수 없음) 아래의 문법에서 ANTL
현재 문자열 (단일 변수 'x'의 함수)을 입력으로 사용하여 해당 함수의 미분을 출력하는 응용 프로그램을 작성하고 있습니다. 프로그램의 후반부는 현재 문제가 아니며 문제가되는 것은 문자열에서 함수를 "읽는"것뿐입니다. ANTLRv3을 사용하여 C 목표를 달성하려고 노력하고 있지만 작동시키지 못합니다. 현재 "antlr3.h"헤더 파일이 없습니다. 필자는 어
이 오류하게 내 문법의 일부입니다 expr : func_name '(' constant (',' constant)* ')' ;
constant
: '"' (~'"')* '"';
WS : (' '|'\t')+ {skip();} ;
그리고 오류가 텍스트의이 부분에 관한 것입니다 : ANTLRWorks의 인터프리터가 나에게 다음 잎을 줄
나는 antlr을 처음 사용하며 DSL에 대한 antlr 문법을 작성하고 있습니다. 나는 그것을 처리하기 위해 공백을 건너 뛰었습니다. 그러나 나는 방식으로 여기에 달성하고 싶다 흰색 뒤덮여 버렸지 가지가있을 수 있습니다 내 문법이 특정 토큰을 선택하려는 선택적으로 케이스로 공간을을 가지고 토큰 SECATTR 이된다 후행 및 spaces.That을 선도하여
나는 문법을 컴파일하고 ANTLR4에서 작동 얻기 위해 노력하고있어. 문법은 ANTLR3 용으로 작성되었으며 많은 컴파일 오류가 발생합니다. 다음은 그 중 하나입니다 syntax error: '->' came as a complete surprise to me while looking for rule element
이 내가 -> 운영자가 ANTLR4에
ANTLR에 공급 될 때 두 파일이 CPPParser 및 CPPLexer처럼 생성되는 C++ 문법 파일 (EX : CPP_grammar.g)이 ANTLR의 작동 방식입니다.하지만 내 질문은 - ---- C++ 문법의 변경을 통해 Java 특정 JAVA 파서 및 JAVA Lexer 클래스를 얻을 수있는 방법이 있습니까? 감사 @zakaza :이 바보 의심의
[Porcelli] (https://github.com/porcelli/plsql-parser)에 의해 주어진 PLSQL 파서를 수정했습니다. 이 파서를 사용하여 Plsql 파일을 구문 분석합니다. 구문 분석이 성공적으로 끝나면 대서양 표준시를 인쇄합니다. 이제, AST를 편집하고 원래의 plsql 소스를 편집 된 정보로 다시 인쇄하려고합니다. 이것을 어떻
확장 나는 그래서 내가 만든이 재 작성 규칙에 시도 다른 토큰 토큰 '플러스'와 '마이너스'를 변경할 ANTLR3 num_addition
: num_multi ((plus^|minus^) num_multi)*
;
에 표현이있다. num_addition
: num_multi (plus num_multi)* -> ^(num_mul