powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как сделать парсер по заданому выражению BNF?
3 сообщений из 3, страница 1 из 1
Как сделать парсер по заданому выражению BNF?
    #39410146
Добрый день.
Уважаемые форумчане, кто имел дело с таким вопрсом.
Дайте пожалуйста хоть какую то информацию

Нужно сделать такое задание

http://prnt.sc/ed5zbs

С чего начать? (в википедии уже читал что такое BNF, также загуглил примеры, но ничего толкового не нашел)
Я так понимаю что это будет функция которая, будет принимать выражение в виде строки '2+2*3', к примеру, а на выходе мы должны получить ее результат.

Может есть у кого то какой то пример?
Буду благодарен за любую информацию?
...
Рейтинг: 0 / 0
Как сделать парсер по заданому выражению BNF?
    #39410544
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а на каком языке программирования предлагается сделать сей парсер?
...
Рейтинг: 0 / 0
Как сделать парсер по заданому выражению BNF?
    #39410594
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrozaUmnikam aka tarasdj,

В чем конкретно проблема?

Из готового есть Обратная польская нотация. можно найти, почитать об этом, там и алгоритм разбора есть. взять за основу и сделать чтото похожее.

Можно не чиатть это, а сделать с нуля свой велосипед, а-ля стековый автомат. парсим посимвольно, строим в памяти структуру, потом вычисляем исходя из приоритета операций и групп.

Можно парсить регулярками, итеративно вычисляя все что можно вычислитьь на данном этапе, постепенно упрощая выражение и приходя к финалу.

Можно тупо отсылать пример гуглу, и получать результат. благо его строка поиска может работать как калькулятор.))
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как сделать парсер по заданому выражению BNF?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]