版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+代码解析(词法分析、语法分析)很久以前就想写个C+的类解析器了,终于花了一晚上时 间,写了一个C+头文件和CP双件的解析。其实跟我上篇“编 译原理”的文章说的一样,词法分析和语法分析最基本就是一堆 if-else 或者switch-case 。不要被什么有穷自动机吓倒了。下面的代码是一个基本的词法和语法分析,能工作, 但现在这个实验品,肯定不会很完善,请各位看官见谅。能解析出来所包含的头文件、类名(输入.h文件可 以解析出类名)、函数名等,需要的功能自己再加吧。程序我直接一个main函数写下来的,完全C风格, 不用跟我讲什么分函数、分类之类的话,我也知道,后期我在代 码上会分好,不过不一定
2、贴上来了,要分你可以自己分一下,如 果能共享出来给我学习一下,那更感谢了。我这个程序就是让你看看一个词法分析和一个语法分析的最简单的写法,同时也实现一些有点用的功能。下面就是这个程序代码,能直接拷贝编译运行的。代码也有注释,逻辑比较清楚了。n);exit(0);oneWordnBuf+=oneChar;else if(oneChar =)oneWordnBuf+= oneChar;else if(oneChar = /);n);exit(0);for(int i = 0; i (); i+)char szBuf300;memset(szBuf, 0, 300);sprintf(szBuf, %
3、d. %sn, i, vecWordsi.c_str();fwrite(szBuf, strlen(szBuf), 1, fpIn);%sn, i, vecWordsi.c_str(); fclose(fpIn);fpIn);fpIn);n);exit(0);%s n, i, vecHeaderi.c_str();fwrite(szBuf, strlen(szBuf), 1,fwrite(nnn, 2, 1, fpIn);%s n, i, vecClassi.c_str();fwrite(szBuf, strlen(szBuf), 1,fwrite(nnn, 2, 1, fpIn);%s %s n, i, vecFunci.(), vecFunci.();fwrite(szBuf, strlen(szBuf), 1,fpIn);%sn, i, vecWordsi.c_str();fclose(fpIn);.n);printf(词法分析结果:d:语法分析结果:d:,请
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2026年)乡镇医院度工作总结暨下一步工作计划
- 新员工入入厂三级安全教育试卷及答案
- 盲文印刷员岗前评优竞赛考核试卷含答案
- 压缩天然气场站运行工安全检查水平考核试卷含答案
- 动物检疫检验员安全技能测试水平考核试卷含答案
- 乳品加工工班组考核测试考核试卷含答案
- 黄酒压滤工诚信模拟考核试卷含答案
- 电线电缆包制工岗前协同配合考核试卷含答案
- 空气潜水员岗前能力评估考核试卷含答案
- 印刷设备机械装调工岗前技术理论考核试卷含答案
- 2026年传感器原理及应用期末考试试题含答案
- 《二手车鉴定评估实务》课件-项目3:二手车价值评估与计算
- T/EAMA 17-2023绿色设计产品评价技术规范 挤包绝缘电力电缆
- 比选文件范本
- CSCO小细胞肺癌诊疗指南(2026版)
- 2026 年秋季开学 学会倾听尊重身边每个人
- 中央中国船级社2025年人才招聘111人笔试历年参考题库附带答案详解
- 炼铁设备检修工专业技能题目及答案
- DB15∕T 4024-2025 多光谱无人机遥感监测大豆苗期长势及等级划分
- 外立面改造施工工艺流程方案
- 2025年医保政策知识培训考试复习题库及答案
评论
0/150
提交评论