资源简介

编译原理课程设计项目,带报告 根据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个文件信息

评论

共有 条评论