云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 编译原理经典算法的可视化实现 - 图文

编译原理经典算法的可视化实现 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/5/1 13:10:56

编译原理经典算法的可视化实现 rtSource.Clear(); listShow.Items.Clear(); paint(); rtSource.Text = reader.ReadToEnd(); } } else {

return; }

}

private void rtSource_TextChanged(object sender, EventArgs e) {

rtSource.SelectionColor = Color.Black; if (this.rtSource.Text.Length == 0) {

this.toolExcute.Enabled = false; this.toolRecovery.Enabled = false; this.toolStop.Enabled = false; } else {

this.toolStop.Enabled = true; this.toolExcute.Enabled = true; this.toolRecovery.Enabled = true; } }

/*颜色改变*/

private void changecolor() {

rtSource.SelectionStart = i-1; rtSource.SelectionLength = 1;

rtSource.SelectionColor = Color.Red; i++; }

/*文件删除*/

33

编译原理经典算法的可视化实现 /*实现执行*/ private void fileSave() { if (File.Exists(\)) File.Delete(\); FileStream fs = new FileStream(\, FileMode.OpenOrCreate, FileAccess.Write); StreamWriter m_streamWriter = new StreamWriter(fs); m_streamWriter.Flush(); m_streamWriter.BaseStream.Seek(0, SeekOrigin.Begin); m_streamWriter.Write(rtSource.Text); m_streamWriter.Flush(); m_streamWriter.Close();

}

private void cmdExcute() {

System.Diagnostics.Process lexProcess = new System.Diagnostics.Process(); lexProcess.StartInfo.FileName = \; lexProcess.StartInfo.UseShellExecute = false; lexProcess.StartInfo.RedirectStandardInput = true; lexProcess.StartInfo.RedirectStandardOutput = true; lexProcess.StartInfo.RedirectStandardError = true; lexProcess.StartInfo.CreateNoWindow = true; lexProcess.Start();

lexProcess.StandardInput.WriteLine(\); System.Threading.Thread.Sleep(1000); lexProcess.StandardInput.WriteLine(\);

lexProcess.Close(); }

private void toolExcute_Click(object sender, EventArgs e) {

fileSave(); cmdExcute(); tm.Start();

this.toolExcute.Enabled = false; i = 1;

Thread thSeperate = new Thread(new ThreadStart(Seperate));

34

编译原理经典算法的可视化实现 listShow.Items.Clear(); thSeperate.Start(); // MessageBox.Show(thSave.ThreadState.ToString()); // MessageBox.Show(thSeperate.ThreadState.ToString()); } /*实现恢复*/ private void toolRecovery_Click(object sender, EventArgs e) { i = 1; paint(); listShow.Items.Clear(); this.toolExcute.Enabled = true ; } /*字符判别*/ private int judge( string str) { string str1, str2; int f=0; char[] charArray=new Char []{'('}; string[] strArray = str.Split(charArray); if (!str.Equals(\)) { str1 = strArray[0].Trim(); str2 = strArray[1].Trim(); f = int.Parse(str2); } if(str.Equals (\)) return 0; if ((258<=f&&f<285)||(f==297)) return 1; if(str.Equals (\)) return 3; return 2; } /*从文件中分离出二元组*/ private void Seperate() { 35

编译原理经典算法的可视化实现 string str1, str2,str3; string strLine; string[] strArray; char[] charArray=new Char []{' '}; while (!(File.Exists(\))) ; StreamReader sr = File.OpenText(\); str1 = null; str2 = null; str3 = null; while ((strLine = sr.ReadLine()) != null) { strArray = strLine.Split(charArray); str1 = strArray[0].Trim(); str2 = strArray[1].Trim(); str3 = strArray[2].Trim(); //数符 int length; if (judge(str2) == 0) { int j; length = str1.Length ; for (j = 0; j < length; j++) { changecolor(); if (j == 0) draw(4); else draw(5); autoEvent.WaitOne(); } changecolor(); draw(6); i--; inputListview(str1, str2,str3); 36

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

编译原理经典算法的可视化实现 rtSource.Clear(); listShow.Items.Clear(); paint(); rtSource.Text = reader.ReadToEnd(); } } else { return; } } private void rtSource_TextChanged(object sender, EventArgs e

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com