c语言中scanner函数是啥意思,编译原理课程设计报告--C-语言编译器设计(scanner和parser).doc...

本文档是一份关于C-语言编译器设计的课程设计报告,涵盖了Scanner和Parser两部分。Scanner负责扫描源代码,识别关键字、变量等;Parser则进行语法分析,生成语法树。报告详细描述了Scanner的DFA图和Parser的BNF规则,并展示了程序的文件结构和部分源代码实现。
摘要由CSDN通过智能技术生成

编译原理课程设计报告

课题名称: C-语言编译器设计(scanner和parser)

提交文档学生姓名:

提交文档学生学号:

同组 成 员 名 单: 无

指导 教 师 姓 名: 金军

指导教师评阅成绩:

指导教师评阅意见:

.

.

提交报告时间: 2011年 6 月 17 日

课程设计目标

设计C-Minus编译器分为scanner和parser两个部分。scanner主要作用是对目标代码进行扫描,列出关键字,变量等内容;parser主要对语法进行分析并生成语法树。

分析与设计

实现方法:代码用C语言编译而成。其中scanner为手工实现,主要采用switch-case结构实现状态转换;parser部分采用递归下降分析方法实现。

扫描器:C-的词法如下:

1、语言的关键字:if else int return void while

2、专用符号:+ - * / < <= > >= == != = ; , ( ) [ ] { } /* */

3、其他标记是变量(ID)和数字(NUM),通过下列正则表达式定义:

ID = letter letter* NUM = digit digit* letter = a|..|z|A|..|Z digit = 0|..|9

4、空格由空白、换行符和制表符组成。空格通常被忽略,除了它必须分开ID、NUM关键字</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值