2012-08-04 35 views
0

我正在編寫一個Python編譯器,它的目標是將mythryl翻譯成neko。解析:爲什麼我定義的規則不匹配?

事情解析時,這樣的代碼:

fun not 1 => 0; 
    not 0 => 1; 
end; 

這個例子是:https://github.com/narke/my2neko/blob/master/test_cases/ex1.my

解析器不匹配它適用於保留字「樂趣」的規則,由FUN_T代表當然規則存在,最後的一個:

def p_declaration(p): 
'''declaration : MY_T vb 
    | dot_exp ARROW pattern 
    | FIELD_T MY_T fields 
    | RECURSIVE_T MY_T rvb 
    | FUN_T fun_decls 

解析器是:https://github.com/narke/my2neko/blob/master/my2neko.py

我得到的錯誤是這樣的:

State : 0 
Illegal character 'f' 
Illegal character 'u' 
Illegal character 'n' 
Illegal character 'i' 
Illegal character 'n' 
Stack : . LexToken(LOWERCASE_ID,'c',1,6) 
Action : Shift and goto state 80 

重現它:./my2neko.py test_cases/ex4.my f.neko

能否請你指出我什麼,我錯過了什麼? 在此先感謝。

下面是該項目:https://github.com/narke/my2neko

回答

相關問題