编译原理课程设计语言编译器

编译原理课程设计语言编译器

ID:34102478

大小:49.28 KB

页数:15页

时间:2019-03-03

编译原理课程设计语言编译器_第1页
编译原理课程设计语言编译器_第2页
编译原理课程设计语言编译器_第3页
编译原理课程设计语言编译器_第4页
编译原理课程设计语言编译器_第5页
资源描述:

《编译原理课程设计语言编译器》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、编译原理课程设计报告课题名称:词法分析器小组成员:陈锋:姚珂:王自然:王力:丁昭岩:周德娇:李文莉:庄黎:20082211051100102008221104210527200822110421000120082211042100552008221104210518200822110421050820082211042105172008221104210042提交报告时间:2010年6月10日目录:课程设计目标2实验建立词法分析器。可分离单词并判断单词属性。2册代码实现4实验总结15课程设计目标实验建立词法分析器。可分离单词

2、并判断单词属性。1.分析与设计(1)实现方法:编程语言为C卄语言。编程方法:首先扫描表达式,依次分开单词,保存于数组中。然后,依次判断单词属性并写入文件保存。(2)扫描器:C—惯用的词法1、语言的关键字:chardoubleenumfloatintlongshortsignedstruetunionunsignedvoidfordowhilebreakcontinueifelsegotoswichcasereturnautoexternregisterstaticsizeoftypedefvolatileconstdefau

3、lt#includemainttdefine2、专用符号:+-*/<<=>>==!==;,()[]{}/**/3、其他标记是ID和NUM,通过下列正则表达式定义:ID=letterletter*NUM=digitdigit*letter=a

4、..

5、z

6、A

7、..

8、Zdigit=0

9、..

10、94、空格由空白、换行符和制表符组成。空格通常被忽略。5、注释用通常的C语言符号/*・・・*/围起来。保存注释符忽略注释内容。⑶代码设计说明:程序结构:编写CEditDatc类来扫描并分析单词属性。文件和类的设计说明:CEditDatc类包含两

11、个成员和两个函数。classCEditDataprivatc:CStringfileTcxt;CStringwordArray[N];public:CEditData(CStringf订cTcxt);virtual^CEditDataO;BOOLrcadTcxt();BOOLjudgcPropcrty();};readText(),judgcPropcrty()是最主要的两个函数,分别实现分离单词和判断属性功能。WordStruct类此类用于保存单词属性值。classWordStructprivatc:CStringword

12、Namc;//Savcthenameoftheword;CStringworcIPropcrty;//Savethepropertyoftheword;intwordValuc;//Savethevalueoftheword;public:voidsetWordNamc(CStringname);voidsetJVordPropcrty(CStringpro);voidsetWordValuc(intva’l);CStringgetWordNamc();CStringgetJVordPropcrty();intgetWord

13、Valuc();};程序代码实现文件CEditDate.h代码女口下:〃实验建立C-编译器。只含有scanner和parser部分。#include〈string〉usingnamespacestd;#if!defined(AFX_EDTTDATA_H_16C35366_8E9C_4067_97BE_F5BEE9F03CA8_INCLUDED_)#defineAFX_EDTTDATA_H_16C35366_8E9C_4067_97BE_F5BEE9F03CA8_TNCLUDED_#if_MSC_VER>1000ttpragm

14、aonceSendif//_MSC_VER>1000ttdefineN10000classCEditData{private:CStringfileText;CStringwordArray[N];public:CEditData(CStringfileText);virtual'CEditData();BOOLreadText();BOOLjudgeProperty0;};文件CEditDate.cpp代码女口下:文件ut订・c代码如下://EditData.cpp:implementationoftheCEditData

15、class.////////////////////////////////////////////////////////////////////////tiincludc"stdafx.h"tiincludc"EditProjcct.h〃Sincludcz,EditData.h〃tii

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。