ANTLR дерево печати - PullRequest
       29

ANTLR дерево печати

0 голосов
/ 15 ноября 2011

Я ищу грамматики ANTLR, которые готовы к печати дерева в удобочитаемом формате.Когда я пытаюсь напечатать Java.g (http://openjdk.java.net/projects/compiler-grammar/antlrworks/Java.g), результаты оказались неудобными. Но я нахожу одну грамматику (включая проект Java), которая хорошо печатает AST. Эта грамматика - грамматика Паскаля от Мартона Паппа (http://www.antlr.org/grammar/1279217060704/pascal3.zip).

):

VARDECL text="Var"
       VARLIST text=""
       VAR text="a" 
       VAR text="b" 
       VARTYPE text="Integer"

это для Паскаля (pascal3.zip).

Вы когда-нибудь видели такие вещи для: C, Java, C #, VB. Возможно, вы видите это для некоторых другихязыки?

  • Необходимым целевым языком (для Parser и Lexer) является только Java.

1 Ответ

1 голос
/ 16 ноября 2011

Вы можете легко изменить грамматику Java самостоятельно (при условии, что вы немного знаете ANTLR). Написание грамматики лексера и синтаксического анализатора - самая трудная часть, которая, в данном случае, уже сделана для вас.

Если вы хотите знать, как разрешить грамматике синтаксического анализатора выводить AST вместо простого дерева разбора, посмотрите на эти предыдущие вопросы и ответы: Как вывести AST, построенный с использованием ANTLR?

...