转载请注明:一雨田的专栏(http://blog.csdn.net/dylgsy)
很久以前就想写个C++ 的类解析器了,终于花了一晚上时间,写了一个C++ 头文件和 CPP文件的解析。其实跟我上篇“编译原理”的文章说的一样,词法分析和语法分析最基本就是一堆 if-else 或者 switch-case。不要被什么有穷自动机吓倒了。。。
下面的代码是一个基本的词法和语法分析,能工作,但现在这个实验品,肯定不会很完善,请各位看官见谅。
能解析出来所包含的头文件、类名(输入 .h 文件可以解析出类名)、函数名等,需要的功能自己再加吧。
程序我直接一个main函数写下来的,完全C风格,不用跟我讲什么分函数、分类之类的话,我也知道,后期我在代码上会分好,不过不一定贴上来了,要分你可以自己分一下,如果能共享出来给我学习一下,那更感谢了。
我这个程序就是让你看看一个词法分析和一个语法分析的最简单的写法,同时也实现一些有点用的功能。
下面就是这个程序代码,能直接拷贝编译运行的。代码也有注释,逻辑比较清楚了。
// CodeParser.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include
#include
#include
#include
#include
#include
#include
自己执行就可以看到了。。。