Shunting-Yard VS Парсер рекурсивного спуска
Я создаю расширенный математический синтаксический анализатор и хотел бы узнать разницу между Shunting-Yard и другими доступными алгоритмами синтаксического анализатора, такими как "Descent Parser", зная, что я предпочитаю хранить формулу в нотации RPN.
Заранее спасибо,
1 ответ
У меня никогда не было особого применения алгоритма "шунтирующего двора", потому что он, кажется, сосредоточен только на выражениях инфикса. Разбор рекурсивного спуска легко делает выражения и большую часть того, что вы хотите делать с более сложными парсерами. Будучи более общим, я нахожу это более полезным, и мне не нужно помнить две техники.
Смотрите мой SO-ответ о том, как создавать парсеры рекурсивного спуска здесь: есть ли альтернатива flex/bison, которую можно использовать в 8-битных встроенных системах?