当前位置: 首页 > news >正文

免费网站建设价格天津百度整站优化服务

免费网站建设价格,天津百度整站优化服务,网站建设广州公司哪家好,什么软件可以做网站html第二部分的作业是语法分析,通过编写cool.y(这个assignment的任务),利用bison将其自动生成语法分析LALR(1)的代码。 语法分析,就是将词法分析阶段已经识别好的token,按照语法的规则,构建抽象语法树的过程。 比如以下的…

第二部分的作业是语法分析,通过编写cool.y(这个assignment的任务),利用bison将其自动生成语法分析LALR(1)的代码。

语法分析,就是将词法分析阶段已经识别好的token,按照语法的规则,构建抽象语法树的过程。

比如以下的代码:

x = (a + b) * (c - d);

可以构成下图的抽象语法树:

    =/ \x   */ \+   -/ \ / \a  b c  d

具体在cool.y 中,

在这里插入图片描述
这部分定义了非终结符non-terminal对应的semantic value. Union中的每一个field都可以是parsing动作的结果。

在stanford compiler的教学语言cool中,这就对应了AST的一个node。每一个non-terminal,都有其对应的semantic value。

左侧的各种类型在cool-tree.aps中都有对应定义,比如Features:

在这里插入图片描述

Feature即为class中的成员函数或者成员变量。因为可以有多个Feature,所以存在Features,即LIST[Feature].

下面则具体定义了所有的非终结符对应的AST节点类型。<>内部的,比如classes是在union中定义的value,而右侧的,比如class_list,我们需要定义规约该非终结符时,需要进行的操作。

在这里插入图片描述

在这里插入图片描述
上图中$$即为action的返回值,对应该抽象语法树AST对应的node。

具体看识别类的声明,class的规则:

1) CLASS TYPEID ‘{’ feature_list ‘}’ ‘;’
其动作:$$ = class_($2, idtable.add_string(“Object”), $4, stringtable.add_string(curr_filename))
对应cool-tree.aps中的:

在这里插入图片描述

传给class_的参数即为1)类名称,2)父类名称 3)成员变量/成员函数 4)文件名
起对应的位置如类名称即为 TYPEID,对应$2, feature_list对应$4,因此其动作action写成了如上图所示的样子。
2) CLASS TYPEID INHERITS TYPEID ‘{’ feature_list ‘}’ ‘;’
这里唯一不同的即为该类继承自父类,因此其第2个参数,父类名称传入了$4。具体的序号可以参考第205行的注释。

在这里插入图片描述

http://www.hkea.cn/news/729531/

相关文章:

  • 互联网有哪些岗位宁波免费seo在线优化
  • 惠州做棋牌网站建设哪家技术好哪里的网络推广培训好
  • 如何做线上赌博的网站推广策略有哪些方法
  • 男的女的做那个视频网站百度收录需要多久
  • 大通县wap网站建设公司网站免费制作
  • 哪个网站教做公众号甘肃百度推广电话
  • 网站怎么让百度收录广告网络推广
  • 小型网站设计及建设论文定制网站制作公司
  • 视频网站建设费用排名优化网站seo排名
  • 怎么自己做网站服务器linux百度账号查询
  • 梧州网站推广方案百度热搜 百度指数
  • 网站不兼容ie6自助建站模板
  • 甘肃网站建设公司百中搜优化软件
  • 国内外贸网站建设公司seo教程 百度网盘
  • 一物一码二维码生成系统最好用的系统优化软件
  • 如何在大网站做外链镇江网站建站
  • 杭州网站建设公司导航短视频营销案例
  • 昆明做网站建设有哪些长尾关键词排名工具
  • 一女被多男做的视频网站网站seo系统
  • 网站建设 青海网站建设找哪家好
  • win7 网站配置优化方案官网电子版
  • 广州seo优化公司排名浙江seo博客
  • 全网推广的方式有哪些抖音seo推荐算法
  • 网站开发开源架构抖音营销软件
  • 自己做的网站能放到网上么青岛seo经理
  • 营业推广策划方案邵阳网站seo
  • 手机网站横向切换kol合作推广
  • 专门做超市海报的网站宁波seo咨询
  • 仿网站上的焦点图在线看seo网站
  • 做网站的业务员艾滋病阻断药有哪些