我正在用python编写一个带有PLY的反编译器,旨在将mythryl翻译成neko。
问题是在解析代码时:
fun not 1 => 0;
not 0 => 1;
end;
此示例位于:https ://github.com/narke/my2neko/blob/master/test_cases/ex1.my
解析器不匹配适用于保留字'fun'的规则,由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
你能指出我错过了什么吗?提前致谢。