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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? main.cs

?? C語言來構(gòu)造編譯器的,十分詳細(xì)的源代碼
?? CS
?? 第 1 頁 / 共 5 頁
字號:
?using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
    public partial class main : Form
    {

        public main()//系統(tǒng)生成
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
           
           
        }
        private void richTextBox3_TextChanged(object sender, EventArgs e)
        {

        }
        //以下開始有加入內(nèi)容
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        private void yuyi_Click(object sender, EventArgs e)
        {
            checkmain();//對整個(gè)程序的編碼進(jìn)行檢查并分配函數(shù)
        }
        //測試使用
        //string in_wzj;//導(dǎo)入inw的內(nèi)容

        //int[] shuru = { 9, 32, 15, 32, 15, 32, 13, 32, 15, 32, 25 };//數(shù)組(測試)wenti
        //string[] shuru_s ={ "program", "a", "/", "b", "/", "s", "+", "z", "*", "q", ")" };
        //int[] shuru = { 9, 32, 15, 32, 13, 32, 15, 32, 25 };//數(shù)組(測試)
        //string[] shuru_s ={ "program",  "b", "*", "s", "+", "z", "*", "q", ")" };
        //int[] shuru = { 9,  32, 13, 32, 13, 32, 25 };//數(shù)組(測試)
        //string[] shuru_s ={ "program", "s", "+", "z", "+", "q", ")" };
        //int[] shuru = { 9, 32, 13, 32, 15, 32, 13, 32, 25 };//數(shù)組(測試)
        //string[] shuru_s ={ "program", "b", "+", "s", "*", "z", "+", "q", ")" };
        //int[] shuru = { 9, 32, 15, 32, 15, 32  };//數(shù)組(測試)
        //string[] shuru_s ={ "program", "b", "*", "s", "*", "z" };
        //int[] shuru = { 9, 32, 17, 32, 15, 32, 26 };//數(shù)組(測試)
        //string[] shuru_s ={ "program", "s", "=", "z", "*", "q", ";" };
        //int[] shuru = { 9, 32, 17, 32, 15, 32, 15, 32, 13, 32, 26, 32, 17, 32, 18, 32, 15, 32, 13, 32, 26 };//數(shù)組(測試)
        //string[] shuru_s ={ "program", "s", "=", "z", "*", "q", "*", "f", "+", "z", ";", "s", ">=", "z", "*", "q", "*", "f", "+", "z", ";" };
        //int[] shuru = { 9, 32, 21,32, 13, 32, 15, 32 ,13,32,25};//數(shù)組(測試)
        //string[] shuru_s ={ "program", "s", "<", "b", "+", "s", "*", "z", "+", "z", ")" };
        //int[] shuru = { 9, 32, 17, 27, 31, 27, 26 };//數(shù)組(測試)
        //string[] shuru_s ={ "program", "s", "=", "'", "g", "'", ";" };
        //int[] shuru = { 9, 32, 22, 30,  25 };//數(shù)組(測試)
        //string[] shuru_s ={ "program", "s", "==", "555", ")" };
        //int[] shuru = { 9, 32, 18, 27, 31, 27, 26 };//數(shù)組(測試)
        //string[] shuru_s ={ "program", "s", ">=", "'", "g", "'", ";" };
        //int[] shuru = { 9,6 ,24,32, 21, 32, 13, 32, 15, 32, 13, 32, 25 ,7,32,17,32,13,32,26,8};//數(shù)組(測試)
        //string[] shuru_s ={ "program", "while", "(", "s", "<", "b", "+", "s", "*", "z", "+", "z", ")", "do", "a", "=", "b", "+", "r", ";", "endwhile" };
        //int[] shuru = { 9, 6, 24, 32, 21, 32, 15, 32, 25, 7, 32, 17, 32, 26, 32, 17, 32, 26, 8 };//數(shù)組(測試)
        //string[] shuru_s ={ "program", "while", "(", "s", "<", "b", "*", "s", ")", "do", "a", "=", "b", ";", "a", "=", "b", ";", "endwhile" };
        //int[] shuru = { 9, 6, 24, 32, 21, 32, 13, 32, 15, 32, 13, 32, 25, 7, 32, 17, 32, 26, 32, 17, 32,15,32, 26, 8 };//數(shù)組(測試)
        //string[] shuru_s ={ "program", "while", "(", "s", "<", "b", "+", "s", "*", "z", "+", "z", ")", "do", "a", "=", "b", ";", "a", "=", "b", "*", "d", ";", "endwhile" };
        //int[] shuru = { 9, 6, 24, 32, 21, 32, 15, 32, 13, 32, 25, 7, 32, 17, 32, 15, 32, 26, 32, 17, 32, 26, 8 };//數(shù)組(測試)
        //string[] shuru_s ={ "program", "while", "(", "s", "<", "b", "*", "s", "+", "h", ")", "do", "a", "=", "b", "*", "s", ";", "c", "=", "b", ";", "endwhile" };
        int[] shuru = { 9, 32, 17, 30, 26, 0, 24, 32, 21, 32, 13, 32, 15, 32, 13, 32, 25, 1, 32, 17, 32, 26, 32, 17, 32, 15, 32, 26, 2, 32, 17, 30, 26, 3, 6, 24, 32, 21, 32, 13, 32, 15, 32, 13, 32, 25, 7, 32, 17, 32, 26, 32, 17, 27, 31, 27, 26, 8,11 };//數(shù)組(測試)
        string[] shuru_s ={ "program", "a", "=", "3", ";", "if", "(", "s", "<", "b", "+", "s", "*", "z", "+", "z", ")", "then", "a", "=", "b", ";", "a", "=", "b", "*", "d", ";", "else", "a", "=", "3", ";", "endif", "while", "(", "s", "<", "b", "+", "s", "*", "z", "+", "z", ")", "do", "a", "=", "b", ";", "a", "=", "'", "t", "'", ";", "endwhile", "endprogram" };
        //以下的部分為變量聲明
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        int now;//目標(biāo)部分的存儲(chǔ)器,表示當(dāng)前數(shù)組元素的值
        int tip = 0;//表示數(shù)組號
        string[] siyuanshi ={ "", "", "", "" }, siyuanshi1 ={ "", "", "", "" }, siyuanshi2 ={ "", "", "", "" }, siyuanshi3 ={ "", "", "", "" }, siyuanshi4 ={ "", "", "", "" };//四元式的存儲(chǔ)數(shù)組
        int huancun;//就是t1,t2,t3......
        bool lian_chen=false,chen_chu=false;
        int hangshu = 1;//輸出的四元式的行數(shù)
        int linshi_int,linshi_int1,yuxianpd,linshi_int2;
        int shuchu_yuansu = 0,shuchu_yuansu1=0;//傳遞給優(yōu)化的數(shù)組的數(shù)組符
        string linshi;//四元式的跳轉(zhuǎn)的行數(shù),與行數(shù)配合使用
        int[] shuchu_i ={ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
        string[] shuchu_s ={ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "","", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" , "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""};//輸出的初始化
        //以下開始是自定義函數(shù)
        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        public void init()//初始化【完成】
            {
                scan();//對第一個(gè)數(shù)組元素進(jìn)行復(fù)制,復(fù)制到now
            }
        //以上的部分為初始話,掃描數(shù)組
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        public void checkmain()//對整個(gè)程序的編碼進(jìn)行檢查并分配函數(shù)【完成】
            {
                init();//初始化
                richTextBox3.AppendText("ywz提示;\n\n");//提示信息
                if (tip >= shuru.Length) tip = 0;//避免數(shù)組溢出(此句也可以注釋掉)tip的值復(fù)位
                //由于在語義分析中對于declare的部分(聲明)不進(jìn)行四元式的轉(zhuǎn)換,另外我們所定制的語言必須以聲明開頭,所以略過聲明部分
                while (now != 9)  //在初始init()中執(zhí)行的scan()所得到的值不為program時(shí),不斷檢測
                {
                    //textBox1.Text = tip.ToString();//檢測用
                    //textBox2.Text = shuru.Length.ToString();//檢測用
                    xiayige();//使數(shù)組指向下一個(gè)元素賦給now,由于getnext()只執(zhí)行了將數(shù)組號加一的功能,而沒有將這時(shí)的shuru【】的值賦給now,所以如果不加scan()會(huì)產(chǎn)生數(shù)組號溢出的問題
                    //if (now == 9)//檢測用
                    //{ init(); break; }//檢測用
                    if (tip == shuru.Length - 1 && tip != 9)//當(dāng)tip的值等于數(shù)組的長度-1(即數(shù)組號的最大值)且此數(shù)組不為program時(shí)
                    { richTextBox3.AppendText("\n\n執(zhí)行的程序中缺少program!\n\n"); break; }//提示信息
                }
                //outw.AppendText("ahahahh");//檢測用
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                //上方為program檢測,下方為四元式生成
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                while (tip < shuru.Length - 1)//在tip的值在最大值以內(nèi)執(zhí)行循環(huán)
                {

                    if (tip < shuru.Length - 1)//判斷tip的值在最大值以內(nèi)
                        xiayige();//使數(shù)組指向下一個(gè)元素賦給now
                    if (now == 0) ifs();//if
                    if (now == 6) whiles();//while
                    if (now == 18 || now == 19 || now == 20 || now == 21 || now == 22 || now == 23) {bools();}
                    if (now == 17) {fuzhis();}
                    if (now == 15 || now == 16) { chenchus(); }
                    if (now == 13 || now == 14) { jiajians(); }
                    //MessageBox.Show("you program","dd",MessageBoxButtons.OK,MessageBoxIcon.Information);

                    //if() init(); 
                    //getnext();

                    if (now == 11) { shuchui(11); shuchus("endprogram"); }
                    if (tip >= shuru.Length - 1) { tip = 0; break; }//當(dāng)tip的值達(dá)到最大值時(shí)跳出循環(huán),并將tip的值復(fù)位
                }
                if (tip >= shuru.Length) tip = 0;//避免數(shù)組溢出(此句也可以注釋掉)tip的值復(fù)位
                //textBox1.Text = tip.ToString();//檢測用
                richTextBox3.AppendText("\n\n語義分析完成! \n\n四元式說明:\r\n空:__\r\n常數(shù):###\r\n臨時(shí)變量:T###\r\n變量:***\r\n運(yùn)算符:@@\r\n行數(shù):L###\r\n(###為數(shù)字,***為字母,@@為運(yùn)算符)\r\n\n");//完成后的提示信息
                shuchu_yuansu = 0; shuchu_yuansu1 = 0;
                //for (int i = 0; i < shuchu_s.Length; i++) { richTextBox3.AppendText(shuchu_s[i]+" "); }//輸出部分的檢測
                //for (int i = 0; i < shuchu_i.Length; i++) { richTextBox3.AppendText(shuchu_i[i]+" "); }//輸出部分的檢測
            }
        //以上的部分為主程序
        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        public void duru()//將詞法分析的內(nèi)容讀入數(shù)組的模塊【未完成】
            {
                //int i=0;
                //  string[]   strData   =   strLine.Split( ', '); 
                //  for(int   i=0;i <strData.Length;i++) 
                //  { 
                //          Response.Write(strData[i]+ " <br> "); 
                //  
                //  } 

                //in_wzj=inw.SelectedText;//獲取選定的文本
                //in_wzj = inw.Text;//原始的獲取輸出
                //outw.AppendText(in_wzj);//追加輸出
                //for (i = 0; i < inw.MaxLength; i++)
                //{ outw.Text = in_wzj; }

            }
        //以上部分是讀入模塊,以下兩個(gè)是讀出模塊
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        public string youhua_s()//輸出到優(yōu)化部分的函數(shù)string【完成】
        {
            int i = 0;
            string p;
            p = shuchu_s[i];
            i++;
            return p;
        
        }
        public int youhua_i()//輸出到優(yōu)化部分的函數(shù)int【完成】
        {
            int i = 0, p;
            p = shuchu_i[i];
            i++;
            return p;
        
        }
        //以下是if分支判斷部分
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        public string ifs()//if的功能【完成】
        {
            shuchui(0);shuchus("if ");//輸出接口的基本塊劃分
            xiayige(); xiayige();//下兩個(gè)是bool式子的第一個(gè)id
            switch (now)//判斷now
            {

                case 32://如果是id(只可能是id)
                    xiayige();//下一個(gè)
                    if (now == 18 || now == 19 || now == 20 || now == 21 || now == 22 || now == 23) { bools(); }//判斷產(chǎn)生bool式的條件
                    else { listBox1.Items.Add("錯(cuò)誤 !while 后面應(yīng)跟bool表達(dá)式"); break; }//如果不是bool式報(bào)錯(cuò)
                    xiayige();//下一個(gè)取then
                    shuchui(1); shuchus("then ");//輸出接口的基本塊劃分
                   if (now == 1)//then
                    {
                        if (searchelse() == 0)//當(dāng)沒有else的情況,即為if then endif

                        {
                            textBox1.Text = searchelse().ToString();//測試用
                            yuxianpd = researchif();//進(jìn)行出口的判斷
                            linshi_int2 = hangshu + yuxianpd + 1;//計(jì)算出口
                            tiaozhuans(linshi_int2);//輸出無條件天轉(zhuǎn)的四元式
                            while (now != 3)//endif  當(dāng)now不為endif的時(shí)候執(zhí)行
                            {

                                if (now == 17) //=
                                {
                                    fuzhis(); //賦值計(jì)算

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91福利资源站| 偷拍日韩校园综合在线| 国产综合色产在线精品| 欧美α欧美αv大片| 久久不见久久见免费视频1| 日韩欧美综合一区| 国产一本一道久久香蕉| 国产欧美日韩三区| 99在线精品观看| 亚洲资源在线观看| 欧美一级片免费看| 国产在线精品免费| 国产精品乱人伦| 欧美在线一区二区三区| 日韩精品福利网| 欧美大片一区二区| av网站免费线看精品| 一二三区精品视频| 日韩女同互慰一区二区| 大胆欧美人体老妇| 亚洲午夜久久久久中文字幕久| 在线播放欧美女士性生活| 久久99精品久久久久久久久久久久| 精品国产制服丝袜高跟| av激情成人网| 日韩成人免费看| 国产日产欧产精品推荐色| 色菇凉天天综合网| 久久99久久久久| 日韩美女精品在线| 欧美一区日韩一区| 91在线观看污| 久久99九九99精品| 亚洲黄一区二区三区| 88在线观看91蜜桃国自产| 东方aⅴ免费观看久久av| 亚洲国产美女搞黄色| 久久精品亚洲一区二区三区浴池| 91久久奴性调教| 国产精品一区专区| 午夜精品久久一牛影视| 国产精品人人做人人爽人人添| 欧美日韩大陆一区二区| 成人性色生活片| 久久精品国产77777蜜臀| 亚洲视频一二三| 久久久精品人体av艺术| 欧美日本高清视频在线观看| 成人免费三级在线| 精品亚洲免费视频| 亚洲国产美国国产综合一区二区| 中文字幕av一区二区三区高| 日韩一二三区不卡| 欧美系列在线观看| 99久久夜色精品国产网站| 韩国v欧美v日本v亚洲v| 无码av中文一区二区三区桃花岛| 国产精品剧情在线亚洲| 337p日本欧洲亚洲大胆色噜噜| 欧美亚洲国产一区在线观看网站| 成人丝袜18视频在线观看| 激情成人午夜视频| 蜜桃av一区二区三区| 视频一区中文字幕国产| 亚洲摸摸操操av| 国产精品福利在线播放| 国产欧美中文在线| 久久精品人人爽人人爽| 日韩欧美电影在线| 欧美日韩亚洲国产综合| 91在线免费视频观看| 99国产精品99久久久久久| 成人综合在线网站| 岛国精品一区二区| 丁香啪啪综合成人亚洲小说| 国产成人超碰人人澡人人澡| 国产尤物一区二区在线| 国产在线麻豆精品观看| 国内不卡的二区三区中文字幕| 久久精品国产一区二区三区免费看| 日韩电影免费一区| 久久精品国产一区二区三| 老色鬼精品视频在线观看播放| 青青青伊人色综合久久| 看电视剧不卡顿的网站| 经典一区二区三区| 国产成人日日夜夜| bt7086福利一区国产| 91蜜桃婷婷狠狠久久综合9色| 91免费国产在线| 日本二三区不卡| 69精品人人人人| 日韩欧美你懂的| 26uuu亚洲综合色| 国产精品久久久久桃色tv| 综合欧美亚洲日本| 亚洲图片自拍偷拍| 免费观看成人av| 国产精品1区2区| 色综合天天性综合| 欧美日韩国产一区二区三区地区| 91精品国产麻豆国产自产在线| 精品久久久久av影院| 国产精品毛片大码女人| 亚洲综合偷拍欧美一区色| 免费观看30秒视频久久| 高清久久久久久| 欧美在线观看视频在线| 欧美成人在线直播| 国产精品免费免费| 午夜精品一区二区三区电影天堂| 国产在线一区二区综合免费视频| 99热精品国产| 欧美一级搡bbbb搡bbbb| 国产精品全国免费观看高清 | 久久九九国产精品| 国产精品初高中害羞小美女文| 一区二区三区在线视频观看| 日本成人中文字幕| 成人黄色片在线观看| 91麻豆精品国产91久久久久| 久久久久久亚洲综合| 一区二区三区日韩精品| 久久av资源网| 欧美在线不卡一区| 国产色爱av资源综合区| 天天色综合天天| 成人国产免费视频| 欧美一级专区免费大片| 亚洲女同女同女同女同女同69| 久久er精品视频| 欧美日韩高清一区二区不卡| 国产精品伦一区二区三级视频| 蜜臀久久99精品久久久久久9 | 午夜一区二区三区视频| 国产精品18久久久久| 欧美三区免费完整视频在线观看| 国产无人区一区二区三区| 天堂蜜桃一区二区三区| 91看片淫黄大片一级在线观看| 亚洲精品一区二区三区四区高清 | 亚洲国产精品综合小说图片区| 狠狠狠色丁香婷婷综合久久五月| 一本久道久久综合中文字幕| 久久嫩草精品久久久久| 麻豆精品一区二区综合av| 欧美性感一类影片在线播放| 国产精品国产三级国产三级人妇 | 99久久精品久久久久久清纯| 欧美成人伊人久久综合网| 亚洲成人精品在线观看| 色综合夜色一区| 日本一区二区三区久久久久久久久不| 免费观看一级特黄欧美大片| 欧洲人成人精品| 亚洲男人的天堂在线观看| 成人动漫在线一区| 中国av一区二区三区| 国产精品 欧美精品| 精品91自产拍在线观看一区| 日本不卡一区二区| 欧美一区二区三区系列电影| 亚洲成人动漫在线观看| 欧美色区777第一页| 亚洲黄色小视频| 在线精品视频一区二区三四| 亚洲男女毛片无遮挡| 91麻豆成人久久精品二区三区| 亚洲蜜桃精久久久久久久| 色综合天天综合色综合av | 欧美成人女星排名| 视频一区欧美日韩| 欧美一级高清片| 精品一区二区三区视频在线观看| 日韩三级视频中文字幕| 久久激情综合网| 久久精品亚洲一区二区三区浴池| 国产福利一区二区| 中文字幕av资源一区| 91看片淫黄大片一级在线观看| 亚洲男女一区二区三区| 欧美影院一区二区三区| 天堂成人国产精品一区| 日韩欧美在线网站| 国产成人在线视频播放| 中文字幕中文字幕在线一区| 91香蕉视频在线| 午夜成人免费视频| 精品福利在线导航| 不卡av免费在线观看| 亚洲精品国产精华液| 欧美疯狂做受xxxx富婆| 久久国内精品视频| 欧美国产视频在线| 在线观看日韩电影| 久久国产精品第一页| 欧美国产一区在线| 欧美影院一区二区| 激情文学综合丁香| 亚洲人成小说网站色在线|