6

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

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

t和从哪里来k?还有其他字母吗?可能的关键字的主列表?

4

1 回答 1

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");
        }
        ;
于 2012-08-06T21:40:21.500 回答