【问题标题】:Operators in Lexical Analysis词法分析中的运算符
【发布时间】:2013-01-11 16:19:26
【问题描述】:

我正在修改编译器上的一些东西以进行 uni 考试,我想知道操作员令牌的 ID 是什么?比如……

float position, initial, rate;
position = initial += rate * 60

令牌,类型; 职位,身份证; =, =; 初始,ID; +=, ??? (这是什么类型); 费率,身份证; *, *; 60, 数;

【问题讨论】:

    标签: token lexical-analysis


    【解决方案1】:

    你确定 += 不是 += 吗?我认为它应该是一个标准定义的运算符,就像 + 或 = 一样。

    MSDN article 表示编译器应该选择可能的最长标记(从左到右读取),因此您的编译器不应将 i+=5 混淆为两个运算符。他们给出的例子是 i+++j == (i++) + j。

    【讨论】:

    • 我认为类型确实是'+=',但是我不确定他们是否会有一个伞类型,不像'='本身的分配。感谢 MSDN 链接,大概所有的词法分析器都会生成尽可能长的“单词”,而不仅仅是 C++?
    • 大概;我远不是这方面的专家。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    • 2012-03-21
    • 2021-10-12
    • 1970-01-01
    相关资源
    最近更新 更多