亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? form1.cs

?? 編譯原理語法分析和詞法分析綜合實驗: 源程序、可執行程序、測試程序文件、程序運行說明文件、實驗報告。
?? CS
字號:
using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Antlr.Runtime.Collections;
using Antlr.Runtime.Debug;
using Antlr.Runtime.Tree;
using Antlr.Runtime.Misc;
using Antlr.StringTemplate;
using Antlr.Runtime;
using Antlr.Utility;
using regularExpression = System.Text.RegularExpressions;
using System.Collections;
namespace syn
{
    public partial class Form1 : Form
    {
        //static int ds = 0;
        public Form1()
        {

            InitializeComponent();
        }


        private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
        {
            //if (openFileDialog1.ShowDialog() == DialogResult.OK)
            //{
            //    StreamReader st=new StreamReader(openFileDialog1.FileName);

            //    richTextBoxReadin.Text = st.ReadToEnd();
            //}
        }

        private void buttonRead_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                StreamReader st = new StreamReader(openFileDialog1.FileName);

                richTextBoxReadin.Text = st.ReadToEnd();
            }
        }
        //string analyse
       
        public static ArrayList subStringCollection;
        public void Lexer()//詞法分析
        {//FontDialog fg=new FontDialog();fg.Color=Color.Green;
            Boolean isComment = true;
            //Boolean isComment1 = true;
            string str = "";
            subStringCollection = new ArrayList();
            string text = richTextBoxReadin.Text;
            string pat = @"([!][=])|([&][&])|([|][|])" + @"|([|!#%&])|([:;,.'])" + @"|([/][/].*)" + @"|[/][*]|[*][/]" + @"|([(){}])" + @"|([[])|([]])" + @"|([+][+])|([-][-])|([=][=])|([>][=])|([<][=])|([+-])|([1-9]*[0-9]+[.][0-9]+)|[0]|([1-9][0-9]*)|([*/><=])|([a-zA-Z_]+[a-zA-Z0-9_]*)|" + @"([""][\s\S]*[""])" + @"|([\\][\\])" + @"|([\\])";
            richTextBoxAnaliseOut.Text = "";
            regularExpression.Regex re = new regularExpression.Regex(pat, regularExpression.RegexOptions.Compiled);
            regularExpression.Match mat = re.Match(text);
            while (mat.Success)
            {
                
                if (mat.Value.Contains(@"/*"))
                {
                    isComment = false;
                    //isComment1 = false;
                }
                str=mat.Value;
                if (str.Contains(@"*/"))
                {
                    if (isComment == false)
                        str = "";
                    isComment = true;
                    
                }
                
                if (isComment && !str.Equals("")&& !str.Contains(@"//") )
                {
                    if (CategoryCode(str) < 12 ||str.Equals(@"\#"))
                    {
                        richTextBoxReadin.Select(mat.Index, str.Length);
                        richTextBoxReadin.SelectionColor = Color.Blue;
                    }
                    subStringCollection.Add(str);
                    if(!str.Equals(@"*/"))
                    richTextBoxAnaliseOut.Text += CategoryCode(str) + "\t" + str + "\n";
                }
                mat = mat.NextMatch();
            }
          
        }
        private void buttonAnalyse_Click(object sender, EventArgs e)
        {
            Lexer();
        }

        //add CategoryCodes
        public static int CategoryCode(String charCollection)
        {
            switch (charCollection)
            {
                case "else": return 0;
                case "void": return -1;
                case "include": return -2;
                case "main": return 1;
                case "int": return 2;
                case "float": return 3;             
                case "printf": return 4;
                case "if": return 5;
                case "for": return 6;
                case "while": return 7;
                case "do": return 8;
                case "return": return 9;
                case "break": return 10;
                case "continue": return 11;
                case "+": return 12;
                case "-": return 13;
                case "*": return 14;
                case "/": return 15;
                case ">": return 16;
                case "<": return 17;
                case ">=": return 18;
                case "<=": return 19;
                case "!=": return 20;
                case "==": return 21;
                case "++": return 22;
                case "--": return 23;
                case "=": return 24;
                case "(": return 25;
                case ")": return 26;
                case "{": return 27;
                case "}": return 28;
                case "[": return 29;
                case "]": return 30;
                case "'": return 31;
                case ",": return 32;
                case ".": return 33;
                case ";": return 34;
                case ":": return 35;
                case "//": return 36;
                case @"\": return 37;
                case @"\\": return 38;
                case "&": return 39;
                case "&&": return 40;
                case "|": return 41;
                case "||": return 42;
                case "!": return 43;
                case @"%": return 44;
                case "#": return 45;
                
                default: return 46;
            }
        }

        int isSuccessParser = 0;
        private void buttonParser_Click(object sender, EventArgs e)
        {
            Lexer();
            if (subStringCollection.Count > 12)
            {
                syntaxAnalyser parser = new syntaxAnalyser(richTextBoxStatus);
                parser.AnalyseCode();
                isSuccessParser = parser.isSuccess;
            }
            else
                richTextBoxStatus.Text+="the code is not complete!\n";
        }

        
        private void button3_Click(object sender, EventArgs e)
        {
            if (isSuccessParser == 0)
                MessageBox.Show("parsing is not passed!");
            else
            {
                semAnalysis sem = new semAnalysis();
                sem.IsVarible();
                richTextBoxStatus.Text += "\n已定義變量:" + sem.VariableStack;
                richTextBoxStatus.Text += "\n重定義變量:" + sem.reDefine;
                richTextBoxStatus.Text += "\n未定義變量:" + sem.unDefine;
            }
        }

        private void button4_Click(object sender, EventArgs e)
        {
            MessageBox.Show("have not yet to implement!");
        }

        private void richTextBoxStatus_TextChanged(object sender, EventArgs e)
        {
            richTextBoxStatus.Text = "";
        }

        private void richTextBoxReadin_TextChanged(object sender, EventArgs e)
        {
            richTextBoxReadin.Text = "";
        }

        private void richTextBoxAnaliseOut_TextChanged(object sender, EventArgs e)
        {
            richTextBoxAnaliseOut.Text = "";
        }

        private void button5_Click(object sender, EventArgs e)
        {
            richTextBoxStatus.Text = "";
        }
        
        
        private void button7_Click(object sender, EventArgs e)
        {
            
            Form form1 = new Form();
            RichTextBox rich = new RichTextBox();
            rich.Text = richTextBoxStatus.Text;
            rich.Dock = System.Windows.Forms.DockStyle.Fill;
            form1.Controls.Add(rich);
            form1.Show();
        }



      

        
        
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩高清一区| 一区二区在线电影| 1区2区3区精品视频| 日本特黄久久久高潮| 成人福利电影精品一区二区在线观看| 欧美日韩色一区| 国产精品久久久久9999吃药| 视频一区在线播放| 色呦呦国产精品| 欧美国产日韩在线观看| 老司机精品视频在线| 欧美性生交片4| 国产精品国产三级国产aⅴ原创| 日产国产高清一区二区三区| 日本精品裸体写真集在线观看| 国产视频视频一区| 激情五月婷婷综合网| 在线电影一区二区三区| 一区二区视频免费在线观看| 成人高清免费观看| 国产精品色在线观看| 精品系列免费在线观看| 日韩一卡二卡三卡国产欧美| 亚洲v精品v日韩v欧美v专区| 色天天综合久久久久综合片| 亚洲欧洲日韩一区二区三区| 国产精品一区2区| 久久久综合激的五月天| 精品一区二区三区在线视频| 欧美成人精品1314www| 天天免费综合色| 欧美浪妇xxxx高跟鞋交| 亚洲国产一区二区视频| 欧美日韩一级片网站| 亚洲影院理伦片| 欧美日韩成人综合在线一区二区| 亚洲国产wwwccc36天堂| 制服丝袜日韩国产| 日韩激情一区二区| 日韩欧美区一区二| 国产自产v一区二区三区c| 久久蜜臀精品av| 国产成人精品网址| 国产精品高清亚洲| 91国内精品野花午夜精品| 亚洲综合在线视频| 欧美精品久久99| 久久国产剧场电影| 中文乱码免费一区二区| 91极品美女在线| 丝袜美腿高跟呻吟高潮一区| 欧美成人福利视频| 成人一区二区三区| 亚洲另类在线一区| 欧美理论电影在线| 国产精品一区二区不卡| 亚洲欧美日韩国产另类专区 | 一个色综合网站| 欧美色区777第一页| 日产欧产美韩系列久久99| 2021中文字幕一区亚洲| av欧美精品.com| 首页欧美精品中文字幕| 久久精品一区二区三区av| 91丨九色丨蝌蚪丨老版| 日韩 欧美一区二区三区| 中文字幕欧美日韩一区| 欧美日韩国产一级二级| 国产精品538一区二区在线| 亚洲欧美色一区| 日韩精品在线一区| 日本久久电影网| 国产综合久久久久久久久久久久| 亚洲乱码中文字幕| 欧美精品一区二| 欧美日韩久久不卡| 成人小视频在线| 视频精品一区二区| 亚洲欧洲国产日韩| 精品美女在线播放| 欧美视频在线观看一区| 国产999精品久久久久久绿帽| 一区二区三区精品视频在线| 精品国产露脸精彩对白| 欧美视频在线一区| 9i看片成人免费高清| 久久国产福利国产秒拍| 亚洲一区二区三区不卡国产欧美| 久久久久亚洲蜜桃| 日韩午夜电影在线观看| 在线精品国精品国产尤物884a| 国产一区二区在线视频| 日韩和的一区二区| 一区二区三区免费网站| 国产精品天美传媒| 亚洲一区视频在线| 国产精品天干天干在线综合| 精品国产三级a在线观看| 欧洲人成人精品| 97se狠狠狠综合亚洲狠狠| 激情综合五月婷婷| 日本亚洲一区二区| 午夜不卡av免费| 亚洲午夜免费视频| 亚洲女子a中天字幕| 麻豆精品在线观看| 日本美女一区二区三区视频| 亚洲福中文字幕伊人影院| 亚洲色图19p| 亚洲人xxxx| 亚洲欧洲av另类| 亚洲人被黑人高潮完整版| 国产精品久久久久久久久免费相片| 久久精品水蜜桃av综合天堂| 久久色中文字幕| 精品国产伦一区二区三区观看方式| 8x福利精品第一导航| 在线不卡中文字幕| 欧美大片一区二区| 精品国产麻豆免费人成网站| 日韩欧美国产三级电影视频| 欧美一级二级三级蜜桃| 欧美一区二区精美| 欧美mv日韩mv| 久久九九久久九九| 亚洲欧洲www| 亚洲一区二区三区三| 五月天丁香久久| 麻豆久久一区二区| 国产黑丝在线一区二区三区| 国产成人精品影院| 一本大道久久a久久综合| 欧美亚日韩国产aⅴ精品中极品| 欧美日韩一区二区不卡| 日韩三级免费观看| 国产丝袜欧美中文另类| 亚洲青青青在线视频| 午夜电影一区二区三区| 另类小说欧美激情| 福利一区福利二区| 欧美性做爰猛烈叫床潮| 日韩欧美综合在线| 国产精品入口麻豆九色| 一区二区成人在线视频| 久久99热国产| av在线这里只有精品| 欧美亚洲综合色| 精品欧美久久久| 亚洲日本在线a| 日本伊人色综合网| 成人蜜臀av电影| 欧美一区二区三区在线| 国产女人18毛片水真多成人如厕| 亚洲精品久久7777| 毛片av中文字幕一区二区| 成人精品国产一区二区4080| 欧美日韩免费观看一区二区三区| 日韩午夜激情免费电影| 亚洲码国产岛国毛片在线| 午夜日韩在线观看| 国产不卡免费视频| 欧美巨大另类极品videosbest| 国产日韩av一区二区| 午夜精品福利在线| caoporm超碰国产精品| 欧美一级久久久久久久大片| 国产精品伦理一区二区| 精品一区二区三区视频在线观看| 99精品国产91久久久久久| 欧美成人一级视频| 同产精品九九九| www.综合网.com| 久久这里只精品最新地址| 亚洲福利电影网| 91丝袜美腿高跟国产极品老师| 久久婷婷国产综合精品青草| 性欧美疯狂xxxxbbbb| 色综合视频在线观看| 国产精品三级电影| 国产一区二区伦理片| 日韩精品一区二区三区中文不卡| 亚洲一区二区三区免费视频| 91亚洲男人天堂| 中国色在线观看另类| 国产一区二区三区观看| 日韩欧美色综合网站| 偷拍亚洲欧洲综合| 欧美日韩三级一区| 亚洲狠狠爱一区二区三区| 色久综合一二码| 亚洲美女淫视频| 日本电影欧美片| 日韩理论片网站| 91女人视频在线观看| 国产精品久久久久久户外露出| 国产高清无密码一区二区三区| 精品99999| 国产在线精品不卡| 26uuu国产一区二区三区| 久久99精品网久久|