资源简介
代码简单明了并有详细的注释,最适合编译原理实验--词法分析器检查,C#实现
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Collections;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace Lexical_Analaysis
{
public partial class Form1 : Form
{
string[] 保留字 ={“begin“ “end“ “if“ “then“ “while“ “do“ “const““ var““call““procedure“};
string[] 运算符 ={“*““+““-““=““odd“};
string[] 界符 = { ““ “;“ “(“ “)“ “{““}“};
int[] 常数 = new int[30];
string[] 标识符 = new string[30];
string[] 未知符号;
private ArrayList temp = new ArrayList();
int a1;//标识符
int a2;//常数
string a3;//运算符
string a4;//界符
int b1=0;
int b2=0;
public Form1()
{
InitializeComponent();
}
//预处理
private string Pretreatment()
{
string s1 = textBox1.Text;
string strAll = null;//所有字符串数组
//去除换行
string[] str = textBox1.Lines;
for (int i = 0; i < str.Length; i++)
{
strAll += str[i] + “ “;
}
//去除跳格,回车
if (strAll.Contains(“/r“))
{
strAll = strAll.Replace(“/r“ “ “);
}
if (strAll.Contains(“/n“))
strAll = strAll.Replace(“/n“ “ “);
//去除多余空格
string[] strOut = strAll.Split(‘ ‘);
string strTmp = ““;
for (int i = 0; i < strOut.Length; i++)
{
if (strOut[i] != ““)
{
strTmp += strOut[i]+“ “;
}
}
return strTmp.Trim();
}
//进行分析输出
private void analyze(string string1)
{
string[] str = string1.Split(new char[] { ‘ ‘ });
for (int i = 0; i < str.Length - 1; i++)
{
switch (fenxi(str[i]))
{
case 0:
listBox1.Items.Add(“$“ + str[i]+“ -“);
break;
case 1:
listBox1.Items.Add(“$ID“ +“ “+ a1);
break;
case 2:
listBox1.Items.Add(“$INT“ +“ “+a2);
break;
case 3:
listBox1.Items.Add(“$“+a3+“ -“);
break;
case 4:
listBox1.Items.Add(“$“ + a4 + “ -“);
break;
//case 5:
// listBox1.Items.Add(“ “);
// break;
}
}
}
//单个字符串分析
private int fenxi(string str)
{
if (str == null)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 13312 2015-04-11 11:40 词法分析\Lexical Analaysis\bin\Debug\Lexical Analaysis.exe
文件 44544 2015-04-11 11:40 词法分析\Lexical Analaysis\bin\Debug\Lexical Analaysis.pdb
文件 22984 2015-04-11 11:41 词法分析\Lexical Analaysis\bin\Debug\Lexical Analaysis.vshost.exe
文件 490 2012-06-06 02:06 词法分析\Lexical Analaysis\bin\Debug\Lexical Analaysis.vshost.exe.manifest
文件 7873 2015-04-10 11:26 词法分析\Lexical Analaysis\Form1.cs
文件 5203 2015-04-09 20:44 词法分析\Lexical Analaysis\Form1.Designer.cs
文件 6224 2015-04-09 20:44 词法分析\Lexical Analaysis\Form1.resx
文件 3693 2013-04-29 15:33 词法分析\Lexical Analaysis\Lexical Analaysis.csproj
文件 2867 2015-04-11 11:41 词法分析\Lexical Analaysis\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
文件 7083 2015-04-11 11:38 词法分析\Lexical Analaysis\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 1514 2015-04-10 10:07 词法分析\Lexical Analaysis\obj\x86\Debug\GenerateResource.read.1.tlog
文件 3760 2015-04-10 10:07 词法分析\Lexical Analaysis\obj\x86\Debug\GenerateResource.write.1.tlog
文件 10640 2015-04-11 11:41 词法分析\Lexical Analaysis\obj\x86\Debug\Lexical Analaysis.csproj.FileListAbsolute.txt
文件 975 2015-04-11 11:40 词法分析\Lexical Analaysis\obj\x86\Debug\Lexical Analaysis.csproj.GenerateResource.Cache
文件 9174 2015-03-22 15:05 词法分析\Lexical Analaysis\obj\x86\Debug\Lexical Analaysis.csprojResolveAssemblyReference.cache
文件 13312 2015-04-11 11:40 词法分析\Lexical Analaysis\obj\x86\Debug\Lexical Analaysis.exe
文件 44544 2015-04-11 11:40 词法分析\Lexical Analaysis\obj\x86\Debug\Lexical Analaysis.pdb
文件 180 2015-04-10 10:07 词法分析\Lexical Analaysis\obj\x86\Debug\Lexical_Analaysis.Form1.resources
文件 180 2015-04-10 10:07 词法分析\Lexical Analaysis\obj\x86\Debug\Lexical_Analaysis.Properties.Resources.resources
文件 7897 2013-05-04 22:12 词法分析\Lexical Analaysis\obj\x86\Debug\ResolveAssemblyReference.cache
文件 498 2013-04-29 15:23 词法分析\Lexical Analaysis\Program.cs
文件 1366 2013-04-29 15:23 词法分析\Lexical Analaysis\Properties\AssemblyInfo.cs
文件 2884 2013-04-29 15:23 词法分析\Lexical Analaysis\Properties\Resources.Designer.cs
文件 5612 2013-04-29 15:23 词法分析\Lexical Analaysis\Properties\Resources.resx
文件 1102 2013-04-29 15:23 词法分析\Lexical Analaysis\Properties\Settings.Designer.cs
文件 249 2013-04-29 15:23 词法分析\Lexical Analaysis\Properties\Settings.settings
文件 893 2013-04-29 15:23 词法分析\Lexical Analaysis.sln
..A..H. 22528 2015-04-10 11:44 词法分析\Lexical Analaysis.suo
..A..H. 49664 2015-04-11 11:41 词法分析\Lexical Analaysis.v11.suo
目录 0 2015-04-10 11:44 词法分析\Lexical Analaysis\obj\x86\Debug\TempPE
............此处省略12个文件信息
- 上一篇:ASP.NET源码项目
- 下一篇:C#做的学生信息管理系统、连接SQL数据库
评论
共有 条评论