Я хотел бы иметь возможность анализировать непустой список с одним или несколькими элементами, разделенный запятыми (и необязательно заключенный в скобки), используя правила синтаксического анализа flex / bison.
некоторые, например, разбираемые списки:
- 1
- 1,2
- (1,2)
- (3)
- 3,4,5
- (3,4,5,6)
и т. Д.
Я использую следующие правиладля анализа списка (конечный результат - элемент синтаксического анализа 'список верхнего уровня'), но они, похоже, не дают желаемого результата при синтаксическом анализе (я получаю синтаксическую ошибку при предоставлении действительного списка).Любое предложение о том, как я мог бы настроить это?
cList : ELEMENT
{
...
}
| cList COMMA ELEMENT
{
...
}
;
topLevelList : LPAREN cList RPAREN
{
...
}
| cList
{
...
}
;