词法分析算符优先分析课程设计.docxVIP

  • 9
  • 0
  • 约1.66万字
  • 约 22页
  • 2020-12-07 发布于天津
  • 举报
南华大学 计算机科学与技术学院 课程设计 课程名称:编译原理 题 目:词法分析和算符优先分析 班 级:01班 学 号:20104030113 姓 名:段检妹 2012 年5月24日 设计一:词法分析器 TOC \o 1-5 \h \z 课程设计目的和要求 3 实验目的 3 实验要求 3 设计描述 3 函数模块 4 5.测试样例与测试结果 8 6. 结论 8 设计二: 算符优先语法分析 课程设计的目的和要求 9 课程设计的目的 9 课程设计的要求 9 设计描述 9 自底向上分析方法的描述: 9 算符优先文法的描述: 10 概要设计和详细设计 11 功能结构 11 模块的划分 11 5.源代码 12 5.测试样例与测试结果 22 6. 结论 23 设计一:词法分析器 课程设计目的和要求 1.1实验目的 通过完成词法分析程序,了解词法分析的过程。编制一个读单词过程,从输入的源程序中, 识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。 并依次输出各个单词的内部编码及单词符号自身值。 1.2实验要求 通过词法分析器能够实现以下五种类型如单词等的识别。 关键字begin,end,if,then,else,while,write,read do, call,co nst,char,u ntil,procedure,repeat等 运算符:+,_,*,/,= 等 (3)界符: (3)界符: (4)标识符 (5)常量 设计描述 词法分析:逐个读入源程序字符并按照构词规则切分成一系列单词。 单词是语言中具有独立 意义的最小单位,包括保留字、标识符、运算符、标点符号和常量等。词法分析是编译过程 中的一个阶段,在语法分析前进行 。也可以和语法分析结合在一起作为一遍,由语法分析 程序调用词法分析程序来获得当前单词供语法分析使用。 表1各种单词符号对应类型表 单词符号 类型编码 助记符 标识符 1 $SYMNOL 常量 2 $CNSTANT int 3 $INT if 4 $IF else 5 $ELSE while 6 $WHILE for 7 $FOR read 8 $READ write 9 $WRITE + 10 $ADD - 11 $SUB * 12 $MUL / 13 $DIV 14 $L = 15 $LE 16 $G = 17 $GE != 18 $NE == 19 r $e 1 = 20 $ASSIGN ( 21 $LPAR ) 22 : $RPAR 1 J 23 $COM J 24 $SEM 函数模块 LexAnalyz()函数 实现整个分析的过程 main主函数: 主要实验将输入的字符串存进 token中,和组织其他函数已完成功能。 print()函数 将识别的结果打印出来。 4?设计源码 #in cludestdio.h #in cludestri ng.h #in cludectype.h #in cludecstdlib using n amespace std; const char*reserchar[7]={int, if, else, while, for, read, write }; // 关键字 con st char*rememchar[25]={,$SYMBOL, $CNSTANT, $INT, $IF, $ELSE, $WHILE, $FOR, $READ, $WRITE, $ADD, $SUB, $MUL, $DIV, $L, $LE, $G, $GE, $NE, $E, $ASSIGN, $LPAR, $RPAR, $COM, $SEM }; // 助记符 void LexA nalyz(); void Prin t(); char prog[100]; char token[10]; int syn,p; char ch; int main() { char sym; Print(); p=0; do { ch=getchar(); prog[p++]=ch; }while( ch!=# ); p=0; do{ LexAnalyz(); if( syn==-1 ) printf(error\n); else if( syn!=0 ){ printf(%s %d %s\n, token, syn, rememchar[syn]); } // system(pause) ; }while( syn!=0 ); system(pause); return 0; } void LexAnalyz() { int j=0,i=0; syn=0; for( i=0; i10; i++) token[i]

文档评论(0)

1亿VIP精品文档

相关文档