资源简介
编译原理课设---表达式的LR翻译器,中间代码为四元式,包括文档和代码

代码片段和文件信息
#include
#include
#include
#include
using namespace std;
//and or not true false( ) i rop #
int action[18][10]={ { 0 0 4 5 6 7 0 8 0 0}//0
{ 9 0 0 0 0 0 -2 0 0 100}//1
{-2 10 0 0 0 0 -2 0 0 -2}//2
{-4 -4 0 0 0 0 -4 0 0 -4}//3
{ 0 0 4 5 6 7 0 8 0 0}//4
{-7 -7 0 0 0 0 -7 0 0 -7}//5
{-8 -8 0 0 0 0 -8 0 0 -8}//6
{ 0 0 4 5 6 7 0 8 0 0}//7
{ 0 0 0 0 0 0 0 0 13 0}//8
{ 0 0 4 5 6 7 0 8 0 0}//9
{ 0 0 4 5 6 7 0 8 0 0}//10
{-5 -5 0 0 0 0 -5 0 0 -5}//11
{ 9 0 0 0 0 0 16 0 0 0}//12
{ 0 0 0 0 0 0 0 17 0 0}//13
{-1 10 0 0 0 0 -1 0 0 -1}//14
{-3 -3 0 0 0 0 -3 0 0 -3}//15
{-6 -6 0 0 0 0 -6 0 0 -6}//16
{-9 -9 0 0 0 0 -9 0 0 -9}};//17
//B T F
int gotol[18][3]={ {1 2 3}//0
{0 0 0}//1
{0 0 0}//2
{0 0 0}//3
{0 0 11}//4
{0 0 0}//5
{0 0 0}//6
{12 2 3}//7
{0 0 0}//8
{0 14 3}//9
{0 0 15}//10
{0 0 0}//11
{0 0 0}//12
{0 0 0}//13
{0 0 0}//14
{0 0 0}//15
{0 0 0}//16
{0 0 0}};//17
//终结符集合
string endls[10]={“and““or““not““true““false“ “(““)“ “i““rop““#“ };
//非终结符集合
string noends[3]={“B““T““F“};
//产生式集合
string products[10]={“B““B and T“ “T““T or F““F““not F““( B )““true“ “false““i rop i“};
//栈类
class statestack
{
private:
int *base;//栈底指针
int *top;//栈顶指针
int size;//栈内元素个数
int stacksize;//栈的大小
public:
statestack()
{
size=0;
stacksize=20;
base=new int[stacksize];;
top=base;
}
int getTop()//获取栈顶的元素。
{
if(base==top)
{
return -1;
}
else
{
return *(top-1);
}
}
bool statePush(int elem)//元素入栈
{
++size;
(*top)=elem;
++top;
return true;
}
void statePop(int time)//元素出栈
{
for(int i=0;i {
--top;
--size;
}
}
void printState()//输出栈内的所有元素
{
string str=“ “;
int *pre;
for(pre=base;pre {
if(*pre>9)
{
char ch1=(*pre/10)+48;
char ch2=(*pre%10)+48;
str+=ch1;
str+=ch2;
}
else
{
char ch=*pre+48;
str+=ch;
}
}
cout<se::left)< }
};
class symbolstack
{
private
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 10608 2014-01-13 11:40 BoolAnalyze.cpp
文件 720913 2014-01-13 11:49 李帅奇.docx
文件 32053 2014-01-13 11:43 源代码.docx
文件 114176 2014-01-06 11:53 绘图1.vsd
文件 116736 2014-01-05 16:04 绘图4.vsd
- 上一篇:stc-isp-15xx-v6.69
- 下一篇:中国轮廓图
相关资源
- Qt Creator opengl实现四元数鼠标控制轨迹
- 编译原理四元式和逆波兰式
- 基于误差四元数的钻孔姿态跟踪控制
- 基于四元数的Chern–Simons理论在任
- FOR循环语句的翻译程序设计简单优先
- 赋值语句翻译四元式
- 编译原理课程设计 while do循环语句翻
- 编译原理课程设计do——while简单优先
- 四元饱和硝酸盐水溶液体系{ H2O + NH
- 基于STM32F103C8T6的四轴飞行器源码
- STM32 MPU6050 dmp读取四元数程序
- STM32 MPU6050-DMP
- 递归下降法实现for循环的四元式和三
- 编译原理——for循环语句的翻译,L
- 航空航天器运动的建模-飞行动力学的
- WHILE循环语句的翻译程序设计LR方法、
- DO-WHILE循环语句的翻译程序设计LL1法、
- 四元数解算姿态完全解析及资料汇总
- 编译原理四元式生成
- K60+MPU6050+DMP读取四元数和欧拉角
- 布尔表达式的递归下降翻译程序设计
- stm32 MPU6050四元数姿态结算程序
- 四元数法及其应用-程国采
- BMX055九轴姿态传感器模块K60 KEA128四元
- STM32+mpu6050姿态角精简四元数法
- FOR语句简单优先法四元式
- 编译原理课程设计布尔表达式的语法
- 编译原理,词法分析,语法分析,四
- 翻译程序设计输出四元式
- 《编译原理课程设计》-布尔表达式的
评论
共有 条评论