powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Программистам теоретикам про BNF и парсеры вопрос ...
3 сообщений из 3, страница 1 из 1
Программистам теоретикам про BNF и парсеры вопрос ...
    #33923199
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такое BNF выражение
Код: plaintext
1.
2.
3.
4.
select_item ::=
	"*"
	|  scalar_var ":=" scalar_exp
	|  scalar_exp ["AS" attr_alias] 
	;
Все нормально.
Но если я меняю последовательность вариантов...
Код: plaintext
1.
2.
3.
4.
select_item ::=
	"*"
	|  scalar_exp ["AS" attr_alias] 
	|  scalar_var ":=" scalar_exp
	;
...то на выражении типа а := 2+2 парсер выдает ошибку. Это нормально, что результат разбора от последовательности вариантов зависит?
...
Рейтинг: 0 / 0
Программистам теоретикам про BNF и парсеры вопрос ...
    #33923369
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это як - бизон?

помоему, не должно.
может грамматика переуложнена.
на простом примере грамматики тоже зависит от порядка?
...
Рейтинг: 0 / 0
Программистам теоретикам про BNF и парсеры вопрос ...
    #33946434
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
U-geneЭто нормально, что результат разбора от последовательности вариантов зависит?
Это категорически ненормально и означает грубую ошибку, скорее всего идеологическую, в парсере либо добавленном пользовательском коде.

У Вас, насколько я понимаю, прикол в том, что с лексемы scalar_var могут начинаться оба варианта, а парсер не учитывает этот случай хотя бы индикацией ошибочной ситуации.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Программистам теоретикам про BNF и парсеры вопрос ...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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