编译原理课设

目标:passcal-S语言编译程序的设计与实现

主要阶段:

  • 需求分析
  • 总体设计(软件功能描述、功能模块划分、软件结构图、符号表结构设计、模块间接口定义)
  • 详细设计报告(模块功能、输入/输出、处理逻辑)、
  • 编码实现(源程序、可执行程序)
  • 测试报告(测试计划、测试用例、测试结构及分析)

功能模块部分

前端

词法分析
  • 参照:pascal-S语言语法图
  • 输入:原始pascal-S代码
  • 实现方式:
  • 输出:Tokens序列
语法分析
  • 参照:pascal-S语法规则(文法产生式)
  • 输入:Tokens序列
  • 实现方式:
  • 输出:抽象语法树(AST)
语义分析
  • 参照:pascal-S语法规则以及语义信息
  • 输入:AST
  • 实现方式:
  • 输出:中间代码

后端

代码生成
  • 参照:
  • 输入:中间代码
  • 实现方式:
  • 输出:
C语言编译
  • 参照:
  • 输入:翻译好的C语言源代码
  • 实现方式:调用系统上的C编译器
  • 输出:可执行文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值