puppysss Ответов: 1

Сделать парсер для скрипта


Я не могу понять, как разобрать входную строку с помощью письменной грамматики с использованием "BNF".

Что я уже пробовал:

Здравствуйте, я puppysss и недавно построил простой скриптовый язык с помощью лексера.
Я уже собирался подумать о том, чтобы сделать для него парсер, но моя попытка заставила мою голову взорваться. позвольте мне рассказать вам всю историю моей идеи для моего собственного сценария...

1. Проанализируйте код с помощью лексера для разделения слов.
ex) "var a=1, b=1,c c=a+b print c" => " var\a\=\1\b\=\1\c\c\=\a\+\b \ print\c\"

2. Создайте грамматику для простого скрипта, используя BNF или что-то в этом роде ...

но я был поражен стеной номер два, поэтому погуглил много статей о "БНФ"
думая: "это довольно круто для успеха два", и
наконец я понял "БНФ". это был метод описания грамматики.

однако меня снова ударила стена номера три
вот как разобрать входную строку с помощью письменной грамматики с помощью "BNF"

Есть ли кто-нибудь, кто мог бы мне это объяснить?

0x01AA

Прочтите, например, это:
[^] и вот на КП, например, это:крошечный генератор парсера v1. 2[^]

1 Ответов

Рейтинг:
0

RickZeeland

Вот интересный проект по упрощению написания парсера на языке Си#: GitHub-sprache/Sprache: Tiny C# Monadic Parser Framework[^]
Также смотрите эту статью CodeProject для получения дополнительной информации о Sprache: Шпрах.Calc: создание еще одного оценщика выражений[^]