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

VC++
用 auto_ptr 类模板帮助动态内存管理
走近 STL
一步一步学STL标准模板库
使用 <multimap> 库创建重复键关联容器
使用 <map> 库创建关联容器
用 vectors 改进内存的再分配
用函数模板实现和优化抽象操作
STL 字符串类与 UNICODE 及其它......
如何在Dll中导出STL类
再谈“在STL列表(Lists)中插入不同类型的对象”
使用::std::vector<>作为管理动态数组的优先选择
三种常见中文内码的转换方法
JNI 中文处理问题小结
构建 GB2312 汉字库的 unicode 码表
正则表达式简介
在非MFC程序中引用CString
UTF-8与GB2312之间的互换
宽字符标量L"xx"在VC6.0/7.0和GNU g++中的不同实现
用VC++设计语法编辑器
C语言中对时间和日期的处理

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 67 ::
收藏到网摘: 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) 总结

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