- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
eNode*declaration(void){TreeNode*t=NULL;TreeNode*p();break;}returnt;}TreeNode*selectionstmt(void){Trgn==){UnGetNextChar();save=false;CurrentToken=LPAREN);if(t!=NULL){--可修编
eNode*declaration(void){TreeNode*t=NULL;TreeNode*p
();break;}returnt;}TreeNode*selectionstmt(void){Tr
gn==){UnGetNextChar();save=false;CurrentToken=L
PAREN);if(t!=NULL){--可修编..-t-child[0]=expression(
#includefstream
#includeiostream
#includestring
#includestrstream
using namespace std;
#define BUFLEN256
#define MAXLEN256
#define MAXTOKENLE0
#define MAXCHILDRE
static int lineno;
static int linepos = 0;//读取的字符在 lineBuf的位置
static int EOF_FLAG= false;
static int bufsize = 0;//lineBuf的长度
static char lineBuf[BUFLEN];
FILE* source;
char tokenString[MAXTOKENLEN+1];
string output;//输出文件
enum TokenType
{
ENDFILE,ERROR,
IF,ELSE,INT,RETURN,VOID,WHILE,
ID,NUM,
ASSIGN,EQ,LT,PLUS,MINUS,TIMES,OVER,LPAREN,RPAREN,SEMI,LBRACKET,RBRACKET,LB
RACE,RBRACE,MA,
GT,GEQ,NEQ,LEQ
};
enum StateType
{
START,INASSIGN,INMENT,INNUM,INID,DONE,PREMENT,AFTERMENT
};
struct
{
char* str;
TokenType tok;
}ReserverWords[6]
= { {if,IF},{elseELSE},int,INT},{returnRETURN},void VOID},while,WHILE};
void UnGetNextChar()
{
if (!EOF_FLAG)
-可修编.
p!=NULLtoken==ID){q=newNode(IdK);q-attr.name=coif((c==)||(c==)||(c===)||(c==!)){state=I++;if(fgets(lineBuf,BUFLEN-1,source)){bufsize=strlonstK)t-attr.val=0;}returnt;}TreeNode*declaration.
p!=NULLtoken==ID){q=newNode(IdK);q-attr.name=co
if((c==)||(c==)||(c===)||(c==!)){state=I
++;if(fgets(lineBuf,BUFLEN-1,source)){bufsize=strl
onstK)t-attr.val=0;}returnt;}TreeNode*declaration
linepos--;
}
int GetNextChar()
{
if(!(lineposbufsize))
{
lineno++;
if(fgets(lineBuf,BUFLEN-1,source))
{
bufsize=strlen(lineBuf);
linepos=0;
return lineBuf[linepos++];
}
else
{
EOF_FLAGt=rue;
return EOF;
}
}
else
{
return lineBuf[linepos++];
}
}
TokenType ReservedLookUp(char * s)
{
int i;
for (i = 0; i 6; i++)
{
if(!strcmp(s,ReserverWords[i].str))
{
return ReserverWords[i].tok;
}
}
return ID;
}
TokenType GetToken()
{
StateType state = S
您可能关注的文档
最近下载
- 初中英语语法专项1000题:专题11-时态二(现在进行时)(答案解析).pdf VIP
- 外科学课件:胸部损伤-.ppt VIP
- 2021年1月自考11466现代企业人力资源管理概论试题及答案含解析.pdf VIP
- 营运桥梁变形监测报告.doc VIP
- 防水基本知识的普及雨虹.pdf VIP
- 初中英语语法专项1000题:专题10-时态一(一般现在时)(答案解析).pdf VIP
- 大疆无人机操作教程视频.pdf VIP
- 初中英语语法专项1000题:专题09-动词-专项训练(答案解析).pdf VIP
- 人教版四年级上册道德与法治培优辅差计划.docx VIP
- 东方雨虹聚羧酸减水剂应用.ppt VIP
文档评论(0)