我想生成这样的字符串:
tablename(attr1, attr2)
tablename(attr1, attr2, attr3)
tablename(attr1, attr2, attr3, attr4)
问题是,使用通配符操作符(*、?、+)时,我无法控制我想要的基数,因为我需要至少两个。所以,像这样的字符串是不被接受的:
tablename(attr1)
tablename()
此外,我还想复制逗号,但不是最后一个属性。有没有一种方法可以做到ANTLR4?
明确地表述可能的变化。例如:
table: id OPEN_PAR attribute CLOSE_PAR
| id OPEN_PAR attribute COMMA attribute CLOSE_PAR
| id OPEN_PAR attribute COMMA attribute COMMA attribute CLOSE_PAR
| id OPEN_PAR attribute COMMA attribute COMMA attribute COMMA attribute CLOSE_PAR
... etc.
;