当前位置: 首页 > 图文教程 > 开发语言 > VC++ > C-编译器的设计

VC++
几个数字信号处理算法程序
简易软盘镜像工具的实现及操作系统编写初步
教你使用正则表达式
C++ 扩展和嵌入 Python
拷贝构造和赋值操作符,C#和本机 C++ 代码的互用性
精通VC与Matlab联合编程(六)
精通VC与Matlab联合编程(五)
一个排序用的C++函数模板
浅析VC与MATLAB联合编程
C++编译器如何实现异常处理
文件重定义冲突的分析与解决
一步一步实现MFC扩展DLL中导出类和对话框
C宏:智者的利刃,愚者的恶梦!
引用的作用
《UTF-8与GB2312之间的互换》的改进
程序风格的要素-C++风格指南
VC+6.0实现文本串的自由拆分
怎样给串行化类分配版本号(可配置版本模式)
在常规的编程任务中使用新的 <tuple> 库
使用 typedef 抑制劣质代码

VC++ 中的 C-编译器的设计


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 60 ::
收藏到网摘: n/a

C-编译器的设计

作者:陆晓春

下载设计文档与代码

前言:这个是我们这学期编译课所要求的大程,我做的是一个C-的编译器,功能不多,但运行正常,开发步骤比较明确,希望与大家共享。

编译器运行效果图如下:



设计文档基本内容如下:

1) 整体框架
2) 词法分析
  Class CTokenizer
  Class CScaner
  C关键字表
  标识符词法
3) 语法分析
  Class CParser
  Grammar
  基本树形结构
  支持的语句及运算
4) 建立符号表
  Class LineListRec
  Class BucketListRec
  Class CSymbolTable
  Class CFunArgsCheck
5) 类型检测
  Class CAnalyzer
  类型匹配
  函数调用参数检测
6) 代码生成
  PCode
  80X86 ASM
7) 总结

详细内容请阅读本文提供的设计文档与全部源代码。