2016-09-06 15 views
1

に正規表現:私はこれらのような文字列を生成したいANTLR4

tablename(attr1, attr2)  
tablename(attr1, attr2, attr3) 
tablename(attr1, attr2, attr3, attr4) 

問題は、ワイルドカード演算子(*、+?)私は、少なくともを必要とするので、私は、私が欲しいカーディナリティを制御することはできませんと2つ。 ので、このような文字列は承っておりません。

tablename(attr1) 
tablename() 

はまた、私はまた、最後の属性のカンマではなくを再現したいです。 ANTLR4を実行する方法はありますか?

答えて

1

可能な変形を明示的に定式化してください。たとえば、

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. 
; 
関連する問題