Ruby错误消息中的单字母前缀是什么意思?

时间:2012-08-06 21:24:11

标签: ruby

Ruby错误消息通常包含带有单字母前缀的词法常量,例如:

  

语法错误,意外的tIDENTIFIER,期待kEND

tk来自哪里?还有其他信件吗?可能的关键字的主列表?

1 个答案:

答案 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");
        }
        ;