资源简介
基于LR(0)分析算法 将算数表达式转换成四元式

代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
struct Cifa //词法结构体
{
public int type;
public char word;
}
struct Yuyi //四元式语义结构体
{
public char op;
public char op1 ;
public char op2 ;
public char result ;
}
namespace 课程设计
{
class classfor
{
char result_number = ‘A‘;//记录四元式结果编号
int yuyi_number = 0;//记录语义数组编号
public int input_error=0;//记录输入是否有误
public int fx_error = 0;//记录该表达式是否为句子
Stack FXZ = new Stack();//语法分析栈
Stack YYZ = new Stack();//语义分析栈
Cifa[] CFFX_result = new Cifa[20];//记录词法分析结果
Yuyi[] yuyi = new Yuyi[30];//记录四元式数组
public string str;//记录算数表达式
public char[] st;//算数表达式数组
int st_length;//记录数组长度
public string danci_type;//记录单词种类
public string cifa_result;//记录词法输出
public string yufa_result=“语法分析结果如下:\n“;//记录语法输出
public string Four=“转换四元式如下:\n“;//记录四元式输出
public string Wenfa = “文法如下:\nE->E+T|E-T\nE->T\nT->T*F|T/F\nT->F\nF->(E)\nF->i“;//文法输出
public int[] ACTION = new int[126]{ //ACTION表 +/- *// (/) i #
{ 004050 }
{ 60000100 }
{ -270-20-2}
{ -4-40-40-4}
{ 004050}
{-6-60-60-6}
{004050}
{004050}
{6001100}
{-170-10-1}
{-3-30-30-3}
{-5-50-50-5}
};
public int[] GOTO = new int[12 3] //GOTO表E T F
{
{123}
{000}
{000}
{000}
{823}
{000}
{093}
{0010}
{000}
{000}
{000}
{000}
};
public void change() //string 转 char[]
{
st_length = str.Length;
st=new char[str.Length];
for (int i = 0; i < str.Length; i++)
{
st[i] = str[i];
}
}
public void CFFX() //词法分析函数
{
change();
for(int i=0;i {
int type;
if(st[i]>=48&&st[i]<=57)//数字判断
{
type = 2;
}
else
if ((st[i] >= 65 && st[i] <= 90) || (st[i] >= 97 && st[i] <= 122))//大小写判断
{
type = 1;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2011-12-03 13:57 课程设计\
文件 18686 2011-11-30 15:46 课程设计\流程图.png
目录 0 2011-11-29 15:26 课程设计\课程设计\
文件 878 2011-11-29 08:16 课程设计\课程设计.sln
文件 25088 2011-12-02 19:15 课程设计\课程设计.suo
目录 0 2011-11-29 08:42 课程设计\课程设计\bin\
目录 0 2011-11-29 21:03 课程设计\课程设计\bin\Debug\
文件 17920 2011-11-29 23:21 课程设计\课程设计\bin\Debug\课程设计.exe
文件 44544 2011-11-29 23:21 课程设计\课程设计\bin\Debug\课程设计.pdb
文件 11608 2011-12-02 15:14 课程设计\课程设计\bin\Debug\课程设计.vshost.exe
文件 490 2010-03-17 22:39 课程设计\课程设计\bin\Debug\课程设计.vshost.exe.manifest
目录 0 2011-11-29 08:42 课程设计\课程设计\bin\Release\
文件 11935 2011-11-29 21:01 课程设计\课程设计\classfor.cs
文件 1297 2011-11-29 21:07 课程设计\课程设计\Form1.cs
文件 9569 2011-11-29 21:07 课程设计\课程设计\Form1.Designer.cs
文件 5817 2011-11-29 21:07 课程设计\课程设计\Form1.resx
目录 0 2011-11-29 08:16 课程设计\课程设计\obj\
目录 0 2011-11-29 08:16 课程设计\课程设计\obj\x86\
目录 0 2011-11-29 23:21 课程设计\课程设计\obj\x86\Debug\
文件 6062 2011-12-02 15:14 课程设计\课程设计\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 1066 2011-11-29 23:21 课程设计\课程设计\obj\x86\Debug\GenerateResource-ResGen.read.1.tlog
文件 742 2011-11-29 23:21 课程设计\课程设计\obj\x86\Debug\GenerateResource-ResGen.write.1.tlog
目录 0 2011-11-29 08:16 课程设计\课程设计\obj\x86\Debug\TempPE\
文件 1223 2011-12-02 15:14 课程设计\课程设计\obj\x86\Debug\课程设计.csproj.FileListAbsolute.txt
文件 17920 2011-11-29 23:21 课程设计\课程设计\obj\x86\Debug\课程设计.exe
文件 180 2011-11-29 23:21 课程设计\课程设计\obj\x86\Debug\课程设计.Form1.resources
文件 44544 2011-11-29 23:21 课程设计\课程设计\obj\x86\Debug\课程设计.pdb
文件 180 2011-11-29 17:22 课程设计\课程设计\obj\x86\Debug\课程设计.Properties.Resources.resources
文件 493 2011-11-29 08:16 课程设计\课程设计\Program.cs
目录 0 2011-11-29 08:16 课程设计\课程设计\Properties\
文件 1356 2011-11-29 08:16 课程设计\课程设计\Properties\AssemblyInfo.cs
............此处省略7个文件信息
- 上一篇:数学建模+快递公司送货策略+论文
- 下一篇:数据结构工大往年期末试题
相关资源
- FTP课程设计(服务端+客户端)
- 编译原理实验工具及参考源码(lex&
- 类pascal语言编译器(编译原理实验)
- 高频电子线路课程设计报告收音机
- 直流稳压电源的课程设计、安装及调
- EDA课程设计_密码锁
- 单片机课程设计 篮球计分器
- 数据结构课程设计 6 1 彩票系统
- 端口扫描课程设计详细的报告
- 步进电机课程设计(个人设计)
- 校园网络规划与设计课程设计
- 编译原理课程设计:词法语法编译器
-
simuli
nk 课程设计 qpsk - 武汉理工大学 单片机课程设计 16*16点
- 数据库VFP课程设计
- 分页系统模拟实验 操作系统 课程设
- 中科院 编译原理 习题及解答
- 编译原理四元式和逆波兰式
- 模拟段页式虚拟存储管理中地址转换
- 硬件课程设计—流水灯(quartus软件
- 超市收银系统eclipse access大学课程设计
- 航空订票系统_数据结构课程设计
- c 课程设计 职工信息管理系统
- 汇编语言,课程设计,红绿灯
- 机床液压系统课程设计卧式钻床动力
- 课程设计蔬菜大棚自动控制系统,包
- 密码学课程设计:DES加密解密算法的
- 操作系统课程设计完整版
- 磁盘调度算法的模拟实现及对比
- 《编译原理》清华大学版中的pl0扩充
评论
共有 条评论