//保存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); } }
//词法 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"; } }