资源简介
编译原理课程设计项目,带报告
根据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红绿灯识别样本北京市的红绿灯
相关资源
- FTP课程设计(服务端+客户端)
- 编译原理实验工具及参考源码(lex&
- 类pascal语言编译器(编译原理实验)
- 高频电子线路课程设计报告收音机
- 直流稳压电源的课程设计、安装及调
- EDA课程设计_密码锁
- 单片机课程设计 篮球计分器
- 数据结构课程设计 6 1 彩票系统
- 端口扫描课程设计详细的报告
- 步进电机课程设计(个人设计)
- 校园网络规划与设计课程设计
- 编译原理课程设计:词法语法编译器
-
simuli
nk 课程设计 qpsk - 武汉理工大学 单片机课程设计 16*16点
- 数据库VFP课程设计
- 分页系统模拟实验 操作系统 课程设
- 中科院 编译原理 习题及解答
- 编译原理四元式和逆波兰式
- 模拟段页式虚拟存储管理中地址转换
- 硬件课程设计—流水灯(quartus软件
- 超市收银系统eclipse access大学课程设计
- 航空订票系统_数据结构课程设计
- c 课程设计 职工信息管理系统
- 汇编语言,课程设计,红绿灯
- 机床液压系统课程设计卧式钻床动力
- 课程设计蔬菜大棚自动控制系统,包
- 密码学课程设计:DES加密解密算法的
- 操作系统课程设计完整版
- 磁盘调度算法的模拟实现及对比
- 《编译原理》清华大学版中的pl0扩充
评论
共有 条评论