Я хочу написать переводчик на двух языках, а после некоторого чтения в Интернете я решил пойти с ANTLR. Я должен был изучить его с нуля, но помимо некоторых проблем с устранением оставленной рекурсии все прошло хорошо до сих пор.ANTLR vs. Happy vs. другие генераторы парсеров
Однако сегодня какой-то парень сказал мне, чтобы проверить Happy, генератор синтаксического анализа на основе Haskell. У меня нет знаний Haskell, поэтому я мог бы использовать некоторые советы, если бы Happy действительно лучше ANTLR, и если это стоит изучить.
В частности, меня беспокоит то, что моему переводчику необходимо поддерживать макроподстановку, о которой я еще не знаю, как это сделать в ANTLR. Может быть, в Happy это легче сделать?
Или, если думаю, что другие генераторы парсеров еще лучше, я был бы рад услышать о них.
Если вы в состоянии сказать, самая полезная информация, которую вы могли бы предоставить прямо сейчас, - это ответьте «Что такое исходный и целевой языки?» –
@ 280Z28 Это родные языки. Они несколько похожи на Java, с той разницей, что класс может содержать определения макросов, а затем внутри методов макросы должны быть расширены. – Gabriel
Между тем я понял, что моя проблема проще, чем я изначально думал. Мне удалось сделать это с ANTLR, в lexer, поэтому нет необходимости срочно изучать Happy или другой генератор. – Gabriel