1 / 51
文档名称:

编译原理词法分析和ll1文法判定.docx

格式:docx   大小:198KB   页数:51页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

编译原理词法分析和ll1文法判定.docx

上传人:业精于勤 2020/11/22 文件大小:198 KB

下载得到文件列表

编译原理词法分析和ll1文法判定.docx

文档介绍

文档介绍:武汉科技大学试验汇报
课程名称 编译原理
专业班级
姓 名
学 号
试验一 词法分析器设计
【试验目标】
1.熟悉词法分析基础原理,词法分析过程和词法分析中要注意问题。
2.复****高级语言,深入加强用高级语言来处理实际问题能力。
3.经过完成词法分析程序,了解词法分析过程。
【试验内容】
用C语言编写一个PL/0词法分析器,为语法语义分析提供单词,使之能把输入字符串形式源程序分割成一个个单词符号传输给语法语义分析,并把分析结果(基础字,运算符,标识符,常数和界符)输出。
【试验步骤和要求】
要求绘出词法分析过程步骤图。
依据词法分析目标和内容,确定完成份析过程所需模块。
写出每个模块源代码。
整理程序清单及所得结果。
【步骤图】
【源代码】
//
#define IDD_MAINDLG 101
#define IDR_MENU 102
#define IDI_ICON 104
#define IDC_INPUT 1001
#define IDC_OUTPUT 1003
#define IDC_ERRPUT 1004
#define IDC_BUTTON1 1005
#define ID_START 40001
#define ID_ABOUT 40003
#define ID_OPEN 40005
#define ID_SAVE 40006
#define ID_LISTKEY 40007
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 105
#define _APS_NEXT_COMMAND_VALUE 40008
#define _APS_NEXT_CONTROL_VALUE 1007
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
//
#ifndef _GETSYM_H_
#define _GETSYM_H_
#include <> //For memset()
#include <> //For strcpy()
#define ISLETTER(c) ((c)>='A'&&(c)<='Z'||(c)>='a'&&(c)<='z')
#define ISNUMBER(c) ((c)>='0'&&(c)<='9')
#define ISCHAR(c) ((c)>=33 &&(c)<=126)
#define MAX_SYM 32768 //最大符号量
#define MAX_SYMFORM 1024 //最大符号表长度
#define MAX_NUMFORM 4096 //最大常数表长度
#define MAX_SYMLEN 31 //最大符号长度
#define MAX_NUMLEN 10 //最大常数长度
#define MAX_BUFFER MAX_SYMLEN+1//最大缓冲长度
#define MAX_KEYWORD 27 //关键字数量
#define MAX_OPWORDA 8 //单字运算符数量
#define MAX_OPWORDB 4 //双字运算符数量
#define MAX_ENDWORD 8 //单字界符数量
#define MAX_ERROR 5 //错误类型数量
#define TYPE_KEYWORD 1 //关键字类型号
#define TYPE_S