当前位置: 网站首页>小程序开发>网络推广

三河企业微信公众号小程序开发公司、三河企业网页设计方案、三河做网站开发价格、三河微信公众号制作运营报价明细表、三河网站设计公司费用、三河网站推广大概需要多少钱

发表日期: 2021-04-17 13:33:02 浏览次数:75

三河企业微信公众号小程序开发公司、三河企业网页设计方案、三河做网站开发价格、三河微信公众号制作运营报价明细表、三河网站设计公司费用、三河网站推广大概需要多少钱


三河古镇,古名鹊渚、鹊尾(渚)、鹊岸,是中国历史文化名镇,国家AAAAA级旅游景区,位于安徽省合肥市肥西县南端,地处肥西、庐江、舒城交界处,古镇总面积2.9平方公里。 [1-2] 

三河古镇原是巢湖中的高洲,因泥沙淤积,渐成陆地。南北朝后期称三汊河,明、清置三河镇。 [2] 

三河古镇有丰乐河、杭埠河、小南河在境内汇合,经新河向东流约15公里入巢湖。镇内有古城墙、古炮台、太平军指挥部旧址、英王府、一人巷、万年台、李府粮仓、鹤庐、刘同兴隆庄等历史遗迹,是庐剧的发源地,古镇有米饺、牛皮糖、酥糖、麦芽糖、茶干、米酒等特产。 [3] 

为表达对全体医护人员的敬意和感谢,自疫情结束恢复运营之日起至2020年12月31日,三河古镇景区所有收费景区将面向全国医护工作者实行免费游览政策。

无二义性为何很重要

为程序构建分析树的分析器是编译器的关键部分。如果描述编程语言的文法是二义的,而且如果其二义性未被消除,那么就至少有某些程序具有多棵分析树。而同一程序不同的分析树就为该程序赋予了不同的含义,其中这种情况下“含义”是指由原始程序翻译成的机器语言程序执行的操作。因此,如果与程序对应的文法是二义的,编译器就不能正确地决定该为某些程序使用哪棵分析树,所以就不能决定机器语言程序应该做些什么。出于这种原因,编译器必须使用无二义性的规范。

示例 11.7

这里用简略表示法来表示示例11.5中给出的表达式文法,并考虑表达式1-2+3。它具有两棵分析树,取决于是从左还从右组合运算符。这两棵分析树如图11-20a和图11-20b所示。

图11-20a中的树是从左起结合的,因此操作数是从左起分组的。这种分组是正确的,因为我们一般会从左起分组优先级相同的运算符,1-2+3习惯被解释为(1-2)+3,其值为2。如果我们为构建起图11-20a所示树的子树表示的表达式求值,就要首先在根节点的最左子节点处计算1-2=-1,然后在根节点计算-1+3=2。

另一方面,对从右侧起关联的图11-20b,会把该表达式分组为1-(2+3),其值为-4。不过,对该表达式的这种解释是不合规定的。值-4是在构建图11-20b的树时得到的,因为我们先在根节点的最右子节点处计算了2+3=5,然后在根节点处计算了1-5=-4。

从错误的方向结合优先级相等的运算符可能导致问题。而优先级不同的运算符也可能带来问题,正如我们在接下来的示例中要看到的,有可能在结合更高优先级的运算符之前先结合了低优先级的运算符。

图 11-20 对应表达式1-2+3的两棵分析树

示例 11.8

考虑表达式1+2*3。在图11-21a中,我们看到表达式是从左起分组的,这是不对的,而图11-21b所示的则是正确的从右边起的分组,这样乘法的操作数才在加法之前分组。前一种分组会得出不正确的值9,而后面的分组则会产生合乎规则的值7。

图 11-21 表示表达式1+2*3的两棵分析树

11.5.2 表示表达式的无二义文法

就像表示平衡括号串的文法(11.2)可以被视作文法(11.1)的无二义版本那样,也可以为示例11.5中的表达式文法构建一个无二义版本。“窍门”就是定义有着如下直觉含义的3个语法分类。

1. <因式>生成了不能被“提取出”的表达式,也就是说,因式要么是单个操作数,要么是加了括号的表达式。

2. <>生成了因式的积或商。单个因式是项,因此一列由*或/运算符分隔的因式也是项。1212/3<因式>*45都是项。

3. <表达式>生成了一项或多项的和或差。单个项就是个表达式,因此一列由+或-运算符分隔的项也是表达式。1212/3*4512+3*45-6都是表达式。

图11-22就是表示表达式、项和因式间关系的文法。我们用简写<E>、<T>和<F>分别代表<因式>、<>和<表达式>。

(1) <E> → <E> + <T> | <E> - <T> | <T>
(2) <T> → <T> * <F> | <T>/<F> | <F>
(3) <F> → (<E>) | <N>
(4) <N> → <N><D> | <D>
(5) <D> → 0 | 1 | … | 9

图 11-22 表示算术表达式的无二义文法

例如,第(1)行的3个产生式定义了表达式要么是较小的表达式后面跟上+或-以及另一项,要么是单独的项。如果将这些概念融为一体,那么该产生式是说,每个表达式都是项后面跟上0个或更多由一个+或-以及一项构成的配对。同样,第(2)行表示项是由较小的项后面跟上*或/以及因式构成的。也就是说,项是由因式后面跟上0个或更多由一个*或/加上一个因式组成的配对。第(3)行说的是因式或者是数字,或者是由括号包围的表达式。而第(4)行和第(5)行则像之前所做的那样定义了数字和数码。

之所以在第(1)行和第(2)行中使用了诸如

<E>→<E>+<T>

这样的产生式,而没有使用看似与之等价的<E>→<T>+<E>,就是为了强制这些项从左起分组。因此,我们看到像1-2+3这样的表达式会被正确地分组为(1-2)+3。同样,像1/2*3这样的项也能被正确地分组为(1/2)*3。图11-23展示了用图11-22中的文法表示表达式1-2+3的唯一分析树。请注意,1-2必须首先被组合为表达式。如果像图11-20b中那样先组成2+3,是没办法用图11-22所示的文法将1-附加到该表达式上的。

表达式、项和因式之间的区别使得处于不同优先级的运算符能被正确分组。例如,表达式1+2*3对应的分析树只有图11-24所示的那棵,它像图11-21b所示的树那样先组合了子表达式2*3,而不是像图11-21a所示的错误的树那样首先组合1+2


三河企业微信公众号小程序开发公司三河企业网页设计方案三河做网站开发价格、三河微信公众号制作运营报价明细表、三河网站设计公司费用、三河网站推广大概需要多少钱

400-111-6878
服务热线
顶部

备案号: 苏ICP备11067224号

CopyRight © 2011 书生商友信息科技 All Right Reserved

24小时服务热线:400-111-6878   E-MAIL:1120768800@qq.com   QQ:1120768800

  网址: https://www.768800.com  网站建设上往建站

关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|

企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|

400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 昌平殡葬| 朝阳殡葬|

预约专家

欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系

  

服务热线:400-111-6878