1
我目前正在使用yecc編寫erlang中的一個小解析器,並且遇到了一些問題。當我用「lbrack」解析規則時會出現問題。下面的規則 是我的問題的說明:yecc語法問題
program -> 'char' 'ident' 'lbrack' 'int_constant' 'rbrack' 'semi'
它編譯好了,但是當我試圖解析以下令牌:與
{error,
{1,parser,["syntax error before: ","lbrack"]}}}
[{char,1},
{ident,1,1,t},
{lbrack,1},
{int_constant,1,10},
{rbrack,1},
{semi,1}]
解析器崩潰
謝謝!我不知道我的其他規則是否會受到干擾,但是當我將'lbrack'重命名爲'['(在詞法分析器和我的yecc語法中)它都起作用了。 – Burbas 2011-06-12 11:23:10
這應該沒有什麼區別,因爲yecc檢測到規則之間的干擾並且不允許它。不容許歧義。 – rvirding 2011-06-13 23:00:42