• 大小: 4KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-01-02
  • 标签: c++  

资源简介

用c++实现的一个很简单的词法分析器 希望对刚学编译原理的人有帮助

资源截图

代码片段和文件信息

//一个macro语言的词法分析器
//将要分析的源程序存放在名为infile.txt的文件里,分析之后的结果将会存放在outfile.txt里
#include
#include
#include
#include
#include
#include
using namespace std;

string reserve[5]={“begin““end““read““write““INT“};//reserve字符串数组用来存放macro语言的保留字
string strToken;//strToken用来存放构成单词符号的字符串
char buffer[80]ch;//buffer用来缓冲从文件读出的一行数据ch用来存放最新读进的源程序字符
//index表示搜索指示器line用来指示出错的行数,num用来指示错误个数symi用来指示符号表中下一个标识符将要插入的位置
unsigned int line=0num=0symi=0;
int index=-1;

fstream finfout;//finfout 用来与infile.txtoutfile.txt关联

void ReadFile();//从文件中读取一行到buffer之中
void GetChar();//将下一个输入字符读入到ch中
int Reserve();//Reserve 函数用来对strToken中的字符串查找保留字表reserve,若它是一个保留字则返回它的编码,否则返回0
void Scanner();



int main()
{
char infile[25]outfile[25];


评论

共有 条评论