资源简介
编译原理课程设计项目,带报告
根据LL(1)分析法编写的语法分析程序:
(1)输入已知文法,由程序自动构造文法的分析表M。
(2)所开发的程序可适用于不同的文法和任意输入串,且能判断该文法是否为LL(1)文法。
(3)对于输入的文法和符号串,正确判断此串是否为文法的句子,输出分析过程。
(4)可消除左递归左公因子
图形界面良好
可分析如下产生式集合(空字用‘@’表示)
"E->E+T|T,T->T*F|F,F->i|(E)"; "S->ME,E->+ME|@,M->FT,T->*FT|@,F->i|(S)"; "S->AB,S->bC,A->@,A->b,B->@,B->aD,C->AD,C->b,D->aS,D->c";"S->AB|b,A->Sm,B->eA";
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
using System.IO;
namespace my_ll1_try
{
public partial class Form1 : Form
{
bool F = false;
string S;
private List terminal=new List();
private List nonterminal =new List();
List nonrecursion = new List();
List recursion = new List();
List comfactor = new List();
private Dictionary first = new Dictionary();
private Dictionary follow = new Dictionary();
private Dictionary sellect = new Dictionary();
private Dictionary table = new Dictionary();
private List proce;//克隆
private Dictionary circulation = new Dictionary();
private string[] expressionall;
private List expression=new List();
Graphics GraphicsFirst;
Graphics GraphicsFollow;
Graphics GraphicsSellect;
Graphics GraphicsTable;
Graphics Graphicsanalyze;
Graphics Graphicsstack;
Graphics GraphicResult;
Pen penblue = new Pen(Color.Blue);
Pen penbpink = new Pen(Color.Pink);
Font Font12 = new Font(“隶书“ 12 Fontstyle.Bold);
Font Font16 = new Font(“楷体“ 16 Fontstyle.Bold);
Brush brushpink = new SolidBrush(Color.LightPink);
Brush Brushblack = new SolidBrush(Color.Black);
Graphics g;
public Form1()
{
InitializeComponent();
GraphicsFirst = panel1.CreateGraphics();
GraphicsFollow = panel2.CreateGraphics();
GraphicsSellect = panel5.CreateGraphics();
GraphicsTable = panel3.CreateGraphics();
GraphicResult = panel4.CreateGraphics();
Graphicsanalyze = panel6.CreateGraphics();
Graphicsstack = panel7.CreateGraphics();
g = panel8.CreateGraphics();
}
private void label1_Click(object sender EventArgs e)
{
}
private bool dorec(string waitstring flagstring str)
{
List proce = new List();
List nonrecursion1 = new List();
List recursion1 = new List();
int key = 0;
for (int i = 0; i < expression.Count(); i++)
{
proce.Add(expression[i]);
}
for (int j = 0; j < proce.Count(); j++)
{
string c = proce[j].First().ToString();
if (flag =
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-01-11 13:19 课设\
文件 1156343 2019-01-11 11:33 课设\LL(1).docx
目录 0 2019-01-11 13:14 课设\my_ll1_try\
目录 0 2019-01-11 13:14 课设\my_ll1_try\.vs\
目录 0 2019-01-11 13:14 课设\my_ll1_try\.vs\my_ll1_try\
目录 0 2019-01-11 13:14 课设\my_ll1_try\.vs\my_ll1_try\v15\
文件 63488 2019-01-10 23:18 课设\my_ll1_try\.vs\my_ll1_try\v15\.suo
目录 0 2019-01-11 13:14 课设\my_ll1_try\.vs\my_ll1_try\v15\Server\
目录 0 2019-01-11 13:14 课设\my_ll1_try\.vs\my_ll1_try\v15\Server\sqlite3\
文件 0 2019-01-06 19:51 课设\my_ll1_try\.vs\my_ll1_try\v15\Server\sqlite3\db.lock
文件 598016 2019-01-10 22:35 课设\my_ll1_try\.vs\my_ll1_try\v15\Server\sqlite3\storage.ide
文件 32768 2019-01-10 14:29 课设\my_ll1_try\.vs\my_ll1_try\v15\Server\sqlite3\storage.ide-shm
文件 4140632 2019-01-10 23:18 课设\my_ll1_try\.vs\my_ll1_try\v15\Server\sqlite3\storage.ide-wal
目录 0 2019-01-11 13:14 课设\my_ll1_try\my_ll1_try\
文件 1128 2019-01-06 19:51 课设\my_ll1_try\my_ll1_try.sln
文件 189 2019-01-06 19:51 课设\my_ll1_try\my_ll1_try\App.config
目录 0 2019-01-11 13:14 课设\my_ll1_try\my_ll1_try\bin\
目录 0 2019-01-11 13:14 课设\my_ll1_try\my_ll1_try\bin\Debug\
文件 27136 2019-01-10 23:18 课设\my_ll1_try\my_ll1_try\bin\Debug\my_ll1_try.exe
文件 189 2019-01-06 19:51 课设\my_ll1_try\my_ll1_try\bin\Debug\my_ll1_try.exe.config
文件 60928 2019-01-10 23:18 课设\my_ll1_try\my_ll1_try\bin\Debug\my_ll1_try.pdb
文件 51545 2019-01-10 23:04 课设\my_ll1_try\my_ll1_try\Form1.cs
文件 10679 2019-01-10 23:18 课设\my_ll1_try\my_ll1_try\Form1.Designer.cs
文件 5817 2019-01-10 23:03 课设\my_ll1_try\my_ll1_try\Form1.resx
文件 3608 2019-01-06 19:53 课设\my_ll1_try\my_ll1_try\my_ll1_try.csproj
目录 0 2019-01-11 13:14 课设\my_ll1_try\my_ll1_try\obj\
目录 0 2019-01-11 13:14 课设\my_ll1_try\my_ll1_try\obj\Debug\
文件 1443 2019-01-07 08:38 课设\my_ll1_try\my_ll1_try\obj\Debug\DesignTimeResolveAssemblyReferences.cache
文件 7124 2019-01-06 19:52 课设\my_ll1_try\my_ll1_try\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 42 2019-01-06 19:51 课设\my_ll1_try\my_ll1_try\obj\Debug\my_ll1_try.csproj.CoreCompileInputs.cache
文件 705 2019-01-10 23:03 课设\my_ll1_try\my_ll1_try\obj\Debug\my_ll1_try.csproj.FileListAbsolute.txt
............此处省略18个文件信息
- 上一篇:易康9安装包及破解.zip
- 下一篇:opencv红绿灯识别样本北京市的红绿灯
相关资源
- 数字电路四花样彩灯课程设计
- Parsing Techs A Practical Guide pdf
- 高频课程设计之调频接收机
- 编译原理 南京大学计算机系
- 中北大学软件学院操作系统课程设计
- 编译课程设计全班
- 计算机组成原理基于cop200课程设计 写
- 计算机网络课程设计,校园网的设计
- 单片机课程设计:数字电压表8路通道
- 信息安全基础课程设计实验报告
- 酒店客房管理系统数据库课程设计1
- 网络互联课程设计
- UML软件建模技术期末课程设计_教学管
- EDA课程设计带完整设计报告.zip
- 微机原理抢答器(双数码管)课程设
- 嵌入式系统课程设计报告--多功能电子
- 嵌入式系统课程设计--多功能电子钟设
- 汇编51单片机密码锁含论文、程序、
- 数据结构课程设计报告(最小生成树
- 操作系统课程设计报告(进程控制与
- 河北工业大学编译原理实验报告及源
- 车牌识别课程设计,能运行,模板匹
- 《数字电路课程设计及实验》李维 主
- Authorware 多媒体 课程设计
- 编译原理陈火旺版共十章ppt讲义
- 网页课程设计
- 2048游戏的WINDOWS SDK实现 面向对象
- 整套软件工程课设文档和程序
- tracert课程设计
- 广东海洋大学网络工程课程设计
评论
共有 条评论