Я создал интерпретатор, похожий на Visual Basic, и теперь добавляю некоторую переменную. Моим источником информации является CH8 The Definitive Antlr Reference и сопровождающий его код. По сути, в примерах используются слушатели, а в моем коде — посетители.
Я был бы признателен, если бы кто-то мог прояснить или исправить мое понимание вещей:
Что касается областей, я должен использовать модель Listener (согласно примерам книги Cymbol), чтобы сначала пройтись по дереву, чтобы создать информацию о области/переменной, переопределив соответствующие функции входа/выхода, относящиеся к функциям и блокам, где мне нужно захватить изменение масштаба. Во-вторых, создав области, я должен затем посетить дерево, чтобы запустить программу? например где у меня есть VisitEnterFunction и VisitExitFunction, я должен затем нажать и вытолкнуть области.
Заранее спасибо за помощь в установлении правильного способа сделать это. Кевин