当前位置:网站首页>网站建设>网站推广

三河网络公司哪家好【三河企业网站百度SEO推广公司】三河做网站开发价格、三河淘宝店铺开店装修设计运营、公司网站制作方案流程改版维护费用、三河高端企业网站页面制作设计专业公司需要多少钱

发表日期: 2021-04-17 13:35:06 浏览次数:5

三河网络公司哪家好【三河企业网站百度SEO推广公司】三河做网站开发价格、三河淘宝店铺开店装修设计运营、公司网站制作方案流程改版维护费用、三河高端企业网站页面制作设计专业公司需要多少钱


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

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

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

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

就像之前提到的平衡括号串问题那样,我们没有证明图11-22所示的文法是无二义的。习题中包含了更多例子,应该有助于说服读者相信该文法不仅是无二义的,而且为各个表达式给出了正确的组合方式。我们还表述了该文法的思路如何扩展到更全面的表达式家族。

图 11-23 用图11-22中的无二义文法表示表达式1-2+3的分析树

图 11-24 用图11-22中的无二义文法表示表达式1+2*3的分析树

11.5.3 习题

1. 用图11-22所示的文法,为下列各表达式给出唯一的分析树。

(a) (1+2)/3

(b) 1*2-3

(c) (1+2)*(3+4)

2. * 图11-22所示文法的表达式有两级优先级,+-在第一级,而*/在更高的第二级。一般而言,我们可以利用k+1个语法分类处理具有k 个优先级的表达式。修改图11-22中的文法,使其包含乘方运算符^,它的优先级比*/更高。作为提示,大家要定义是操作数或带括号表达式的要素,并重新把因式定义为一个或多个要素由乘方运算符连接而成。请注意,乘方的组合是从右起而不是从左起的,也就是说,2^3^4表示的是2^(3^4),而不是(2^3)^4。我们该如何确保在要素中是从右起进行组合的?

3. * 扩展该无二义表达式文法,允许=<=等比较运算符,这些比较运算符都具有同样的优先级而且是左关联的,它们的优先级在+和-之下。

4. 扩展图11-22中的表达式文法,使其包含一元减号。请注意,这一运算符的优先级要比其他运算符的优先级更高,例如,-2*-3就被组合为(-2)*(-3)

5. 扩展习题3中得出的文法,已包含逻辑运算符&&||!。其中&&*有着相同优先级,而||的优先级与+相同,而!的优先级则比一元的-更高。&&||这两个二元运算符都是从左起组合的。

6. * 不是每个表达式按照11.2节图11-2所示的二义性文法都有一棵以上的分析树。给出一些根据该文法只有唯一分析树的表达式。大家能否给出一条规则,说明什么时候表达式会具有唯一的分析树?

7. 以下文法定义了只有01组成的字符串的集合(不含ε)。

<字符串>→<字符串><字符串> | 0 | 1

在该文法中,字符串010有几棵分析树?

8. 给出与习题7中文法具有相同语言的无二义文法。

9. * 文法(11.1)对空串来说有多少分析树?给出对应空串的3种不同的分析树。

11.6 分析树的构造

文法和正则表达式一样,都可以描述语言,但都不能直接给出算法来确定某字符串是否在所定义的语言中。对正则表达式来说,我们在第10章中已经了解到如何先把正则表达式转换成非确定自动机,接着转换成确定自动机,而这一确定自动机就可以直接实现为程序。

对文法来说,也存在多少有些相似的处理过程。一般来说,根本不可能把文法转换成确定自动机,在11.7节中我们会讨论一些可以进行这种转换的例子。不过,通常可以把文法转换成类似自动机的程序,从头至尾读取输入,并呈现该输入字符串是否在该文法的语言中的决策。这类技术中最重要的就是“LR分析”(LR代表从左至右扫描输入),但它不在本书要讨论的范围之内。

11.6.1 递归下降分析

这里要介绍的是一种更加简单但不那么强大的分析技术——“递归下降分析”,在这种分析中,文法会被一系列相互递归的函数替代,每个递归函数都对应文法中的一个语法分类。对应语法分类<S>的函数S 的目标是读入构成语言L(<S>)中字符串的字符序列,并返回指向该字符串分析树根节点的指针。

产生式的右部可以看作找到左部的语法分类中的字符串所必须满足的一系列目标——终结符和语法分类。例如,考虑表示平衡括号串的无二义文法,我们在图11-25中将其重现。

(1) <B> → ε
(2) <B> → ( <B> ) <B>

图 11-25 表示平衡括号串的文法

产生式(2)表述了弄清平衡括号串是否依次满足以下4个条件的一种方法。

1. 找到字符(

2. 然后找到平衡括号串;

3. 然后找到字符)

4. 最后找到另一个平衡括号串。

一般而言,如果发现某终结符是下一个输入符号,终结符的目标就得到满足了,但如果下一个输入符号是其他内容,这一目标就不会被满足了。要弄清右部中的语法分类是否得到满足,可以调用对应该语法分类的函数。

根据文法构建分析树的安排如图11-26所示。假设要确定某终结符序列X1X2Xn 是否为语法分类<S>中的字符串,而且如果是还要给出它的分析树。然后我们在输入文件中放入X1X2Xn ENDM,其中ENDM是一个不属于终结符的特殊符号。2ENDM叫作端记号(endmarker),它的作用是表示待检查的整个字符串已经被读入了。例如,在C语言程序中,通常会使用EOF或EOS字符作为端记号。

2在实际用于编程语言的编译器中,整个输入可能不是一次性放入一个文件中的,而是由每次检查源程序中一个字符的“词法分析器”这种预处理器一次找到一个终结符。

X1   X2  …  Xn  ENDM
 ↑
调用S

图 11-26 初始化在输入中发现<S>的程序

输入游标(input cursor)标记了要被处理的终结符,也就是当前的终结符。如果输入是字符串,那么游标可以是指向字符的指针。分析程序首先要调用对用语法分类<S>的函数S,而且输入游标是在输入的开头位置。

每当处理产生式右部,并在产生式中遇到终结符a的时候,就要在输入游标指示的位置查找相匹配的终结符a。如果找到a,就把输入游标移至输入中的下一个终结符。如果当前的终结符是a之外的内容,就是匹配失败,就不能为该输入字符串给出分析树。

另一方面,如果处理产生式右部并遇到了语法分类<T>,就要调用与<T>对应的函数T。如果T“失败”,那么整个分析也失败,而该输入就被视为不在待分析的语言中。如果T 成功,它就会“消灭”某一输入,把输入游标向前移动对应该输入的0个或更多位置。从T 被调用时的位置直到T 离开游标之前的位置都要被销毁。T 还会返回一棵树,就是与该被销毁输入对应的分析树。

当我们处理完产生式右部中的各个符号后,就要为该产生式表示的那部分输入生成分析树。要完成这一工作,就需要创建一个新的根节点,并以该产生式的左部作为其标号。该根节点的子节点是成功调用与右部中语法分类对应的函数所返回的树的根节点,而且要为右部中的每个终结符创建相应的叶子节点。

11.6.2 用于平衡括号串的递归下降分析器

现在来考虑一个扩展过的例子,看看如何为图11-25所示文法中的语法分类<B>设计递归函数B。在某个输入位置被调用的函数B,会销毁从那个位置开始的某个平衡括号串,并把输入光标留在紧临该平衡括号串之后的那个位置。

难点在于,要满足确定<B>这一目标,到底是使用可以立即成功的产生式(1),<B>→ε,还是使用产生式(2),也就是<B>→(<B>)<B>。而我们要遵循的策略是,只要下一个终结符为(,就使用产生式(2),只要下一个终结符是)或是端记号,就使用产生式(1)。

函数B如图11-27b所示,在它之前的图11-27a中是一些重要的辅助要素,这些元素包括以下几点。

1. 常量FAILED被定义为函数B 没能在输入中找到平衡括号串时的返回值。FAILED的值与NULL相同。后者的值也表示一棵空树。不过,如果B成功的话,它返回的分析树不会为空,所以FAILED的这一定义是不可能有二义性的。


三河网络公司哪家好三河企业网站百度SEO推广公司三河做网站开发价格、三河淘宝店铺开店装修设计运营、公司网站制作方案流程改版维护费用、三河高端企业网站页面制作设计专业公司需要多少钱

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

下一页:三河网站制作要多少钱【域名企业邮箱服务器注册申请办理】三河网络优化公司哪家好、三河软件开发外包价格、三河高端企业网站页面制作设计专业公司、三河微信公众号小程序购物支付搭建制作公司

想要建网站,请留言,我们的工作人员将尽快与您联系!
  
400-111-6878

备案号: 苏ICP备11067224号-4

CopyRight © 2005-2020 上往建站 All Right Reserved 未经许可不得复制转载

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

  网址: https://www.768800.com

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

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

预约专家

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

  

全国服务热线:400-111-6878