资源简介
基于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个文件信息
- 上一篇:数学建模+快递公司送货策略+论文
- 下一篇:数据结构工大往年期末试题
相关资源
- 广东工业大学编译原理试卷
- 超声波防盗系统课程设计
- 编译原理词法分析器实验从文件读入
- 编译原理将简单程序翻译成四元式
- 《编译原理》实验 识别无符号数的词
- EDA电子琴设计课程设计完整代码
- 编译原理语法分析器实验报告.doc版
- 在语法分析器的基础上构造的三地址
- 北方工业大学语法分析器 (1)完整实
- 网络安全课程设计报告
- 编译原理实验词法,语法,语义
- 工资管理系统数据库系统设计
- 编译原理语法分析实验代码
- 电力系统课程设计
- 微机原理与接口技术 电子琴课程设计
- 中型企业网络组网方案
- 编译原理三上机实验报告
- 预测分析表构造算法的程序实现
- EDA课程设计 数字时钟的设计VHDL
- 俄罗斯方块课程设计报告
- 红河学院机房管理系统课程设计内服
- 高校学籍管理系统 数据库课程设计
- 软件分析与建模课程设计 家具城进销
- 课程设计题十:简易电子琴设计.zip
- 华中科技大学编译原理实验报告
- 编译原理课程设计词法分析程序
- DSP课程设计基于DSP的数字图像处理
- 山东大学编译原理
- 数据结构课程设计-排课系统源代码
- 数据结构课程设计-利用哈希表构造通
评论
共有 条评论