字体
关灯
   存书签 书架管理 返回目录
点……走得太远了?
    但真正让他感到不安的,是接下来的一个章节。
    “第四章:语句结构。第四点三节:表达式语句。本语言允许将一个独立的表达式,作为一个完整的语句。例如,A + B;本身就是一句合法的语句,尽管它可能没有实际意义……”
    “什么?!”
    黄建功失声叫了出来。
    一个独立的表达式,也能算一个语句?
    那A + B;和A = A + B;,编译器该如何区分?
    这……这不是在给编译器,制造混乱吗?
    “黄老,怎么了?”旁边的人,好奇地问道。
    黄建功没有回答,他的脸色,变得无比凝重。
    他有种非常不好的预感。
    他翻到了最后一章,附录。
    “附录A:关于IF语句的说明。本语言的IF语句,可以省略THEN关键字。例如,IF A > B PRINT "A更大"是合法的。”
    “附录B:关于函数调用的说明。本语言的函数调用,可以省略括号。例如,PRINT "你好"等价于PRINT("你好")。”
    “附录C……”
    黄建功越看,手心越是冰冷。
    他终于明白,问题出在哪里了。
    钱学敏他们,这群搞理论的,为了追求所谓的“人性化”和“灵活性”,在语言里,加入了太多太多,模棱两可的,有歧义的语法!
    在人看来,PRINT "你好"和PRINT("你好"),意思是一样的。
    IF A > B PRINT "A更大"和IF A > B THEN PRINT "A更大",意思也是一样的。
    人类的大脑,可以很轻松地,根据上下文,理解其中的含义。
    但是,机器不行!
    机器是死板的!
    它的“语法分析器”,在解析IF A > B PRINT "A更大"这句代码时,会遇到一个致命的问题。
    当它读到IF A > B之后,它期望下一个读到的,是一个明确的THEN关键字。
    但是,它读到的,却是一个PRINT。
    这个时候,它就“懵”了。
    它不知道,这个PRINT,是属于IF语句的一部分呢

关闭+畅/阅读=模式,看最新完整内容。本章未完,请点击下一页继续阅读》》
上一页 目录 下一页