예제 #1
0
        //保存token
        private void SaveTokenToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (lexical == null)
            {
                return;
            }
            string[]       infos    = lexical.SaveToken(); //token信息
            SaveFileDialog saveFile = new SaveFileDialog();

            saveFile.Title           = "请选择保存文件路径:";
            saveFile.Filter          = "所有文件( *.txt ) | *.txt";
            saveFile.OverwritePrompt = true;            //允许覆盖
            if (saveFile.ShowDialog() == DialogResult.OK)
            {
                string path = saveFile.FileName;
                System.IO.File.WriteAllLines(path, infos, Encoding.UTF8);
            }
        }
예제 #2
0
        //词法
        private void Button1_Click(object sender, EventArgs e)
        {
            if (richTextBox1.Text == "")
            {
                return;
            }
            lexical = new Lexical.Lexical();
            ArrayList source = lexical.ReadFromScreen(richTextBox1.Text); //源文件字符数组

            lexical.GetToken(source);
            string[] infos = lexical.SaveToken();
            richTextBox3.Text = "";
            foreach (string info in infos)
            {
                richTextBox3.Text = richTextBox3.Text + info + "\r\n";
            }
            ArrayList errorInfos = lexical.ErrorInfo();      //推导过程中的错误

            foreach (string error in errorInfos)
            {
                richTextBox3.Text = richTextBox3.Text + error + "\r\n";
            }
        }