云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 天津理工大学编译原理实验一

天津理工大学编译原理实验一

  • 62 次阅读
  • 3 次下载
  • 2025/6/5 11:31:29

实验报告

学院(系)名称:计算机与通信工程学院

姓名 班级 课程名称 学号 实验项目 编译原理 2016/03/17 2016/03/22 专业 计算机科学与技术 实验一:词法分析 课程代码 实验时间 实验地点 软件实验室7-219 批改意见 成绩 教师签字: 实验内容: 实现标准C语言词法分析器。 实验要求: (1)单词种别编码要求 基本字、运算符、界符:一符一种 标识符:统一为一种; 常量:按类型编码; (2)词法分析工作过程中建立符号表、常量表。 并以文本文件形式输出。 (3)词法分析的最后结果以文本文件形式输出。

第1页 共23页

实验源代码和心得体会 #include #include #include #define bufsize 1024 //关键字

#define INCLUDE 256 #define AUTO 257 #define BREAK 258 #define CASE 259 #define CHAR 260 #define CONST 261 #define CONTINUE 262 #define DEFAULT 263 #define DO 264 #define DOUBLE 265 #define ELSE 266 #define ENUM 267 #define EXTERN 268 #define FLOAT 269 #define FOR 270 #define GOTO 271 #define IF 272 #define INT 273 #define LONG 274 #define REGISTER 275 #define RETURN 276 #define SHORT 277 #define SIGNED 278 #define SIZEOF 279 #define STATIC 280 #define STRUCT 281 #define SWITCH 282 #define TYPEDEF 283 #define UNION 284 #define UNSIGNED 285 #define VOLATILE 286 #define WHILE 287 //运算符

#define PLUS 288 // #define MINUS 289 // #define MUL 290 #define DIV 291 // #define REMAIN 292 // #define GREATER 293

+

-

// * / % // >

第2页 共23页

#define LESS 294 // < #define EQUAL 295 // = #define MISTAKE 296 // ! #define AND 297 // & #define OR 298 // | #define PP 299 // ++ #define MM 300 // -- #define EE 301 // == #define GE 302 // >= #define LE 303 // <= #define MISE 304 // != #define AA 305 // && #define OO 306 // || #define PE 307 // += #define MINUSE 308 // -= #define MULE 309 // *= #define DIVE 310 // /= #define POW 311 // ^ // 界符

#define SEMIC 312 // ; #define COMMA 313 // , #define MULANNO_L 314 // /* #define MULANNO_R 315 // */ #define BRACE_L 316 // { #define BRACE_R 317 // } #define BRAKET_L 318 // ( #define BRAKET_R 319 // ) #define MIDBRA_L 320 // [ #define MIDBRA_R 321 // ] #define ONE_ANNO 322 // // //标识符和常量符 #define TAG 400 #define CONINT 401 #define CONFLOAT 402 #define CONCHAR 403 #define CONSTRING 404 //转义字符和字符串 #define CA 500 #define CB 501 #define CF 502 #define CN 503 #define CR 504 #define CT 505 #define CV 506 #define CBSL 507

第3页 共23页

#define CQUE 508 #define CDQM 509 #define CQM 510 #define ZERO 511 using namespace std;

typedef struct Variate{//变量标识符 int id;

char name[50]; }Variate;

typedef struct Constant{//常量 int id;

char name[50]; }Constant;

typedef struct Sign{ char name[100]; int sym; char attr[100]; }Sign;

const char *keywordTable[]={\ \ \ \ \作用是判断是否结束 const char *operateTable[]={\ \const char *borderTable[]={\const char changeList[12]={'a','b','f','n','r','t','v','\\\\','?','\ FILE *in; FILE *Out; FILE *Error; int line=1; //用于输出错误的行数或者其他情况。默认值是从 1 开始,为第一行 char buf[bufsize]; //存储读取的一行的字符串 char firchar; //头文件下第一个字符 char Char; int start=0;

int VariateNum=0;//记录变量的个数,减去1 int ConstantNum=0;//记录常量的个数 int SignNum=0;//记录标记的个数

int notation=1;//记录是否找到多行注释的另一半 */ ,默认值是1 即为有另一半 int isNotation=0;//判断是否是在注释行内 0 不是, 1 单行注释 2多行注释 bool last=false; int late=0; Variate var; Constant con; Sign sign;

第4页 共23页

搜索更多关于: 天津理工大学编译原理实验一 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

实验报告 学院(系)名称:计算机与通信工程学院 姓名 班级 课程名称 学号 实验项目 编译原理 2016/03/17 2016/03/22 专业 计算机科学与技术 实验一:词法分析 课程代码 实验时间 实验地点 软件实验室7-219 批改意见 成绩 教师签字: 实验内容: 实现标准C语言词法分析器。 实验要求: (1)单词种别编码要求 基本字、运算符、界符:一符一种 标识符:统一为一种; 常量:按类型编码; (2)词法分析工作过程中建立符号表、常量表。 并以文本文件形式输出。 (3)词法分析的最后结果以文本文件形式输出。 第1页 共23页 实验源代码和心得体会 #inclu

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com