資源簡介
這是編譯原理的語法分析實驗,輸入格式為 A~Z和+-*/() ,并且以#結尾

代碼片段和文件信息
//?BianYiYuanLi2.cpp:?定義控制臺應用程序的入口點。
//
#include?“stdafx.h“
#include?
#include?
void?E(int&?TZ?std::string&?ST);
void?ADVANCE(std::string&?ST)?{
ST.erase(0?1);
}
char?SYM(std::string&?ST)?{
std::string::iterator?it?=?ST.begin();
return?*it;
}
void?F(int&?TZ?std::string&?ST)?{//(SYM?>=?‘a‘&&SYM?<=?‘z‘)?||?
if?((SYM(ST)?>=?‘A‘&&SYM(ST)?<=?‘Z‘))
{
ADVANCE(ST);
return;
}
else?{
if?(SYM(ST)?!=?‘(‘)?{
//std::cout?<“ERROR“?< TZ?=?1;
return;
}
else?{
ADVANCE(ST);
E(TZ?ST);
if?(SYM(ST)?!=?‘)‘)
{
std::cout?<“ERROR“?< TZ?=?1;
return;
}
else?{
ADVANCE(ST);
return;
}
}
}
}
void?T(int&?TZ?std::string&?ST)?{
F(TZ?ST);
while?(SYM(ST)?==?‘*‘?||?SYM(ST)?==?‘/‘)?{
ADVANCE(ST);
F(TZ?ST);
}
}
void?E(int&?TZ?std::string&?ST)?{
do?{
T(TZ?ST);
if?(SYM(ST)?==?‘+‘?||?SYM(ST)?==?‘-‘)?{
ADVANCE(ST);
}
else?{
return;
}
}?while?(true);
}
int?main()
{
while?(true)?{
std::cout?<“Input?expression“?<
//接受輸入的表達式
std::string?ST;
std::cin?>>?ST;
int?TZ?=?0;
E(TZ?ST);
if?(SYM(ST)?!=?‘#‘?||?TZ?==?1)
{
std::cout?<“ERROR?AGAIN!“;
TZ?=?0;
}
else?{
std::cout?<“RIGHT?AGAIN!“;
}
system(“pause“);
}
return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-06-18?20:58??編譯原理--語法分析?實驗\
?????目錄???????????0??2018-06-18?20:58??編譯原理--語法分析?實驗\BianYiYuanLi2\
?????文件????????2800??2018-06-18?20:42??編譯原理--語法分析?實驗\BianYiYuanLi2\BianYiYuanLi2.cpp
?????文件????????8223??2018-06-18?18:36??編譯原理--語法分析?實驗\BianYiYuanLi2\BianYiYuanLi2.vcxproj
?????文件????????1258??2018-06-18?18:36??編譯原理--語法分析?實驗\BianYiYuanLi2\BianYiYuanLi2.vcxproj.filters
?????文件?????????165??2018-06-18?18:36??編譯原理--語法分析?實驗\BianYiYuanLi2\BianYiYuanLi2.vcxproj.user
?????文件?????????328??2018-06-18?18:36??編譯原理--語法分析?實驗\BianYiYuanLi2\stdafx.cpp
?????文件?????????366??2018-06-18?18:36??編譯原理--語法分析?實驗\BianYiYuanLi2\stdafx.h
?????文件?????????370??2018-06-18?18:36??編譯原理--語法分析?實驗\BianYiYuanLi2\targetver.h
?????文件????????1453??2018-06-18?18:36??編譯原理--語法分析?實驗\BianYiYuanLi2.sln
- 上一篇:MFC數據庫ODBC編程-教務管理系統
- 下一篇:語法分析C實現
評論
共有 條評論