资源简介
计150326周艺(最新版本).zip
代码片段和文件信息
#include “stdafx.h“
#include
#include //表示包含关键函数vector
#include //可以用于pair数组输出
#include
#include //文件的输入输出库函数的 头文件
#include //STL库,包含一些特定的算法,例如其中firtstmidlastmidnth均为迭代器类型。
#include
using namespace std;
string file_name;//用来存储目标文件名
string GetText();//提取文本文件txt中的信息
string GetWord(string strint iint& j); //获得一个单词符号从位置i开始查找,并且有一个引用参数j,
//用来返回这个单词最后一个字符在str的位置
int DeleteNull(string strint i);//这个函数用来除去字符串中连续的空格和连续的换行;第一个参数为目标字符串,
//第二个参数为开始位置;返回值为连续的空格和换行后的第一个有效字符在字符串的位置
bool IsBoundary(string strint i); //判断i当前所指的字符是否为一个分界符,是的话返回真,反之假
bool IsOperation(string strint i); //判断i当前所指的字符是否为一个操作符,是的话返回真,反之假
void Print(vector > v); //此函数将一个pair数组输出
vector > analyst(vector vec);//此函数接受一个字符串数组,对它进行词法分析,返回一个pair型数组
bool IsKey(string str);//此函数判断传递的参数是否为关键字,是的话,返回真,反之返回假
int main()
{
cout<<“**************编译原理词法分析器****************\n“;
string com1=“ “;//用com1表示空格
string com2=“\n“;//用com2表示换行
string fileline=GetText();//表示提取文本中信息的对象
int begin=0end=0;
vector array;//此函数接受一个字符串数组,对它进行词法分析,返回一个pair型数组
do
{
begin=DeleteNull(filelinebegin);
string nowString;//当前的输入符号串的对象
nowString=GetWord(filelinebeginend);//从begin和first以及文本文档中获取当前的字符
if(end==-1)
break;
if(nowString.compare(com1)&&nowString.compare(com2))
array.push_back(nowString);//在array数组里面的最后添加。
begin=end+1;
}while(true);
vector > mid_result;
mid_result=analyst(array);
Print(mid_result);
cout<<“**********************************************************************\n“;
cout<<“********************完成词法分析,显示分析结果************************\n“;
cout<<“************1--关键字 2--变量名 3--常数 4--运算符 5--界符*************\n“;
cout<<“**********************************************************************\n“;
system(“pause“);
return 0;
}
//提取文本文件中的信息
string GetText()
{
string file_name1;
cout<<“您好!请输入源文件路径(文件后尾加后缀名):“;
cin>>file_name1;
ifstream infile(file_name1.c_str()ios::in);
if (!infile)
{
cerr<<“抱歉,无法打开文件 “< exit(-1);
}
cout< char f[1000];
infile.getline(f1000EOF);
infile.close();//关闭文件
return f;
}
string GetWord(string strint iint& j)//获取相关参数,第一个参数为目标字符串,
//第二个参数为开始位置,从位置i开始查找,并且有一个引用参数j,
//用来返回这个单词最后一个字符在str的位置
{
string no_use(“(){} ; \n+=*/-<>\““);
j=str.find_first_of(no_usei);
if(j==-1)
return ““;
if(i!=j)//如果i不是str的最后一个字符的位置,那么j就继续往后面查找,直到j表示str的最后一个字符的位置。
j--;
return str.substr(ij-i+1);//拼接字符,形成单词
}
int DeleteNull(string strint i)//这个函数用来除去字符串中连续的空格和连续的换行;
//第一个参数为目
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-02-28 19:56 计150326周艺(最新版本)\
文件 163328 2017-12-23 19:50 计150326周艺(最新版本)\计150326周艺(程序清单).doc
目录 0 2018-02-28 19:56 计150326周艺(最新版本)\计150326词法分析\
目录 0 2018-02-28 19:56 计150326周艺(最新版本)\计150326词法分析\Debug\
文件 602184 2017-12-23 18:57 计150326周艺(最新版本)\计150326词法分析\Debug\cifafenxi.exe
文件 858040 2017-12-23 18:57 计150326周艺(最新版本)\计150326词法分析\Debug\cifafenxi.ilk
文件 400929 2017-12-23 18:57 计150326周艺(最新版本)\计150326词法分析\Debug\cifafenxi.obj
文件 3043480 2017-12-23 18:57 计150326周艺(最新版本)\计150326词法分析\Debug\cifafenxi.pch
文件 1213440 2017-12-23 18:57 计150326周艺(最新版本)\计150326词法分析\Debug\cifafenxi.pdb
文件 91136 2017-12-23 19:09 计150326周艺(最新版本)\计150326词法分析\Debug\vc60.idb
文件 135168 2017-12-23 18:57 计150326周艺(最新版本)\计150326词法分析\Debug\vc60.pdb
文件 7073 2017-12-12 10:14 计150326周艺(最新版本)\计150326词法分析\cifafenxi.cpp
文件 3437 2013-01-09 09:59 计150326周艺(最新版本)\计150326词法分析\cifafenxi.dsp
文件 543 2013-01-09 10:15 计150326周艺(最新版本)\计150326词法分析\cifafenxi.dsw
文件 66560 2017-12-23 19:14 计150326周艺(最新版本)\计150326词法分析\cifafenxi.ncb
文件 48640 2017-12-23 19:14 计150326周艺(最新版本)\计150326词法分析\cifafenxi.opt
文件 14678 2017-12-23 18:57 计150326周艺(最新版本)\计150326词法分析\cifafenxi.plg
文件 124 2011-01-09 18:51 计150326周艺(最新版本)\计150326词法分析\j.txt
文件 219 2012-01-07 19:13 计150326周艺(最新版本)\计150326词法分析\stdafx.cpp
文件 187 2012-01-07 19:13 计150326周艺(最新版本)\计150326词法分析\stdafx.h
目录 0 2018-02-28 19:56 计150326周艺(最新版本)\计150326语法分析\
目录 0 2018-02-28 19:56 计150326周艺(最新版本)\计150326语法分析\Debug\
文件 0 2017-12-23 19:07 计150326周艺(最新版本)\计150326语法分析\Debug\j.txt
文件 0 2017-12-23 19:13 计150326周艺(最新版本)\计150326语法分析\Debug\j1.txt
文件 50176 2017-12-23 19:12 计150326周艺(最新版本)\计150326语法分析\Debug\vc60.idb
文件 61440 2017-12-23 19:12 计150326周艺(最新版本)\计150326语法分析\Debug\vc60.pdb
文件 241736 2017-12-23 19:12 计150326周艺(最新版本)\计150326语法分析\Debug\yufafenxi.exe
文件 301504 2017-12-23 19:12 计150326周艺(最新版本)\计150326语法分析\Debug\yufafenxi.ilk
文件 49542 2017-12-23 19:12 计150326周艺(最新版本)\计150326语法分析\Debug\yufafenxi.obj
文件 303396 2017-12-23 19:10 计150326周艺(最新版本)\计150326语法分析\Debug\yufafenxi.pch
文件 607232 2017-12-23 19:12 计150326周艺(最新版本)\计150326语法分析\Debug\yufafenxi.pdb
............此处省略9个文件信息
- 上一篇:openSSL头文件和静态库文件以及动态库
- 下一篇:基于echarts的数据分析
相关资源
- 基于RFID的学生门禁系统C源码、说明文
- 信息安全技术_网络安全等级保护基本
- 16G101-1图集CAD版.dwg
- 1.rar
- ncm-solutions.zip
- pat-basic-v2.4.pdf
- HDMI_CTS_2_0e.pdf
- IEEE802.15.4e-2012版.rar
- Solutions-Elementsofinformationtheory(2ndEdi
- -EXE.rar
- superRecovery.zip
- 大淘客CMS加淘口令和底部导航菜单源
- testDate.zip
- Embarcadero.ERStudio.v8.0.2.5991-Crack.rar
- studentweb.rar
- charting_library-master.zip
- TIJ-3rd-edition4.0.zip
- 图书ISBN信息批量查询程序.rar
- QrCode.rar
- 树叶识别GUI语音播报文字识别.zip
- 尚硅谷1024专用全套视频打包地址不对
- 2018年百度地图poi数据.zip
- 近世代数基础习题指导.rar
- privateshell_中文版.exe
- www.yimuhe.com-双色球霸主软件V6.0破解版
- layimDemo.rar
- 阿西网站推广系统破解版.zip
- Trinamic芯片选型手册2018.pdf
- IPCJ-STD-002CCHINESE-2008.rar
- DLL2LIB3破解版修复查找符号bug.rar
评论
共有 条评论