正在加载图片...
5、开发Lex和Yacc程序的一般步骤 摘要 经过前面章节的准备 到目前为止一个完整的C+应用框架已经完整的搭建 起来了。现在的事情就是考虑如何利用这个框架来实现自己的目的功能程序了 在这一章并不涉及到实际的开发而是先学习一下简单的理论知识。本章将会根 据我的个人开发经验来说明一下开发Lex和Yacc程序的一般开发步骤,这里的 内容也会随着后续的开发逐渐的完善起来,当在后续的开发中遇到不明白的地 方可以回到这一章来看一看,也许就明白了:) 1.一般步骤 就我在开发Lex和Yacc程序的经验来说,如果要解析一个文件,那么必须经 过下面的步骤才能够写出正确的语法分析文件和词法分析文件: .将被解析的文本进行分类。 2 由分类构成 将类及子类分解为标记 4.完成了上面的所有步骤之后,我们就已经将被解析文本分解成功了,剩下 的事情就是为保存这些分解出来的信息而准备好一个树形数据结构,在 这个时候使用C+的优势就显现出来了,我们可以借用STL里面的很多 容器和算法的 2.第一步:将被解析的文本分类 将被解析的文本进行分类,实际上是一件非常重要的事情,分类的好坏直接 影响到了后续的开发,分类分的好能够使得保存信息的数据结构简单明了和高 效,但是如果分得不好,可能导致冗余数据结构,大量得冗余信息以及需要全 部修改代码。 先举个实际的何 子吧:C/C+ 原代码。怎样把C/C+源代码中的语法元素用最 少并且能够保存全部信息的数据结构来表示,这本身就是一种挑战。在CC 的发展历程中也经历过大大小小的变动,这说明要想对C/C+源代码中的语法 元素进行分类是一件非常烦杂的事情,不过对于我们来说,这些语法元素已经 存在了好多年了,我们不需要从来开始,而是可以直接利用已经存在的知识来 加快我们的开发 C/C+的源代码中的每一个语法元素可以作为 一个 分类,例如:关键字、预处理 宏、函数、变量、语句、结构体、类、联合体等等。 5、开发 Lex 和 Yacc 程序的一般步骤 摘要 经过前面章节的准备,到目前为止一个完整的 C++应用框架已经完整的搭建 起来了。现在的事情就是考虑如何利用这个框架来实现自己的目的功能程 序了。 在这一章并不涉及到实际的开发而是先学习一下简单的理论知识。 本章将会根 据我的个人开发经验来说明一下开发 Lex 和 Yacc 程序的一般开发 步骤,这里的 内容也会随着后续的开发逐渐的完善起来,当在后续的开发 中遇到不明白的地 方可以回到这一章来看一看,也许就明白了:) 1. 一般步骤 就我在开发 Lex 和 Yacc 程序的经验来说,如果要解析一个文件,那么必须经 过 下面的步骤才能够写出正确的语法分析文件和词法分析文件: 1. 将被解析的文本进行分类。 2. 由分类构成 program。 3. 将类及子类分解为标记。 4. 完成了上面的所有步骤之后,我们就已经将被解析文本分解成功了,剩下 的 事情就是为保存这些分解出来的信息而准备好一个树形数据结构,在 这个时 候使用 C++的优势就显现出来了,我们可以借用 STL 里面的很多 容器和算法的 。 2. 第一步:将被解析的文本分类 将被解析的文本进行分类,实际上是一件非常重要的事情,分类的好坏直接 影响 到了后续的开发,分类分的好能够使得保存信息的数据结构简单明了和高 效,但 是如果分得不好,可能导致冗余数据结构,大量得冗余信息以及需要全 部修改代 码。 先举个实际的例子吧:C/C++源代码。怎样把 C/C++源代码中的语法元素用最 少并 且能够保存全部信息的数据结构来表示,这本身就是一种挑战。在 C/C++ 的发展历 程中也经历过大大小小的变动,这说明要想对 C/C++源代码中的语法 元素进行分类 是一件非常烦杂的事情,不过对于我们来说,这些语法元素已经 存在了好多年了, 我们不需要从来开始,而是可以直接利用已经存在的知识来 加快我们的开发。 C/C++的源代码中的每一个语法元素可以作为一个分类,例如:关键字、预处理 宏 、函数、变量、语句、结构体、类、联合体等等
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有