教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

编译原理课程设计说明书(5)

来源:网络收集 时间:2026-08-23
导读: 山东科技大学学生课程设计 im[j].word = program[i]; im[j].style = 4; j++; i++; } } } else if (program[i] == '+' || program[i] == '-' || program[i] == '/'||program[i] == '/' || program[i] == '=' ) { if

山东科技大学学生课程设计

im[j].word = program[i]; im[j].style = 4; j++; i++; }

} }

else if (program[i] == '+' || program[i] == '-' || program[i] ==

'/'||program[i] == '/' || program[i] == '=' )

{

if (j == 0) {

im[0].word = program[i]; im[0].style = 4; i++; j++; } else {

j++;

im[j].word = program[i]; im[j].style = 4; j++; i++; } }

/***********************分隔符****************/

else if (program[i] == ';' || program[i] == ',' || program[i] == '(' ||

program[i] == ')' || program[i] == '{'||program[i] == '}'||program[i] == '['||program[i] == '[')

{

if (j == 0) {

im[0].word = program[i]; im[0].style = 5; i++;

12

山东科技大学学生课程设计

j++; } else {

j++;

im[j].word = program[i]; im[j].style = 5; j++; i++; } }

}//endwhile //输出 #region

for (j = 0; j < 100; j++) {

if (im[j].word != null && im[j].word!=\ {

Output_textBox.Text += \

Output_textBox.Text += im[j].style; Output_textBox.Text += \ Output_textBox.Text += \

Output_textBox.Text += im[j].word; Output_textBox.Text += \ Output_textBox.Text += \ Output_textBox.Text += \ } } }

#endregion

四、运行结果及分析

13

山东科技大学学生课程设计

程序界面:

运行结果:

14

山东科技大学学生课程设计

五、总结

通过这次实验,我对编译原理这门专业必修课有了进一步的深层次了解,把理论知识应用于实验中,也让我熟悉了C#语言的相关内容,加深了对C#语言知识的深化和用途的理解。相信在以后的学习工作中会有更大的提升。

15

山东科技大学学生课程设计

实验二 Lex词法分析

一、实验目的

通过编写并上机调试一个词法分析程序,掌握在对程序设计语言的源程序进行扫描的过程中,将其分解成各类单词的词法分析方法。

二、实验要求

要求将用模拟语言书写的源程序进行词法分析,输出源程序清单,Token文件和错误信息文件,若有错误,必须输出错误在源程序中行号和列号,并将符号表和字符串以文件的形式写出来。

三、实验步骤

1、按照lex-yacc使用说明安装并配置相关软件(bison和flex安装在C:/test目录下);

2、在C:/test目录下建立a.c文件,并用文本编辑器输入源程序; 3、将cmd切换到C:/test目录下,运行bison,生成lex.yy.c文件; 4、用codeBlocks打开lex.yy.c文件,创建并运行,得出结果。

四、运行结果

1、运行bison,生成lex.yy.c文件:

16

山东科技大学学生课程设计

2、用codeBlocks运行lex.yy.c:

源程序为: void main() {

int a, b; a = 10; b = a + 20;

printf(\ }

五、总结

通过本次实验,使我对lex工具的具体使用有了一定的了解,熟悉了parser generator工具环境变量的配置,明白了lex里的三个部分的具体功能,了解了怎么在lex工具里定义正则表达式,对正则表达式的了解进一步加深,在实验的同时,增强了自己的动手能力。

17

编译原理课程设计说明书(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/595602.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)