2013-02-27 3 views
1

Моя задача - написать «Calc» -компилятор для Triangle Abstract Machine, который переводит исходный файл Calc в сборку TAM.Обход дерева обхода с помощью ParseTreeWalker

накипи Calc язык состоит из объявлений переменных (поддерживаются только целые числа),

var someID : integer; 

заданий

someID = 1+5-8+someID; 

и функцию печати.

print(someID-10) 

В настоящее время я использую ANTLR4s дерево ходьба объектов с помощью слушателей перевести Calc на TAM Ассамблее (и его работы). Теперь я хотел бы прервать обход дерева, если возникает контекстная ошибка (например, использование неопределенной переменной).

Как я могу это сделать?

ответ

Смежные вопросы