ANTLR4를 사용하여 LaTeX의 하위 집합으로 수학 공식을 파싱하려고합니다. 예를 들어 (a+4)/(b*10)
에서 \frac{a+4}{b\cdot 10}
까지 구문 분석해야합니다.ANTLR4를 사용하여 수식을 분석하십시오.
내 간단한 문법은 나무 같이 작성
가 지금은 나무가 통과하는 동안 어떻게 든 LaTeX의 문자열을 구성 파스 트리 리스너를 구현하기 위해 노력하고 있습니다. 여기서,\frac{}{}
과 같은 문자열을 구성하기 때문에 재귀 적으로 작성해야합니다. 그러나 파스 트리 워커 (parse tree walker)는 한 트리 노드를 다른 트리 노드를 방문합니다 (내가 말할 수있는 한 폭 넓은 방법으로).
내가 원하는 바를 (으)로 파싱 트리 에 대해 읽었습니다. 그러나 나는이 방문자들이 어떻게 적용되는지 예제를 찾을 수 없었다.
구문 분석 트리 리스너/방문자가이 특별한 경우에 어떻게 사용될 수 있는지 예제를 제공 할 수 있습니까? ANTLR을 파서에 사용하는 나의 접근법이 처음부터 의미가 있다고 생각합니까?
위대한 작품입니다. 감사합니다! 나는 지금 Antlrworks를 사용하고 있는데 (이전에 명령 행에서 문법을 컴파일했다.) 이제는'* Visitor' 클래스가 제대로 생성되었다. – Mouagip
@Mouagip 당신은 여전히 명령 행에서 그것을 할 수 있습니다. 그냥'-visitor' 인자를 사용하십시오! 참조 : https://theantlrguy.atlassian.net/wiki/display/ANTLR4/ANTLR+Tool+Command+Line+Options – Mephy
지적 해 주셔서 감사합니다. 하지만 Antlrworks를 NetBeans 플러그인으로 직접 사용하는 것이 더 편리합니다 .-) 그래도 명령 행은 가능한 빌드 스크립트의 옵션이 될 것입니다. – Mouagip