Ruby错误消息通常包含带有单字母前缀的词法常量,例如:
语法错误,意外的tIDENTIFIER,期待kEND
t
和k
来自哪里?还有其他信件吗?可能的关键字的主列表?
答案 0 :(得分:8)
对于这样的问题,parse.y通常是值得关注的地方。如果内存服务,'t'代表令牌,而'k'代表关键字。
这是表示标识符的不同标记(就其他事物的名称而言):
%token <id> tIDENTIFIER tFID tGVAR tIVAR tCONSTANT tCVAR tLABEL
我通过快速搜索找到kEND
的唯一定义是k_end
:
k_end : keyword_end
{
token_info_pop("end");
}
;