资源简介
以计算器危机春,实现编译原理中的词法、语法、语义分析,编写成的词法、语法、语义分析器,用vs2010编写
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 词法分析
{
class Program
{
struct SeqStackn//建立数字栈结构体
{
public double[] elem ;
public int top;
};
struct SeqStacks//建立符号栈结构体
{
public char[] elem ;
public int top;
};
static void Main(string[] args)
{
Lexical();
}
void InitStackn(ref SeqStackn S)//初始化空数字栈
{
S.top = -1;
}
void InitStacks(ref SeqStacks S)//初始化空符号栈
{
S.top = -1;
}
bool Pushn(ref SeqStackn S double x)//数字栈入栈
{
if (S.top == 99)//栈已满
{
return false;
}
else
{
S.top++;
S.elem[S.top] = x;
return true;
}
}
bool Pushs(ref SeqStacks S char x)//符号栈入栈
{
if (S.top == 99)
{
return false;
}
else
{
S.top++;
S.elem[S.top] = x;
return true;
}
}
double Popn(ref SeqStackn S)//数字出栈
{
double x;
if (S.top == -1)
{
return 0;
}
else
{
x = S.elem[S.top];
S.top--;
return x;
}
}
char Pops(ref SeqStacks S )//符号出栈
{
char x;
if (S.top == -1)
{
return ‘F‘;
}
else
{
x = S.elem[S.top];
S.top--;
return x;
}
}
void ReadChar()//读入字符串
{
SeqStackn seqStackn = new SeqStackn();//数字栈定义
seqStackn.elem = new double[100];
SeqStacks seqStacks = new SeqStacks();//符号栈定义
seqStacks.elem = new char[100];
InitStackn(ref seqStackn);//数字栈初始化
InitStacks(ref seqStacks);//符号栈初始化
Console.WriteLine(“说明:词法分析\n请输入计算式(例如:5+(3*2-8)):“);
string formerstring = Console.ReadLine();
char[] cf = formerstring.ToCharArray();//字符串拆成单个字符
string c=““;//转换成数字
for (int i = 0; i < cf.Length; i++)
{
if ((cf[i] >= ‘0‘ && cf[i] <= ‘9‘)||(seqStackn.top!=-1&&cf[i]==‘.‘))
{
c += cf[i];
}
else if (cf[i] == ‘.‘)
{
for (int j = 0; j < c.Length; j++)
{
if (c[j] == ‘.‘)
{
Console.WriteL
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
.CA.... 6656 2011-12-18 22:23 (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析\bin\Debug\词法分析.exe
.CA.... 17920 2011-12-18 22:23 (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析\bin\Debug\词法分析.pdb
.CA.... 11600 2011-12-18 22:08 (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析\bin\Debug\词法分析.vshost.exe
.CA.... 490 2010-03-17 22:39 (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析\bin\Debug\词法分析.vshost.exe.manifest
.CA.... 5764 2011-12-18 22:23 (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
.CA.... 5941 2011-12-17 00:03 (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析\obj\x86\Debug\ResolveAssemblyReference.cache
.CA.... 767 2011-12-18 22:08 (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析\obj\x86\Debug\词法分析.csproj.FileListAbsolute.txt
.CA.... 6656 2011-12-18 22:23 (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析\obj\x86\Debug\词法分析.exe
.CA.... 17920 2011-12-18 22:23 (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析\obj\x86\Debug\词法分析.pdb
.CA.... 5489 2011-12-18 22:23 (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析\Program.cs
.CA.... 1380 2011-12-16 19:25 (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析\Properties\AssemblyInfo.cs
.CA.... 2445 2011-12-16 19:25 (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析\词法分析.csproj
.CA.... 878 2011-12-16 19:25 (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析.sln
.CA..H. 15360 2011-12-18 22:24 (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析.suo
.CA.... 7680 2011-12-18 22:16 (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析\bin\Debug\语义分析.exe
.CA.... 19968 2011-12-18 22:16 (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析\bin\Debug\语义分析.pdb
.CA.... 11600 2011-12-18 22:08 (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析\bin\Debug\语义分析.vshost.exe
.CA.... 490 2010-03-17 22:39 (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析\bin\Debug\语义分析.vshost.exe.manifest
.CA.... 5764 2011-12-18 22:16 (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
.CA.... 5919 2011-12-18 22:09 (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析\obj\x86\Debug\ResolveAssemblyReference.cache
.CA.... 722 2011-12-18 22:11 (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析\obj\x86\Debug\语义分析.csproj.FileListAbsolute.txt
.CA.... 7680 2011-12-18 22:16 (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析\obj\x86\Debug\语义分析.exe
.CA.... 19968 2011-12-18 22:16 (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析\obj\x86\Debug\语义分析.pdb
.CA.... 8303 2011-12-18 22:16 (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析\Program.cs
.CA.... 1380 2011-12-17 13:03 (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析\Properties\AssemblyInfo.cs
.CA.... 2445 2011-12-17 13:03 (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析\语义分析.csproj
.CA.... 878 2011-12-17 13:03 (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析.sln
.CA..H. 15360 2011-12-18 21:57 (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析.suo
.CA.... 7168 2011-12-18 22:22 (编译原理)词法、语法、语义分析(李盼2009119030)\语法分析\语法分析\bin\Debug\语法分析.exe
.CA.... 17920 2011-12-18 22:22 (编译原理)词法、语法、语义分析(李盼2009119030)\语法分析\语法分析\bin\Debug\语法分析.pdb
............此处省略43个文件信息
评论
共有 条评论