1 / 24
文档名称:

学习心得.doc

格式:doc   大小:134KB   页数:24页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

学习心得.doc

上传人:npanei12 2018/1/6 文件大小:134 KB

下载得到文件列表

学习心得.doc

相关文档

文档介绍

文档介绍:简介:是一个词法分析生成器和语法分析生成器。词法分析和语法分析是处理输入字符序列的软件构件,编译器和解释器协同词法分析和语法分析来“解密”程序文件,不仅如此,词法分析和语法分析有更广泛的用途,我希望在本书列举的例子中能阐明这一点。
那么什么是词法分析器和语法分析呢?词法分析器可以将字符串解析为一个一个的标识符(Token),并且可以把这些标识符归类。看一段C语言代码:
int main() {
return 0 ;
}
C语言的词法分析器会把这段代码分解为如下的一些标识符:
“int”, “”, “main”, “(”, “)”,“”, “{”, “\n”,“\t”,
“return”“”, “0”, “”, “;”, “\n”,“}”, “\n”, “”。
还会把这些标识符归类,在我们的例子中,这些标识符的类别为:
KWINT, SPACE, ID, OPAR, CPAR,
SPACE, OBRACE, SPACE, SPACE, KWRETURN,
SPACE, OCTALCONST, SPACE, SEMICOLON, SPACE,
CBRACE, SPACE, EOF。
其中EOF类别的标识符代表源文件的结束。这些标识符出传送给语法分析器。在C语言中,语法分析不需要所有的这些类别,在本例中SPACE类别的标识符不传送给语法分析器。语法分析器会分析这些标识符,判断程序的结构。在许多编译程序中,语法分析器用语法树来表示程序的结构。编译器通过这棵树来产生代码。看一个表达式:
fahrenheit = + * celcius / ;
语法分析器基于语言规则分析这个表达式产生一棵树:
DIAGRAM TBD(表示作者未完成)
如果输入没有语言的词法或语法,词法分析器或语法分析器都能产生错误信息。
并不是一个词法分析器或者语法分析器,它只是一个生成器。就是说,它读取文本后,基于一定的规则产生词法分析器和语法分析器的Java代码。见图:
DIAGRAM TBD
词法分析和语法分析变的越来越复杂,软件工程师直接用Java进行词法分析和语法分析时必须要充分考虑各规则间的相互作用。例如,在对 C语言的词法分析中,处理整型常量和浮点常量的代码是不能分开的,因为浮点数和整数的前面部分是一样的。语法分析产生器,对整型常量和浮点常量是可以区分的,它们的共同点可在代码生成过程中提取出来。文件比直接的Java程序更容易写,更容易读,也更容易修改。语法分析生成器的使用,软件工程师可以节省大量的时间,并且软件的质量也更高。
有三个工具:
用来处理语法文件(jj)生成解析代码;
jjTree 用来处理jjt文件,生成树节点代码和jj文件,生成解析代码;
jjDoc 根据jj文件生成bnf范式文档(html)。这三个工具都十分重要,分别贯穿着编写时的过程。
其中具体阐述一下jjTree方面(查考资料),JJTree定义了Java接口节点,所有分析树节点都必须执行。该接口提供的方法操作,如母公司设置的节点,新增的儿童和检索它们。
JJTree经营有两种模式,简单的和多(由于缺乏更好的条件) 。在简单模式剖析每个树节点的具体类型SimpleNode ;在多模式的类型分析树节点是源自名称节点。如果您没有提供实现的节点班JJTree将产生样本的基础上实现SimpleNode你。然后,您就可以修改,以适应实施。
是一个自上而下分析器, JJTree构造解析树自下而上。要做到这一点它使用堆栈的地方后,把他们的节点已经建立。当它发现了他们父母,它的持久性有机污染物的儿童从堆栈,并增加了他们的父母,并最终推动新的父节点本身。堆栈是开放的,这意味着你有机会获得它从语法行动:你可以推,流行和其他操纵其内容但是你觉得合适的。见节点范围和使用者的动作,下面的更重要的信息。
JJTree提供装饰两个基本品种的节点,和一些语法速记,使它们的使用便利
的安装过程,
安装jdk,安装完成后设置环境变量PATH路径。(这个不用多说了吧,学过java的人早已会)
2.,直接在其官方网站上下载,地址https://.dev.。-,就更方便了。
3.-,将其bin目录设置为环境变量PATH路径。
,的解压目录,然后进入其examples\MailProcessing目录。按照readme上面的指示运行:


javac *.java
java Digest < sampleMailFile > digestFile
java Faq < sampleMailFile>

最近更新

恶性淋巴瘤血栓形成的临床特点与预后分析的开.. 2页

2024年幼儿园的中班教学计划15篇 71页

心率震荡及其在糖尿病中的应用的开题报告 2页

微纳热功能粉体材料传热及蓄热特性研究的开题.. 2页

小学生周记优秀(32篇) 25页

小学生消防演练方案范文(3篇) 11页

2024年事业单位招聘考试福建省莆田市职业能力.. 23页

小学语文听课记录【3篇】 5页

微机电安全与解除保险机构驱动器设计的开题报.. 2页

2024年幼儿园新年喜洋洋课后总结范文(通用12.. 18页

2024年事业单位招聘考试湖北省荆州市职业能力.. 21页

微创延迟反流轴型皮瓣的实验研究的开题报告 2页

徘徊于新旧之间--中国近代学术思想史上的沈曾.. 2页

2024年事业单位招聘考试湖南省岳阳市职业能力.. 23页

径向止推气体轴承承载力特性研究的开题报告 2页

幼儿园说课稿 50页

2024年幼儿园教师辞职信申请 18页

家政保姆雇佣合同 8页

开发年终总结7篇 36页

2024年幼儿园教师离职申请书汇编11篇 15页

2024年幼儿园教师的年度总结 44页

家庭聚会祝酒词大全 1 7页

电镀黑铬工艺 10页

电镀六价铬讲议 10页

中考历史非选择题答题技巧 4页

温康纳自动贴面生产线作业指导书 15页

计算机桌面运维技术服务方案 32页

ESC基础培训20100811-1 64页

《博微电力工程经济评价软件使用手册》 38页

不锈钢雨棚制作和安装施工合同3 6页