ImageVerifierCode 换一换
格式:DOC , 页数:13 ,大小:106KB ,
资源ID:394375      下载积分:15 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/394375.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(词法分析器用C实现.doc)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

词法分析器用C实现.doc

1、设计界面如上图所示:代码如下:namespace WindowsApplication1 public partial class Form1 : Form public Form1() InitializeComponent(); string Str = , text2 = ; private void 打开ToolStripMenuItem_Click(object sender, EventArgs e) string Fname = ; openFileDialog1.Filter = 文本文件(*.txt)|*.txt; openFileDialog1.Title = 打开文件;

2、openFileDialog1.RestoreDirectory = true; if (openFileDialog1.ShowDialog() = DialogResult.OK) Fname = openFileDialog1.FileName; richTextBox1.LoadFile(Fname, RichTextBoxStreamType.PlainText); Str = richTextBox1.Text; private void 保存ToolStripMenuItem_Click(object sender, EventArgs e) string Fname = ope

3、nFileDialog1.FileName; richTextBox1.SaveFile(Fname, RichTextBoxStreamType.PlainText); private void 另存为ToolStripMenuItem_Click(object sender, EventArgs e) string Fname; saveFileDialog1.Filter = 文本文件(*.txt)|*.txt; saveFileDialog1.Title = 保存文件 ; saveFileDialog1.RestoreDirectory = true; saveFileDialog1.

4、ShowDialog(); Fname = saveFileDialog1.FileName; if (Fname != ) richTextBox1.SaveFile(Fname, RichTextBoxStreamType.PlainText); private void 关闭ToolStripMenuItem_Click(object sender, EventArgs e) Application.Exit(); private void 字体ToolStripMenuItem_Click(object sender, EventArgs e) fontDialog1.ShowEffe

5、cts = true; fontDialog1.Font = richTextBox1.SelectionFont; if (fontDialog1.ShowDialog() = DialogResult.OK) richTextBox1.SelectionFont = fontDialog1.Font; private void 词法分析ToolStripMenuItem_Click(object sender, EventArgs e) Gets.LineNo = 1; /初始化行号 Gets.errors = 0; /初始化错误个数 Gets.text5 = ; string text1

6、 = richTextBox1.Text + 0; Gets getstring = new Gets(); text2 = getstring.GetString(text1); richTextBox2.Text = *Token串生成表如下* + rn + text2; textBox2.Text = getstring.ErrorN0(); private void Form1_Load(object sender, EventArgs e) private void 符号表ToolStripMenuItem_Click(object sender, EventArgs e) text

7、Box2.Text = *符号表信息*+rn; textBox2.Text += Gets.text4; private void 错误详细信息ToolStripMenuItem_Click(object sender, EventArgs e) textBox2.Text = Gets.text5; 主要实现功能的代码如下:创建一个Gets类用来对输入的字符串进行扫描 class Gets int i = 0, j = 0; /记录字符位置,token数组的位置 public static int LineNo = 1; /行号 string token = ; /记录识别出的单词 stri

8、ng text2 = ; string text3 = ; /用来记录错误信息 string wrong = ; /记录异常信息 public static int errors = 0; /错误字段的个数 public static string text5 = ; / 记录错误的详细信息 int flag1=0, flag2=0,flag3,flag4,flag5,flag6 = 0; /标记成对出现的界符 public static string text4 = 入口:单词名称 长度 类型 种属 值 内存地址+rn; /用来记录符号表 string m_KeyWords =new str

9、ing 32auto, double, int,struct, break, else,long,switch,case,enum, register,typedef,char,extern,return,union,const,float,short,unsigned,continue,for,signed,void,default, goto,sizeof,volatile,do,if,while,static ; string m_operator =new string 28+,-,*,/,%,=,=,=, -=,+=,*=,/=, /运算符 !=,=,%=,&,&,|,|,!,+,-,?:; string m_bound = new string15 , , , , ;, , ., (, ), :, , #, , ,; /界符 public string GetString(string str) /读入字符串 string space = ; /空格数 if (str.Length = 0) /判断字符串是否为空 return ; try while (stri!= 0) /读入字符判断,空格、字母、数字、界符 if (stri = | stri = t | stri = r) i+; /跳过无意义的字符

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1