• 大小: 4KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-01-05
  • 语言: C/C++
  • 标签: 编译原理  

资源简介

1.定义部分:定义常量、变量、数据结构。 2.初始化:设立LL(1)分析表、初始化变量空间(包括堆栈、结构体、数组、临时变量等); 3.控制部分:从键盘输入一个表达式符号串; 4.利用LL(1)分析算法进行表达式处理:根据LL(1)分析表对表达式符号串进行堆栈(或其他)操作,输出分析结果,如果遇到错误则显示错误信息。

资源截图

代码片段和文件信息

#include
#include
#include
char A[20];    //存储分析栈
char B[20];    //存储剩余串
char Vz[20]={‘i‘‘+‘‘-‘‘*‘‘/‘‘(‘‘)‘‘#‘};    //终结符数组
char Vf[20]={‘E‘‘G‘‘T‘‘S‘‘F‘};                //非终结符数组

int j=0b=0top=0l;
/*
      E->TG 
      G->+TG|-TG|ε
      T->FS 
      S->*FS|/FS|ε 
      F->(E)|i 
*/
typedef struct type      //定义产生式类型
{
char origin;        //左边大写字符
char array[5];      //产生式右边的字符
int length;         //右边字符的个数
}Css;

Css etgg1g2ss1s2ff1;     //定义结构体变量
Css C[10][10];                    //存储预测分析表数组

void print()                      //输出分析栈
{
int a;
for(a=0;a<=top+1;a++)
printf(“%c“A[a]);
printf(“\t\t“);
}

void print1()                   //输出剩余串
{
int j;
for(j=0;j

评论

共有 条评论