欢迎来到天天文库
浏览记录
ID:43045751
大小:285.73 KB
页数:38页
时间:2019-09-25
《【精品】词法分析主体代码》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystenkData;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystein.10;usingSystem.Collections;namespaceBYYLpublicpartialclassForml:FormStringBuilderglobalBSF=newStringBuilder();String
2、Bui1derglobalBLZ二newStringBui1dor();StringBuilderglobalZS=newStringBuilder();StringBuilderStringBui1derStringBuilderStringBuilderglobalSS二newStringBuilder();global/!7二newStringBuiIder();globalZFC=newStringBuilder();globalBE二newStringBuilder();StringBui1derglobalYSF二newStringBui1der();StringBuilde
3、rglobalJF二newStringBuilder();publicForml()//全局变量存储标识符//全局变量存储保留字//全局变量存储整型常数//全局变量存储实型常数//全局变量存储字符常数//全局变量存储字符出常数//全局变量存储布尔常数//全局变量存储运算符〃全局变量存储界符Initiali^eComponentO;privatestringopenCFi1e(){string[]fileName=newstring[l];openC.Filter=〃C语言文件(*.c)
4、*.c〃;openC.VaiidatcNames=true;openC.CheckF订eExists=
5、true;openC.CheckPalhExists二true;openC.FileName="“;if(openC.ShowDialogO==DialogRcsult.//选择打开的C语言文件//支持的文件类型//验证用八输入是否是一个有效的Windows文件名〃验证路径有效性〃验证文件有效性//起始•文件名置空0K)fileName二openC.Fi1eNames;}returnfileName[0];}//清空存储各类单词符号的变量privatevoidqk(){globalBE.Clear();globalJF.Clear();globalZS.Clear();globalSS.
6、Clear();globalYSF.Clear();globalZF.Clear();globalZFC.Clear();globalBLZ.Clear();globalBSE.Clear();privatevoidremovedh(stringfileName)//去掉多行注释{〃读取文件中c语句代码FileStrecimfs二newFi1eStream(fi1eName,FileMode.Open);bytc[]arr=newbytc[fs.Length];fs.Read(arr,0,int.Parse(fs>Length.ToStringO));stringtemp二Encodin
7、g.Default.GetString(arr);while(temp.Contains(@〃/*〃))//去掉/*・・・*/型注释{intstart二temp.IndexOf(@"7*");intend=temp.IndcxOf(@〃*/〃);temp二temp.Remove(start,end-start+2);}if(DBOperation.QueryBySqll(,zselect*from.Rows.Count>0)//如存储代码的表中有数据则清空{_DBOperation.SqlCmdOpcration(''deletefromt_dm〃);}temp=temp.Replace
8、(〃’〃,;DBOperation.Sq1CmdOperation(,zinsertintot_dmvalues(0,J+temp+〃')〃);//将全部代码存入数据库中//百表冋车,以冋车拆分全部的代码//删除数据库中的数据DataTabledt=DBOperation.QueryBySqll("selectdmfromt_dm〃);string[]arrStr二dt.Rows[0]["dm"].ToString()・Split(
此文档下载收益归作者所有