资源简介
本资源内包含C语言词法分析源代码,测试用例,以及详细实验报告,虽然来源于北邮编译原理作业,虽然本例最终没有完全实现C语言的所有词法分析,但是可供初学lex的朋友作为一个实例进行参考。
代码片段和文件信息
/* A lexical scanner generated by flex */
/* Scanner skeleton version:
* $Header: /home/daffy/u0/vern/flex/RCS/flex.sklv 2.91 96/09/10 16:58:48 vern Exp $
*/
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 5
#include
/* cfront 1.2 defines “c_plusplus“ instead of “__cplusplus“ */
#ifdef c_plusplus
#ifndef __cplusplus
#define __cplusplus
#endif
#endif
#ifdef __cplusplus
#include
#include
/* Use prototypes in function declarations. */
#define YY_USE_PROTOS
/* The “const“ storage-class-modifier is valid. */
#define YY_USE_CONST
#else /* ! __cplusplus */
#if __STDC__
#define YY_USE_PROTOS
#define YY_USE_CONST
#endif /* __STDC__ */
#endif /* ! __cplusplus */
#ifdef __TURBOC__
#pragma warn -rch
#pragma warn -use
#include
#include
#define YY_USE_CONST
#define YY_USE_PROTOS
#endif
#ifdef YY_USE_CONST
#define yyconst const
#else
#define yyconst
#endif
#ifdef YY_USE_PROTOS
#define YY_PROTO(proto) proto
#else
#define YY_PROTO(proto) ()
#endif
/* Returned upon end-of-file. */
#define YY_NULL 0
/* Promotes a possibly negative possibly signed char to an unsigned
* integer for use as an array index. If the signed char is negative
* we want to instead treat it as an 8-bit unsigned char hence the
* double cast.
*/
#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
/* Enter a start condition. This macro really ought to take a parameter
* but we do it the disgusting crufty way forced on us by the ()-less
* definition of BEGIN.
*/
#define BEGIN yy_start = 1 + 2 *
/* Translate the current start state into a value that can be later handed
* to BEGIN to return to the state. The YYSTATE alias is for lex
* compatibility.
*/
#define YY_START ((yy_start - 1) / 2)
#define YYSTATE YY_START
/* Action number for EOF rule of a given start state. */
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
/* Special action meaning “start processing a new file“. */
#define YY_NEW_FILE yyrestart( yyin )
#define YY_END_OF_BUFFER_CHAR 0
/* Size of default input buffer. */
#define YY_BUF_SIZE 16384
typedef struct yy_buffer_state *YY_BUFFER_STATE;
extern int yyleng;
extern FILE *yyin *yyout;
#define EOB_ACT_CONTINUE_SCAN 0
#define EOB_ACT_END_OF_FILE 1
#define EOB_ACT_LAST_MATCH 2
/* The funky do-while in the following #define is used to turn the definition
* int a single C statement (which needs a semi-colon terminator). This
* avoids problems with code like:
*
* if ( condition_holds )
* yyless( 5 );
* else
* do_something_else();
*
* Prior to using the do-while the compiler would get upset at the
* “else“ because it interpreted the “if“ statement as being all
* done when it reached the ‘;‘ after the yyless() call.
*/
/* Return all but the first ‘n‘ matched characters back to the input stream. */
#defin
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 48236 2015-11-11 18:13 词法分析\lex.yy.c
文件 141987 2015-11-11 18:56 词法分析\lex.yy.exe
文件 198 2015-11-10 19:10 词法分析\yyin1.txt
文件 785 2015-11-10 21:43 词法分析\yyin2.txt
文件 1258 2015-11-11 17:59 词法分析\yyin3.txt
文件 2748416 2016-07-03 16:59 词法分析\词法分析实验报告.doc
文件 3822 2015-11-11 18:13 词法分析\词法分析程序.l
目录 0 2016-07-03 17:00 词法分析
----------- --------- ---------- ----- ----
2944702 8
- 上一篇:北邮C++小学期坦克大战代码及报告
- 下一篇:vc++2008 速成版
相关资源
- 密码学:分组密码DES算法C语言版
- c语言用odbc连数据库.rar
- 数据结构—使用C语言第4版
- Lex和Yacc从入门到精通.pdf
- 数据结构与算法分析:C语言描述(原书
- 南邮《数据结构-C语言描述》陈慧南主
- 简易词法分析器——基于C语言
- C语言编写的乒乓球游戏
- C语言经典编程1000例+C语言深度解剖
- 十个游戏C语言源代码
- 学生管理系统C语言版
- 教你如何用Keil ,用c语言进行编程
- 数据结构基础(C语言版) 习题答案
- JPEG压缩的c语言实现
- 嵌入式linuxC语言程序设计基础教程
- C语言实用数字图像处理(日本的,看
- Cholesky MPI并行C语言实现
- ECOS求解器求解二阶锥问题C语言程序
- C语言小游戏217637
- 银行排号系统设计 C语言实现
- DBMS课程设计C语言实现全部源码与设计
- C语言经典算法100例.pdf
- VS2017平台下最简洁的基于C语言开发的
- C语言参考手册第五版(高清PDF中文版
- 数据结构c语言版本严蔚敏清华大学
- c语言版的类似qq源码
- 数据结构c语言版本
- 谭浩强C语言程序设计(第五版) -全
- c程序设计试题汇编
- 基于单片机的土壤自动节水灌溉系统
评论
共有 条评论