freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

編譯原理課程設(shè)計(jì)報(bào)告c-語言詞法與語法分析器的實(shí)現(xiàn)-在線瀏覽

2024-10-29 09:21本頁面
  

【正文】 ntaxError(unexpected token )。 fprintf(listing, )。 TreeNode * p= t。 if (q!=NULL) { if (t==NULL) t = p = q。 p = q。 } TreeNode * declaration(void) { TreeNode * t = NULL。 if(token == INT) ttype =Integer。 match(token)。 t = VarDK。 switch (token) { case LZKH: t = VarDK。 match(LZKH)。 match(RZKH)。 break。 match(LPAREN)。 match(RPAREN)。 break。break。 default:syntaxError(unexpected token )。 token = getToken()。 } break。 printToken(token,tokenString)。 break。 } TreeNode * params(void) { TreeNode * t = NULL。 t = newStmtNode(ParamList)。 tchild[0]type = Void。 else { t = param_list()。 } TreeNode * param_list(void) { TreeNode * t = newStmtNode(ParamList)。 tchild[0] = param()。 tchild[i] = param()。 } return t。 match(INT)。 ttype=Integer。 match(ID)。 match(LZKH)。 } return t。 match(LDKH)。 tchild[1] = statement_list()。 return t。 int i=0。 i++。 } TreeNode * statement_list(void) { TreeNode * t = newStmtNode(StmtList)。 while(token != RDKH) { tchild[i] =statement()。 } return t。 switch (token) { case IF : t = if_stmt()。 case WHILE : t = while_stmt()。 case ID : case SEMI: t = expression_stmt()。 case RETURN : t = return_stmt()。 case LDKH : t=pound_stmt()。 default : syntaxError(unexpected token )。 token = getToken()。 } /* end case */ return t。 if(token == SEMI) match(SEMI)。 match(SEMI)。 } TreeNode * if_stmt(void) { TreeNode * t = newStmtNode(IfK)。 match(LPAREN)。 match(RPAREN)。 if (token==ELSE) { match(ELSE)。 tchild[2]child[0] = statement()。 } TreeNode * while_stmt(void) { TreeNode * t = newStmtNode(WhileK)。 match(LPAREN)。 match(RPAREN)。 return t。 if(token == RETURN) match(RETURN)。 else { tchild[0] = expression()。 } return t。 return t。 if ((t!=NULL) amp。 (token==ID)) t = copyString(tokenString)。 if(token == LZKH) { match(token)。 tchild[0] = expression()。 } return t。 if(t!=NULL){ if (token == LT || token == LE|| token == MT || token == ME||token ==EQ||token ==NEQ) { TreeNode * p = newExpNode(OpK)。 pchild[0] = t。 pchild[1] = additive_expression()。 } } } return t。 while(token == PLUS || token == MINUS) { TreeNode * p = newExpNode(OpK)。 pchild[0] = t。 pchild[1] = term()。 } return t。 while ((token==TIMES)||(token==OVER)) { TreeNode * p = newExpNode(OpK)。 p = token。 pchild[1] = factor()。 } } return t。 switch (token) { case NUM : t = newExpNode(ConstK)。amp。 match(NUM)。 case ID : t = var()。 p = t。 pchild[0] = expression()。 } if (token == LPAREN ) { TreeNode * p = newStmtNode(CallK)。 t=p。 pchild[0] = args()。 } break。 t = expression()。 break。 printToken(token,tokenString)。 break。 } TreeNode * args(void) { TreeNode * t = newStmtNode(ArgList)。 return t。 } TreeNode * arg_list(void) { TreeNode * t = newStmtNode(ArgK)。 if(token != RPAREN) tchild[0] = expression()。 tchild[i] = expression()。 } return t。 token = getToken()。 if (token!=ENDFILE) syntaxError(Code ends before file\n)。 } include include include /*對(duì)掃描的字符進(jìn)行匹配判斷 */ TokenType getToken(void) { /* index for storing into tokenString */ int tokenStringIndex = 0。 /* current state always begins at START */ StateType state = START。 while (state != DONE) { int c = getNextChar()。 switch (state) { case START: if (isdigit(c)) state = INNUM。 else if (c == 39。) state = INEQUAL。39。 else if (c == 39。) state = INME。 39。\t39。\n39。 else if (c== 39。) state = INNEQ。/39。*39。 state = DONE。 break。 state = INCOMMENT。 switch (c) { case EOF: save = FALSE。 break。+39。 break。39。 break。*39。 break。(39。 break。)39。 break。39。 break。[39。 break。]39。 break。{39。 break。}39。 break。,39。 break。 break。 case INCOMMENT: save = FALSE。 currentToken = ERROR。*39。/39。 } else { ungetNextChar()。 case INNEQ: state=DONE。=39。 else { ungetNextChar()。 currentToken=ERROR。 case INEQUAL: state = DONE。=39。 else { /* backu
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1