好吧。這可能是一個簡單的問題。我試圖解析javadoc風格的評論。我怎樣才能表明相同的解析器規則可能被觸發零次或多次:ANTLR從零到多個同一個解析器規則的次數
doc_comment : '/**' (param_declaration)* '*/' ;
param_declaration : OUTERWS '@param' OUTERWS ID OUTERWS;
ID : ('a'..'z')+ ;
OUTERWS : ('\n' | '\r' | ' ' |'\t')*;
括在()*
的param_declaration
規則似乎並沒有工作,因爲它不是一個令牌。
我預計:
/**
@param one
@param two
*/
會工作。但相反,我得到:額外的輸入'@參數'期待{'* /'如果(param_declaration)*匹配零個或多個實例,這對我沒有意義。好像添加()*到param_declaration什麼都不做。無論哪種方式:
/**
@param one
*/
工作正常;有還是沒有 ()*。
以上是完整的語法。 – jcfolsom
它也不符合零param_definitions。它似乎只適用於一個 – jcfolsom
我更新了我的答案。 –