C陷阱与缺陷 第一章

来源:互联网 发布:发票系统网络连接失败 编辑:程序博客网 时间:2024/04/29 19:18

第一章 词法“陷阱”
这一章主要讲述代码被词法分析器分解成各个符号可能会出现的问题

词法分析器的策略是“贪心法”,“如果(编译器的)输入流截止至某个字符之前都已经被分解为一个个符号,那么下一个符号将包括从该字符之后可能组成一个符号的最长字符串。”

a=10;

等价于:

a

=

10

;

而第二种情况词法分析器可以很容易的阅读,而不用再逐步分析,这也是说明了规范代码往往把

a=10;

写成:

a(空格)=(空格)10;

的原因吧。

针对词法分析器的贪心法,有几个例子:

a+++b;

将被解析为:

a++  +b;

a+++++b;

将被解析为:

a++  +  ++b(涉及到自增运算符的求值顺序)

原创粉丝点击