没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
编译原理
课程设计报告
题目名称
语法高亮转换软件
班 级
学 号
姓 名
编写时间
2
1. 课程设计题目名称
语法高亮转换软件
2. 课程设计任务目的与任务
在我们使用的集成化编译环境(IDE)中,C++语言的源代码通常使用高亮语法表示,
但是如果我们将这段代码发布到网页中,它的高亮语法表示将消失,这样看起来非常不直
观,我们希望在网页中代码仍然能保持原来的高亮语法表示,以方便源程序的可读性,可
修改性。
要求输入一个 cpp 源文件,输出 html 格式的代码,用 IE 浏览器打开后可以高亮显示关
键字,注释,预定义头文件等等。
3. 设计思想和实现方法
A. 设计思想
我们需要一个程序,逐个的读入输入的 cpp 文件,把读入的字符进行一次词法分析,生
产词法记号流,以便后面的对关键字等的识别工作,然后再对源程序文件进行转换,
对应的记号输出对应的 html 语言。
B.实现方法
在本次设计中,我们使用 gun 公司编写的 flex 软件进行词法分析的工作,Lex 编译器是
一种基于正规式的描述来构造的词法分析器,它广泛用于描述各种语言的词法分析器。使
用 gcc 对 flex 生成的源程序进行编译,最终可以生成我们所需要的转换软件。
源程序的格式需要被保留,例如程序里的缩进和换行,都是集成化编译环境为了方便
阅读而自动生成的格式,所以当这些发布到网页中的时候,我们也需要保留这些,因此在
进行 html 化的翻译前,需要先对 cpp 文件进行一次预处理,生成 html 中的标记。
例如:” ”空格是 &nbps; “<” 小于号是 < \t 是需要生成足够的空格
这样处理过的 cpp 文件.里面的特殊字符都被转译,成为 IE 浏览器可识别的 html 字符。
下一步,利用 html 语言对预处理过的 cpp 文件再进行一次 html 语言的转译,这次需要
之前所提及的词法分析,碰到特定的关键字生成特定的 html 代码,以产生高亮显示效果。
例如:当分析程序遇到 int 关键字的时候 应该输出浅蓝色的关键字标识。当遇到//注释的时
3
剩余11页未读,继续阅读
资源评论
- ethan8912052012-03-08这绝对是好东西 可惜是dos的
mys375426919
- 粉丝: 6
- 资源: 46
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功