Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Программистам теоретикам про BNF и парсеры вопрос ... / 3 сообщений из 3, страница 1 из 1
16.08.2006, 20:05
    #33923199
U-gene
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программистам теоретикам про BNF и парсеры вопрос ...
Есть такое 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
16.08.2006, 23:18
    #33923369
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программистам теоретикам про BNF и парсеры вопрос ...
это як - бизон?

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

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


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