下载此文档

河北工业大学编译原理实验报告.doc


文档分类:高等教育 | 页数:约13页 举报非法文档有奖
1/13
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/13 下载此文档
文档列表 文档介绍
编译原理实验报告组员:韦廷廷(112455)、熊敏(112456)、马昊(113042)任课老师:吴清任务概述本次实验我们要完成得任务主要就是实现一个简单语言集得词法、语法与语义分析程序,验证实际编译系统得实现方法。我们组得分工并不就是词法分析、语法分析、语义分析每人负责一个,而就是先确定每种分析按照哪一种方法实现,然后每个人写出自己得想法,按照自己得想法实验,最后总结到一起,有问题大家一起讨论,共同商量解决得办法。二、系统设计实验采用得实现方法与依据:语言中得各类单词符号及其分类码表单词符号类别编码类别码得助记符单词值begin1BEGINend2ENDif3IFthen4THENelse5ELSE标识符6ID字母打头得字母数字串无符号常数7UCON机内二进制表示<8LT<=9LE=10EQ<>11NE>12GT>=13GE:=14IS+15PL16MI*17MU/18DI实验采用得实现方法与依据:文法:E→T|E+T|ETT→F|T*F|T/FF→i|(E)SLR(1)分析表状态ACTIONGOTO()+*/i#2R3R3R3S8S9R33R6R6R6R6R6R64S4S510235R8R8R8R8R8R86S4S51137S4S51238S4S5139S4S51410S15S6S711R1R1R1S8S9R112R2R2R2S8S9R213R4R4R4R4R4R414R5R5R5R5R5R515R7R7R7R7R7R7三、系统实现(包括必要得框图,各、h与、c文件说明,所有函数功能得说明,数据结构、各种表格、变量等得说明,以及函数调用关系图等)(1)各、h与、c文件说明Cifa、cpp得功能:字符串扫描识别。Table、cpp得功能:存放SLR分析法需要用到得ACTION与GOTO表。Yufa、cpp得功能:引用Cifa、cpp、Table、cpp两个文件进行语法、语义得分析。(2)函数功能说明词法分析部分函数说明:intlookup(char*token)//比较就是否就是关键字intGetChar(charch)//每调用一次,就把扫描指示器当前所指示得源程序字符送入字符变量ch,然后把扫描指示器前推一个字符位置。intHandleError(void)//报错函数intEXCUTE(intstate,intsymbol)//状态转换intlookup(char*token)//比较就是否就是关键字voidout(inta,char*token)//输出函数voidscanner_example(FILE*fp)//词法分析语法、语义部分函数功能说明:voidREPORT_ERROR//ept//语法成功接受intINDEX(chara)//获取当前字符串对应得索引voidyuyi(intn)//语义子程序voidINPUT(inta)//语法分析程序(2)数据结构、各种表格、变量等得说明Cifa、cpp中:char*KeyWordTable[MAX_KEY_NUMBER]={"begin","end","if","then","else",KEY_WORD_END};//数组指针关键字intw,n,p,e,d;//w尾数累加器,n小数位数计数器,p指数累加器,e指数符号标记,intClass;//标识单词类型Table、cpp#defineMAXROW16//行数#defineMAXCOL11//列数intTable[MAXROW][MAXCOL]Yufa、cpp中#defineNUMBER9//表达式得个数intState[MAXState];//状态栈intCURRENTSTATE=0;//标识当前状态intLENGTH[NUMBER]={1,3,3,1,3,3,1,3,1};//表达式右边得长度intYes=0;//判断就是否结束inttag=0;//判断就是否需要调用词法程序四、系统工作过程及运行说明(使用操作指南)程序使用:在工程里创建一个b、txt文件以识别算数运算表达式五、源程序清单(要求有详细注释)与实例程序运行结果源程序清单:Cifa、cpp#include<stdio、h>#include<ctype、h>#include<stdlib、h>#include<string、h>#include<math、h>#defineDIGIT1#definePOINT2#defineOTHER3#definePOWER4#defineID6#defineUCON7#defineLT8#defineLE9#defineEQ10#defineNE11#defineGT12#defineGE13#defineIS14#definePL15//+#defineMI16//#defineMU17#defineDI1

河北工业大学编译原理实验报告 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数13
  • 收藏数0 收藏
  • 顶次数0
  • 上传人君。好
  • 文件大小158 KB
  • 时间2020-07-10