Добрый день.
Такой код работает:
input:
| input line
;
line: '\n'
| query '\n'
;
query: tuple_heading
;
tuple_heading: TUPLE '{' attributes_commalist '}'
;
attributes_commalist: attribute
| attributes_commalist ',' attribute
;
attribute: attribute_name
;
attribute_name: ID
;
Потом меняю tuple_heading на:
tuple_heading: ID ASSIGN TUPLE '{' attributes_commalist '}'
И всё валится. ID и ASSIGN объявлены; если «ID ASSIGN» вставить перед query, то всё работает отлично. Получается, я как-то неверно использую yacc.
Что делаю не так?