1
我有這樣的規則:Antlr4 - 條款的訂貨
query
: SELECT selectAttribute (',' selectAttribute)*
FROM from
(WHERE where=booleanExpression)?
(ORDER BY sortItem (',' sortItem)*)?
(LIMIT limit=(INTEGER_VALUE | ALL))?
(IGNOREHIDDENFILES ignoreHiddenFiles=booleanValue)?
(FOLLOWSYMLINKS followSymlinks=booleanValue)?
SEMICOLON
;
這是有效的;
SELECT name FROM /tmp
IGNOREHIDDENFILES true
FOLLOWSYMLINKS true
然而,這是無效的:
SELECT name FROM /tmp
FOLLOWSYMLINKS true
IGNOREHIDDENFILES true
我想告訴規則的順序並不爲IGNOREHIDDENFILES
和FOLLOWSYMLINKS
謝謝!這解決了問題 – Flukey
歡迎您! – cantSleepNow
只需要注意一點:您可以在輸入中重複IGNOREHIDDENFILES或FOLLOWSYMLINKS子句,而不會出現任何解析錯誤。也許你會想要檢查這個聽衆或訪客... –