Привет, ребята, это мой первый вопрос здесь о переполнении стека, и мне было интересно, могу ли я спросить совета у людей, которые знают немного больше о генераторах Python и Parser, чем я.
Мне задали задачу, когда мне нужно создать парсер для простого языка C. Я могу использовать любой язык программирования и инструменты, которые я хочу создать парсером, но я изучаю Python одновременно, поэтому это был бы мой предпочтительный выбор.
Есть несколько ограничений, которым должен следовать мой Parser. Во-первых, он должен иметь возможность читать в текстовом файле, который содержит следующую информацию:
kind1 : spelling1
kind2 : spelling2
kind3 : spelling3
.
.
.
kindn : spellingn
Где каждый вид и правописание относятся к типу и значению языка. Этот файл является результатом размещения образца кода через лексический анализатор языка.
Во-вторых, я должен иметь возможность настраивать вывод синтаксического анализатора. В идеале я хотел бы вывести файл, который преобразовал вид: список орфографии в другую последовательность токенов, которые будут переданы компилятору языка для преобразования в код сборки MIPS. Вот небольшой пример того, что я хотел бы, чтобы анализатор мог создавать:
%function int test
%variable int x
%variable int y
%begin
%if %id y , %id x > %do
%begin
%return %num 0
%end
%return %num 1
%end
Было бы очень полезно, если бы кто-нибудь мог посоветовать мне существующие Python Parser Generators, и если бы я смог добиться того, что я ищу в приведенных выше примерах.