• 大小: 0.72M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-03-27
  • 语言: 其他
  • 标签: 其他  

资源简介


编写语法分析程序,实现对算术表达式的语法分析,要求所分析的算术表达式由如下的文法产生。 E->E+T|E-T|T T->T*F|T/F|F F->id|(E)|num

资源截图

代码片段和文件信息

#include
#include
#include
#include 
using namespace std;

stack s;                                           //栈 
char terminal[9]={‘+‘‘-‘‘*‘‘/‘‘(‘‘)‘‘i‘‘n‘‘$‘};  //终结符表 
char unterminal[5]={‘E‘‘P‘‘T‘‘Q‘‘F‘};                //非终结符表 P代表E‘,Q代表F‘ 
string M[5][9]={                                         //手动构造LL(1)语法预测分析表  
     “““““““““TP““““TP““TP“““
     “+TP““-TP““““““““e““““““e“
     “““““““““FQ““““FQ““FQ“““
     “e““e““*FQ““/FQ““““e““““““e“
     “““““““““(E)““““i““n“““
     };
char str[30];                       //待分析的输入表达式
int len;                            //待分析的输入表达式的长度 

void Get_str(void)                  //获取待分析输入表达式 

    printf(“请输入待分析的表达式:“);
    scanf(“%s“&str);
    
    for(len=0;str[len]!=‘\0‘;len++);
    str[len]=‘$‘;
    str[len+1]=‘\0‘;
    len++;
    s.push(‘$‘);
    s.push(‘E‘);
    }

int Judge_id(char ch)  //判断字符是否为构成id的字母
{
    

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       6490  2013-11-26 23:03  北邮编译原理实验--语法分析\方法2.cpp

     文件     529572  2013-12-16 23:12  北邮编译原理实验--语法分析\方法2.exe

     文件       6512  2013-11-26 23:02  北邮编译原理实验--语法分析\方法3.cpp

     文件     523130  2013-12-17 00:22  北邮编译原理实验--语法分析\方法3.exe

     文件     553886  2013-11-26 23:07  北邮编译原理实验--语法分析\语法分析程序文档.docx

     目录          0  2014-06-24 15:35  北邮编译原理实验--语法分析

----------- ---------  ---------- -----  ----

              1619590                    6


评论

共有 条评论