В настоящее время я работаю над парсером, и кажется, что я сделал несколько ошибок, связанных с следовать заданному расчёту. Поэтому мне было интересно, если кто-то знает хороший инструмент для вычисления последующих и первых наборов, чтобы я мог пропустить/переоценить эту ошибку, подверженную частичной конструкции конструктора.
Инструмент/приложение для вычисления первого и последующих наборов
Ответ 1
Посмотрите
http://hackingoff.com/compilers/predict-first-follow-set
Это хороший инструмент для вычисления первого и последующих наборов в грамматике. также вы можете проверить свой ответ с помощью этих инструментов визуализации:
Ответ 2
Я нашел свою ошибку, сравнив свои первые/последующие с тем, сгенерированные это веб-приложение
Ответ 3
Большинство генераторов синтаксического анализатора, с которыми я столкнулся, не имеют очевидных средств для сброса этой информации, не говоря уже о том, чтобы сбрасывать ее в читаемом виде. (Я построил тот, который делает по той причине, что вы предлагаете, но он недоступен сам по себе, и я сомневаюсь, что вы хотите оставить остальную часть багажа).
Если определение парсера не работает, вам в основном не нужно знать эти вещи для его отладки. Наблюдение за правилами достаточно удивительно помогает; это также помогает построить два самых маленьких примера грамматики, о которых вы можете подумать, один из которых вы ожидаете, что будете приняты, а другой - небольшой вариант, который следует отклонить.
Несмотря на наличие генератора синтаксического анализатора, который будет выдавать эту информацию, я редко прибегаю к ее использованию для отладки грамматик, и я создал с ним 20-30 довольно больших грамматик.