Я пытаюсь использовать JavaCC для создания простого калькулятора командной строки, который может обрабатывать различные выражения. Хотя есть много учебников о том, как писать грамматики, ни один из которых я не видел до сих пор, объясняет, что происходит потом.Попытка понять парсеров
Теперь я понимаю, что после того, как строка передается в синтаксический анализатор, она разбивается на токены и превращается в дерево синтаксического анализа. Что будет дальше? Прохожу ли я через дерево разбора, проводя кучу сравнения строк if-else по содержимому каждого узла, а затем выполняю соответствующую функцию?
Прочитайте некоторые книги по теории компиляторов, например: http://books.google.com/books?id=A3yqQuLW5RsC&dq=compiler%20theory&source=gbs_similarbooks –
Книга, которая научила меня компиляторам, была книга драконов: http: // www. amazon.com/Compilers-Principles-Techniques-Alfred-Aho/dp/0201100886. Еще классика. –