资源简介
输入扩广后的LR(0)文法,输出项目,识别活前缀的DFA和LR(0)分析表,对输入的句子进行分析,输出分析过程。
LR(0)文法分析器
编译运行环境为vc 6.0
输入扩广后的LR(0)文法,输出项目,识别活前缀的DFA和LR(0)分析表,对输入的句子进行分析,输出分析过程。
文件test.txt为测试的文件。
代码片段和文件信息
#include
#include
#include
#include
#include
#include
//输入为扩广后的文法
//文法存储在g中
#define PROJECT_SET_SIZE 20
#define PROJECT_ID_POS 0
#define GRAMMER_ID_POS 1
#define GRAMMER_START_CHAR_POS 5
#define BFCHAR_POS 2
#define AFCHAR_POS 3
#define PROJECT_LEN_POS 4
#define ID 10000
struct grammer
{
char **g;
char vt[127];
char vn[27];
char s;
int line;
};
typedef struct
{
int id;
char ch;
}SElemType;
#include “stack.h“
// 文法的项目
struct gprjt
{
char **gp;//gp的格式为gp[1][0]为编号(从0开始),gp[1][2]字符数gp[i][1]圆点前的字符若无则为0,gp[i][2]为圆点后的字符,若无为0
char s;
int line;
};
typedef struct prjset
{
int id;//项目集编号,从10000开始,与项目编号(从0开始)区别
struct prjset *next;//指向下个项目集
char prjt[PROJECT_SET_SIZE+1];//PROJECT_SET_
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2100 2008-11-28 20:55 LR(0)文法分析器\stack.h
文件 238592 2008-12-08 22:59 LR(0)文法分析器\Debug\vc60.idb
文件 77824 2008-12-08 22:59 LR(0)文法分析器\Debug\vc60.pdb
文件 204846 2008-12-08 22:59 LR(0)文法分析器\Debug\sy6.exe
文件 508928 2008-12-08 22:59 LR(0)文法分析器\Debug\sy6.pdb
文件 951774 2008-12-07 16:04 LR(0)文法分析器\Debug\sy6.sbr
文件 1934336 2008-12-07 16:03 LR(0)文法分析器\Debug\sy6.bsc
文件 3558812 2008-12-08 22:08 LR(0)文法分析器\Debug\sy6.pch
文件 49182 2008-12-08 22:59 LR(0)文法分析器\Debug\sy6.obj
文件 209840 2008-12-08 22:59 LR(0)文法分析器\Debug\sy6.ilk
文件 50176 2008-12-08 23:00 LR(0)文法分析器\sy6.ncb
文件 1184 2008-12-08 22:59 LR(0)文法分析器\sy6.plg
文件 46 2008-12-07 15:42 LR(0)文法分析器\test.txt
文件 168 2008-12-31 20:53 LR(0)文法分析器\说明.txt
文件 3365 2008-12-08 22:56 LR(0)文法分析器\sy6.dsp
文件 20108 2008-12-21 22:53 LR(0)文法分析器\sy6.cpp
文件 48640 2008-12-08 23:00 LR(0)文法分析器\sy6.opt
文件 514 2008-12-08 23:00 LR(0)文法分析器\sy6.dsw
文件 204846 2008-12-08 22:59 LR(0)文法分析器\sy6.exe
目录 0 2008-12-07 15:09 LR(0)文法分析器\Debug
目录 0 2008-12-05 16:21 LR(0)文法分析器
----------- --------- ---------- ----- ----
8065281 21
评论
共有 条评论