算术表达式的语法分析及语义分析程序设计 —— LR分析法、输出三元式(续)

#include<iostream>
#include<string>
#include<vector>
#include<cmath>
#define MAX 40
using namespace std;

typedef struct code{
    string data;
    int num;
}Code;
Code code[MAX];

struct Gene{
  //产生式
    string left;
    char* right;
};
vector<Gene> gene;

typedef struct action{
    char para;
    int val;
}Action;
Action action[][MAX]={
    {
  {
  'O',0},{
  'O',0},{
  'O',0},{
  'O',0},{
  'S',3},{
  'O',0}, {
  'O',0},{
  'O',0},{
  'O',0}},
    {
  {
  'O',0},{
  'O',0},{
  'O',0},{
  'O',0},{
  'O',0},{
  'O',0},{
  'O',0},{
  'O',0},{
  'A', 0}},
    {
  {
  'O',0},{
  'O',0},{
  'O',0},{
  'O',0},{
  'O',0},{
  'O',0},{
  'O',0},{
  'S', 4},{
  'O',0}},
    {
  {
  'O',0},{
  'O',0},{
  'O',0},{
  'O',0},{
  'O',0},{
  'O',0},{
  'O',0},{
  'R', 10},{
  'O',0}},
    {
  {
  'O',0},{
  'O',0},{
  'O',0},{
  'O',0},{
  'S',8},{
  'S',9},{
  'O',0},{
  'O',0},{
  'O',0}},
    {
  {
  'S',10},{
  'S',11},{
  'O',0},{
  'O',0},{
  'O',0},{
  'O',0},{
  'O',0},{
  'O',0},{
  'R',1}},
    {
  {
  'R', 4},{
  'R', 4},{
  'S', 12},{
  'S', 13},{
  'O',0},{
  'O',0},{
  'R',4},{
  'O',0},{
  'R', 4}},
    {
  {
  'R', 7},{
  'R', 7},{
  'R', 7},{
  'R', 7},{
  'O',0},{
  'O',0},{
  'R',7},{
  'O',0},{
  'R', 7}},
    {
  {
  'R', 8},{
  'R', 8},{
  'R', 8},{
  'R', 8},{
  'O',0},{
  'O',0},{
  'R',8},{
  'O',0},{
  'R', 8}},
    {
  {
  'O',0},{
  'O',0},{
  'O',0},{
  'O',0},{
  'S', 8},{
  'S', 9},{
  'O', 0},{
  'O',0},{
  'O',0}},
    {
  {
  'O',0},{
  'O',0},{
  'O',0},{
  'O',0},{
  'S', 8},{
  'S', 9},{
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值