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

资源简介


编译原理词法分析器+语法分析器的C/C++源码实现,附详细的实验报告,代码有注释。

资源截图

代码片段和文件信息

/*词法分析+语法分析/
#include 
#include 
#include 
#include 

using namespace std;
const int MAX = 1024;    //所能分析的最大词素数

struct Table{
    //string word;
    string token;
    int id;
}tb[MAX];    //词素表
int cnt = 0; //一共判断的词素数

string keyword[10] = {“while““if““int““float““char““for““define““return““scanf““printf“};  //关键字
string symbolTable[MAX];    //符号表
int symbolNum = 1;          //记录符号表的当前长度
map SM;        //为符号建立映射,判断是否存在此符号并给出具体位置
int lineNum = 0;  //记录行数
string line = ““;           //输入缓冲
bool errorFlag[MAX];        //标记此行是否出现了错误,若此行出现错误则不必再对此行其他元素进行分析

bool isKeyword(string s);   //判断是否为关键字
bool isletter(char c);      //判断是否为字母
void fail(string s int state);        //打印错误信息,并终止编译
void terminate(int begin int end string token);      //词素分析完毕,存储结果
string getToken(string s);  //判断s是关键字还是变量
void outTable();            //输出解析结果
void outSymbolTable();      //输出符号表
void cifafenxi();
void yufafenxi();
in

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

     文件     825856  2009-02-06 09:20  词法分析.doc

     文件        277  2008-12-01 15:52  test.txt

     文件      15690  2009-02-06 09:27  main.cpp

     文件      60928  2009-02-06 09:27  语法分析.doc

     文件        191  2008-12-22 11:09  test1.txt

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

               902942                    5


评论

共有 条评论