⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 grammar.cs

📁 实现LL1文法
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Text;

namespace LL1
{
    class Grammar
    {
        private int NumOfWenfa;
        private Wenfa[] WF;
        private char StartSymbols;
        public Grammar()
        {
            NumOfWenfa = 0;
            WF = new Wenfa[20];
            StartSymbols = new char();
        }
        public void Insert_Wenfa(char Wenfa_Left,char[] Wenfa_Right) 
        {
            WF[NumOfWenfa] = new Wenfa();
            WF[NumOfWenfa].Wenfa_Left = Wenfa_Left;
            WF[NumOfWenfa].Wenfa_Right = Wenfa_Right;
            NumOfWenfa++;
        }
        public void Insert_Wenfa(int No,char Wenfa_Left,char[] Wenfa_Right) 
        {
            NumOfWenfa++;
            for (int i = NumOfWenfa; i > No; i--) 
            {
                WF[i] = WF[i - 1];
            }
            WF[No].Wenfa_Left = Wenfa_Left;
            WF[No].Wenfa_Right = Wenfa_Right;
        }
        public void Set_StartSymbols(char Symbols)
        {
            StartSymbols = Symbols;
        }
        public void Delete_Wenfa(int No) 
        {
            for (int i = No; i < NumOfWenfa; i++) 
            {
                WF[i] = WF[i + 1];
            }
            NumOfWenfa--;
        }
        public void Delete_Wenfa(char Wenfa_Left, char[] Wenfa_Right) 
        {
            for (int i = 0; i < NumOfWenfa; i++) 
            {
                if ((WF[i].Wenfa_Left == Wenfa_Left) &&( WF[i].Wenfa_Right == Wenfa_Right)) 
                {
                    Delete_Wenfa(i);
                    break;
                }
            }
        }
        public char Get_StartSymbols()
        {
            return StartSymbols;
        }

        public int Get_NumOfWenfa() 
        {
            return NumOfWenfa;
        }

        public Wenfa Get_Wenfa(int No) 
        {
            return WF[No];
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -