1
在ANTLR中,我們可以使用syntactic predicates來解決如下的某些問題。這只是一個簡單的例子。ANTLR語法謂詞JAVACC
a : (L K)=> b
| c
;
b : L K
;
c : L M
;
我想知道的是如何在JAVACC中實現同樣的事情?謝謝。
在ANTLR中,我們可以使用syntactic predicates來解決如下的某些問題。這只是一個簡單的例子。ANTLR語法謂詞JAVACC
a : (L K)=> b
| c
;
b : L K
;
c : L M
;
我想知道的是如何在JAVACC中實現同樣的事情?謝謝。
在javacc中有一個叫做SYNTACTIC LOOKAHEAD的概念。您可以使用它來實現相同的行爲。
舉一個例子,假設你的語法規則如下。 void Expr(): {} { Call()| VAR() }
如果你需要做的未知時代先行,那麼你可以像
void Expr():
{}
{
LOOKAHEAD(Call())
Call() | Var()
}
欲瞭解更多信息,請參閱http://javacc.java.net/doc/lookahead.html
謝謝。問題解決了。 – Bee 2012-03-03 18:57:14