antlr

    1

    3답변

    숨겨진 채널에 공백 (WS)이 있다고 가정합니다. 그리고 특정 규칙에 대해서만 을 공백으로두고 싶습니다. 공백으로도 간주해야합니다. WS를 파서에서 특정 규칙에 대한 기본 채널로 가져올 수 있습니까?

    1

    2답변

    나는 같은 명령 쉘을 구문 분석 할 필요가있다. 나는 규칙 정의 (나는 경로로 토큰을 사용할 수 없습니다를하지만 난 파서를 정의 할 필요) : 나는 토큰 WS를 유지해야 path : ('/' ID)+; ID: (A.. Z | a.. z) +; WS: (' ') {$channel = HIDDEN;}; 로 숨겨져 있지만이 예제에서는이 두 경로는 단일

    3

    1답변

    TLDR : 각 형식에 대해 다른 코드로 수동으로 다목적 파서를 만든 경우 장기적으로 파서 코드 한 개와 ANTLR, PyParsing 또는 유사한 문법을 ​​사용하여 각 형식을 지정하는 것이 더 효과적일까요? 컨텍스트 : 내 업무에는 ~ 50 가지 벤치 마크의 벤치 마크 로그 파일이 많이 포함됩니다. XML에는 몇 가지, 몇 가지 HTML, CSV 및 문

    1

    1답변

    루프, 가변 상태 (컨텍스트 포함) 및 외부 Java 클래스 호출과 같은 기능 언어 기능을 지원하는 XML 스키마를 기반으로하는 DSL로 작업하고 있습니다. 나는 XML 문서를 가져 와서 적어도 최소한 Java로 보이는 도구를 쓰고 싶습니다. <set> 태그는 변수 할당으로 변환되고 루프는 for 루프로 변환됩니다. 나는 표준 XML 파서뿐만 아니라 ANT

    4

    1답변

    인라인 ANTLR 트리 문법 해석기를 작성하는 동안 프로 시저 호출 인수의 다양성과 관련된 문제가 발생했습니다. 다음 (결함있는) 트리 문법 정의를 고려하십시오. procedureCallStatement : ^(PROCEDURECALL procedureName=NAME arguments=expression*) { if(pro

    2

    1답변

    StringTemplate을 사용하여 HTML 출력을 생성하는 ANTLR3 문법을 작성하려고합니다. 템플릿 규칙 (예 : \<p\><variable>\</p\>)의 모든 HTML 태그를 피하지 않으려면 StringTemplate의 구분자로 달러를 사용하는 것이 좋습니다 (예 : <p>$variable$</p>). StringTemplate을 자체적으로 사용

    5

    3답변

    저는 ANTLR을 배우고 동시에 현재 프로젝트에 사용하려고합니다. 필자는 코드 덩어리에서 렉서를 실행하여 CommonTokenStream으로 출력 할 수있는 지점에 도달했습니다. 이 작업은 정상적으로 작동하며 원본 텍스트가 적절한 토큰으로 분할되고 있는지 확인했습니다. 이제이 스트림에서 특정 토큰의 텍스트를 수정하고 지금 수정 된 소스 코드를 표시하고 싶습

    1

    2답변

    basename = 다음 규칙에서 어떤 구성이 사용됩니까? tabname: (ID'.')? basename = ID ; 문법에 basename이라는 단일 어커런스가 있습니다. tabname: (ID '.')? basename=ID { if ($basename.equals("CAT")) System.out.pri

    6

    4답변

    프로그래머가 아닌 사용자를 위해 도메인 별 언어 (DSL)를 사용하고 있습니다. 프로그래머가 아닌 사람은 문법 실수를 많이합니다. 즉, 키워드를 잘못 입력하거나 괄호를 닫지 않고 블록을 종료하지 않습니다. 저는 파서를 생성하기 위해 ANTLR을 사용하고 있습니다. RecognitionExceptions를 처리하여 오류 처리를 개선하는 멋진 메커니즘을 제공합

    1

    1답변

    출력 언어로 C를 사용하는 C++ 프로젝트에서 ANTLR v3.2 생성 파서를 사용하려고합니다. 생성 된 파서는 이론적으로 C++로 컴파일 될 수 있지만 파서 작업 내에서 C++ 유형을 처리하는 데 문제가 있습니다. 여기에 내가 파서에서 사용하고자하는 몇 가지 유형을 정의하는 C++ 헤더 파일입니다 : /* expr.h */ enum Kind {