admin 管理员组

文章数量: 1184232


2024年3月22日发(作者:sql升序和降序怎么一起用)

用c语言做毕业设计

【篇一:c语言编译器实现毕业设计】

编译原理课程设计

题 目 c语言编译器实现

计算机科学学院计算机科学与技术专业10 级 计本 班

学 号: 姓 名: 指导教师:

完成时间: 2013 年 6 月

目录

c语言编译器实现

一、 原理

1、简介

编译程序的工作过程一般可以分为

五个阶段:词法分析、语法分析、语义分析与中间代码产生、优化、目标代码生成。每一

个阶段在功能上是相对独立的,它一方面从上一个阶段获取分析的结果来进行分析,另一方面

由将结果传递给下一个阶段。由编译程序的五个阶段就对应了编译系统的结构。

2、单词符号及种别表示

3、语法结构定义如下:

程序 ::= main()语句块 语句块 ::= ‘{‘语句串’}’ 语句串::=语句{;语句};

语句::=赋值语句|条件语句|循环语句 赋值语句::=id=表达式条件语句::=if条件语句块循环

语句::=do 语句块while 条件 条件::=表达式关系运算符表达式 表达式 ::= 项{ +项|-项} 项 ::=

因子{*因子|/因子} 因子 ::=id|num|(表达式) 关系运算符 ::= |=||=|==|!

二、运行环境

windows 系统 visual c++ 6.0

三、 算法设计思想

1、词法分析主要算法

这部分对源文件进行分析,允许/* */注释。从源文件依次读取字符,对字符进行分析,组

成字符串、数字、关系符等固定含义的token符,并把它们添加到token链中,如果遇到非法

字符报错并退出程序。 2、语法分析主要算法

这部分对token链进行分析,利用自底向上的分析方法,构建slr(1)分析表的过程是手

工完成的。语法分析的同时构建语法树,移进时创建叶子,规约时创建节点。 3、语义分析主


本文标签: 分析 阶段 字符 进行 语句