我在DSL的语法中使用以下摘录:
SelectDml:
'select' columnList+=FieldColumn (',' columns+=FieldColumn)* from=FromClause;
FromClause:
'from' value=ID (alias=ID)?;
FieldColumn hidden():
fieldName=ID ('.' ID)?;
如果我解析我的DSL的后续行,那么列-List中有一个FieldColumn,这绝对没问题。但FieldColumn具有fieldName a
而不是预期值:a.col
。
select a.col from a
我的语法有问题吗?遗失了什么?
答案 0 :(得分:1)
根据此规则
FieldColumn hidden():
fieldName=ID ('.' ID)?;
第一个ID
值已分配给fieldName
。任何进一步的ID
值都会被跳过。