资源简介
利用语法分析器生成工具Yacc/Bison编写一个语法分析程序,与词法分析器结合,能够根据语言的上下文无关文法,识别输入的单词序列是否文法的句子。
有报告,有代码
输入:代码片断
输出:规约产生式
代码片段和文件信息
/* A lexical scanner generated by flex */
/* Scanner skeleton version:
* $Header: /home/daffy/u0/vern/flex/RCS/flex.sklv 2.85 95/04/24 10:48:47 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
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-06-25 01:01 实验四\
文件 43818 2013-05-30 12:24 实验四\lex.yy.c
文件 1957 2013-05-30 12:24 实验四\mylex.l
文件 32503 2013-05-30 12:24 实验四\myyacc.tab.c
文件 217177 2013-05-30 12:24 实验四\myyacc.tab.exe
文件 531 2013-05-30 12:24 实验四\myyacc.tab.h
文件 4587 2013-05-30 12:24 实验四\myyacc.y
文件 4463 2013-05-30 12:24 实验四\out.txt
文件 207 2013-05-30 12:24 实验四\test.txt
文件 184832 2013-06-25 01:01 实验四\实验报告4.doc
相关资源
- 语法分析器实验报告
- 编译原理实验报告
- 编译原理实验报告 词法分析器实验报
- 西安科技大学编译原理往年期末试题
- 编译原理——语法分析器递归下降分
- 算术表达式的目标代码生成
- 编译原理 递归下降语法分析程序代码
- 对PL0语言及其编译器进行扩充和修改
- 编译原理大作业 完整编译器
- 编译原理课程设计——简单编译器
- 编译原理--词法分析器+语法分析器 源
- pl0语法分析器
- 编译原理 三地址代码生成器
- 编译原理实验报告+源代码 预测分析法
- LL(1)分析过程模拟
- 编译原理实验常工院版
- 编译原理FOR循环语句的翻译程序设计
- LR(0)完整的语法分析方法(拓广文
- OUC编译原理全部实验
- 编译原理上机源代码LR语法分析器
- 编译原理LR0分析代码完整
- 哈工大编译原理实验三语义分析实验
- 用YACC实现语法分析器
- 编译原理实验报告,词法分析,语法
- 算符优先分析程序的设计可趁设计
- 山东大学编译原理实验
- 编译原理语法分析实验报告
- 编译原理-语法分析-LL1
- 编译原理优先算法代码,及详细实验
- 编译原理 课后习题答案 陈意云 张昱
评论
共有 条评论