资源简介
任意给定一个上下文无关文法,通过程序计算文法所有非终结符FIRST和FOLLOW集,和每个产生式的SELECT集;
判断该文法是否为LL(1)文法;
构造相应文法的预测分析表;
基于相应文法的预测分析表,动态演示(分步)一个句子分析过程。如果报错,请提示可能的原因。参见教材P95表4.5;
设计、实现能根据分析结果(产生式序列)构建句子或者源程序的语法分析树;
如果给定的文法含有左递归,尝试对文法进行改写,消除左递归;
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace LL1Paser
{
public class Grammar
{
//分析表
private String[] analyzeTable;
/**
* LL(1)文法产生集合
*/
private List productionList;
/**
* 表达式集合
*/
private Dictionary> expressionMap;
/**
* 开始符
*/
private char s;
/**
* Vn非终结符集合
*/
private List nvSet = new List();
/**
* Vt终结符集合
*/
private List ntSet = new List();
/**
* First集合
*/
private Dictionary> firstMap;
/**
* Follow集合
*/
private Dictionary> followMap;
/**
* Select集合
*/
Dictionary>> selectMap;//
public string[] getAnalyzeTable()
{
return analyzeTable;
}
public Dictionary>> getSelectMap()
{
return selectMap;
}
public void setSelectMap(Dictionary>> selectMap)
{
this.selectMap = selectMap;
}
public Dictionary> getFirstMap()
{
return firstMap;
}
public void setFirstMap(Dictionary> firstMap)
{
this.firstMap = firstMap;
}
public Dictionary> getFollowMap()
{
return followMap;
}
public void setFollowMap(Dictionary> followMap)
{
this.followMap = followMap;
}
public Dictionary> getexpressionMap()
{
return expressionMap;
}
public void setexpressionMap(Dictionary> expressionMap)
{
this.expressionMap = expressionMap;
}
public List getGrammar()
{
return productionList;
}
public void setGrammar(List productionList)
{
this.productionList = productionList;
}
public char getS()
{
return s;
}
public void setS(char s)
{
this.s = s;
}
public List getNvSet()
{
return nvSet;
}
public void setNvSet(List nvSet)
{
this.nvSet = nvSet;
}
public List getNtSet()
{
return ntSet;
}
public void setNtSet(List ntSet)
{
this.ntSet = ntSet;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-12-27 18:38 03LL(1)分析程序\
目录 0 2017-12-27 18:38 03LL(1)分析程序\LL1\
目录 0 2017-12-27 18:38 03LL(1)分析程序\LL1\LL1Paser-Winform版\
目录 0 2017-12-27 18:38 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\
目录 0 2017-12-27 18:38 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\.vs\
目录 0 2017-12-27 18:38 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\.vs\LL1Paser\
目录 0 2017-12-27 18:38 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\.vs\LL1Paser\v14\
文件 54272 2017-12-20 17:18 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\.vs\LL1Paser\v14\.suo
目录 0 2017-12-28 14:04 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\.vs\LL1Paser\v15\
文件 71168 2017-12-28 14:04 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\.vs\LL1Paser\v15\.suo
文件 4648960 2017-12-28 14:04 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\.vs\LL1Paser\v15\Browse.VC.db
目录 0 2017-12-27 18:38 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\.vs\LL1Paser\v15\Server\
目录 0 2017-12-28 14:04 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\.vs\LL1Paser\v15\Server\sqlite3\
文件 0 2017-12-25 19:10 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\.vs\LL1Paser\v15\Server\sqlite3\db.lock
文件 581632 2017-12-28 14:04 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\.vs\LL1Paser\v15\Server\sqlite3\storage.ide
目录 0 2017-12-28 14:02 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\.vs\LL1Paser\v15\ipch\
目录 0 2017-12-28 14:02 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\.vs\LL1Paser\v15\ipch\AutoPCH\
目录 0 2017-12-28 14:02 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\.vs\LL1Paser\v15\ipch\AutoPCH\a493f13b77e1b77d\
文件 30539776 2017-12-28 14:02 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\.vs\LL1Paser\v15\ipch\AutoPCH\a493f13b77e1b77d\~VSE9AC.ipch
目录 0 2017-12-27 18:38 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\LL1Paser\
文件 19227 2017-12-20 09:58 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\LL1Paser\Grammar.cs
文件 3816 2017-12-20 14:01 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\LL1Paser\LL1Paser.csproj
文件 16287 2017-12-27 16:20 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\LL1Paser\Main.Designer.cs
文件 14226 2017-12-27 16:20 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\LL1Paser\Main.cs
文件 5817 2017-12-27 16:20 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\LL1Paser\Main.resx
文件 488 2017-12-18 19:15 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\LL1Paser\Program.cs
目录 0 2017-12-27 18:38 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\LL1Paser\Properties\
文件 1366 2017-12-18 19:15 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\LL1Paser\Properties\AssemblyInfo.cs
文件 2867 2017-12-18 19:15 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\LL1Paser\Properties\Resources.Designer.cs
文件 5612 2017-12-18 19:15 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\LL1Paser\Properties\Resources.resx
文件 1094 2017-12-18 19:15 03LL(1)分析程序\LL1\LL1Paser-Winform版\LL1Paser\LL1Paser\Properties\Settings.Designer.cs
............此处省略29个文件信息
相关资源
- web课程设计 网上花店
- 汇编语言课程设计四则运算
- 课程设计 人事管理系统
- 数据结构课程设计 书店管理系统
- 数据库课设医院管理系统
- 计算机网络课程设计--校园网的搭建
- EDA技术篮球比赛电子记分牌
- 软件工程课程设计的文档含代码
- 比特大战源代码
- 编译原理第2版—清华大学出版社
- 港口物流管理系统 港口物流管理系统
- 数据库教室管理信息系统课程设计
- 南京理工大学编译原理课后习题答案
- 设计模式课程设计---游戏《怪物物语
- 应变式拉压力传感器课程设计
- 软件工程课程设计-银行ATM系统
- 软件工程课程设计人事管理系统 包括
- 小闹钟VC课程设计定时提醒任务功能。
- 机械手课程设计
- 编译原理实验decaf_PA2
- 小型编译器
- 点对点文件传输课程设计
- 电力系统继电保护 课程设计 论文
- 软件工程课程设计《宝钢股份职工体
- 洗衣机控制器课程设计
- 最炫——飞机票信息管理系统源码
- 课程设计毕业设计--学生公寓管理系统
- 药品销售系统数据库课程设计.pdf
- 课程设计.rar100608
- linux文件系统操作系统课程设计
评论
共有 条评论