您好、欢迎来到现金彩票网!
当前位置:2019欢乐棋牌 > 指称语义 >

33110 if-then-else的无歧义文法

发布时间:2019-06-15 22:39 来源:未知 编辑:admin

  《编程语言原理(第10版)》第3章描述语法和语义,本章包括以下主题:首先定义语法和语义这两个术语;然后详细介绍描述语法最常用的方法-上下文无关文法(也称为巴科斯-诺尔范式,Backus-Naur Form),介绍的内容包括推导、语法分析树、歧义、运算符优先级和结合性,以及扩展的巴科斯-诺尔范式;随后介绍属性文法,它可用于描述程序设计语言的语法和静态语义;最后介绍描述语义的三种形式化方法-操作语义、公理语义和指称语义。本节为大家介绍if-then-else的无歧义文法。

  如果还有语句 if语句,这个文法就是有歧义的。说明这种歧义的最简单句型是

  问题是,如果用图3-5顶部的语法分析树作为翻译的基础,那么else子句在done非真时执行,这很可能不是这一语言结构的作者的本意。第8章将研究与这种else结合问题有关的实际问题。

  现在来设计描述这个if语句的无歧义文法。在许多语言中,if结构的规则是:如果有else子句,它就与前面最近的一个没有匹配的then相匹配。因此在then和匹配的else中间不可能存在没有else的if语句。因此对于这种情况,必须区别匹配的和不匹配的if语句,没有else的if语句就是不匹配的,所有其他语句则是匹配的。前述文法的问题在于它认为所有语句都有相同的语法重要性,也就是说所有语句都是匹配的。

  为了表示不同类型的语句,必须使用不同的抽象(或非终结符)。基于这一想法的无歧义文法如下所示:

http://acetechpng.com/zhichenyuyi/33.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有