antlr4

    1

    1답변

    마침내 오늘 전체 문법이 완성되어 "String is too long"Java 문제가 발생했습니다. 이 문제가 해결되었지만 다른 제한 사항이 적용되는 것을 두려워서 C# 대상 사용으로 전환하기로 결정했습니다. 저는 경험 많은 C++ 프로그래머이고 Antlr4를 사용할 수 있도록 Java를 배웠습니다. C#으로 전환하는 것은별로 중요하지 않으며 배우기위한 새

    0

    1답변

    의 집합에 대한 작동하지 않는 다음과 같은 규칙이이 오류를 줄 것이다 antlr4 testSetLabel : (flags+=('A' | 'B' | 'C' | 'D'))* ; 에서 작동하지 않습니다 보인다 여기에 :,369 '세트에서 요인 라벨' testSetLabel2 : (flags+= 'A' | flags+='B' | flags+='C'

    4

    1답변

    I가 내가 규칙에 일치 할 다음 문자열, stringLiteral : "D:\\Downloads\\Java\\MyFile" 그리고 내 문법 파일입니다 : String.g4로 다음과 같습니다 : grammar String; fragment HexDigit : ('0'..'9'|'a'..'f'|'A'..'F') ; stringLiteral

    0

    1답변

    에 시계를 만들기 나는 양식 시간의 클럭 반환하는, ANTLR의 데이터 형식은 시간이라는 만들고있어 : 분을 이 내 코드는 지금까지 모습입니다 : grammar clock; clock: HOUR ':' MINUTE HOUR: '2'[0-3]|'1'[0-9]|[0-9]; MINUTE: [0-5][0-9] 코드가 "HOUR"부분을 인식하지 못하고

    0

    1답변

    나는 오래된 언어에 대한 문법을 ​​개발 중이다. 언어는 상당히 복잡하지만 특정 문제에 집중하고 싶습니다. 그래서 나는 가벼운 버전을 만들었습니다. 라이트 버전에서는 대입 문과 수학 연산 또는 문자열 연결과 같은 간단한 표현식을 지정할 수 있습니다. 이처럼 : @assign[@var1 (1+3)*2] @assign[@var2 "foo" $ "bar"]

    0

    1답변

    내가 문제 내 문법에 대한 입력 스트림을 실행이의 외부 입력은 여기 내 문법의 일부입니다 expression : .... | ('+' | '-' | '&' |) expression | expression ('+'|'-') expression .... ; 때 입력 스트림 2 + 2-2 또는 같은 (2 + 2 + 2) - 2, 오류가 발생합

    2

    1답변

    한 도메인 특정 언어에서 다른 언어로 변환하는 ANTLR 파서를 작성했으며 포함 된 조치를 사용하여 중간 구조 정보를 생성합니다. 파싱하는 동안 이러한 임베디드 작업은 런타임에로드 된 데이터를 외부 파일에서 사용하여 파싱중인 입력의 유효성을 검사합니다. 따라서 런타임에로드 된 외부 요구 사항으로 인해 문법에 따라 올바른 입력 파일이 실패 할 수 있습니다.

    3

    1답변

    JavaCC를 ANTLR4로 변환하여 컴파일러를 작성 중이며 규칙 중 하나가 매개 변수를 전달하고 이로부터 리턴 값을 가져 오는 것과 관련이 있습니다. Term term(ReadOptions options, int priority): { int p = options.operatorSet.getNextLevel(priority); Term

    1

    2답변

    짧은 덩어리의 텍스트를 순차적으로 구문 분석하기 위해 렉서/파서를 다시 사용하려고했습니다. 이전 실행의 더 남아 난 항상이 완전히 상관없이 전에 무슨 일이 있었는지 렉서와 파서 모두를 재설정하지 않습니다 생각 mLexer.reset(); mLexer.setInputStream(new ANTLRInputStream(data)); mPars

    1

    1답변

    파서를 쓰고 있는데 어색한 오류가 발생했습니다. 내 규칙 하나는 다음과 같다 : operatorTerm[ReadOptions Options, int priority] returns [Term t] @init { int p = priority; Term t2 = null; Term t = null; CompoundTermTag f = null;