亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tiny.y

?? 一個簡化的編譯器
?? Y
字號:
/****************************************************//* File: tiny.y                                     *//* The TINY Yacc/Bison specification file           *//* Compiler Construction: Principles and Practice   *//* Kenneth C. Louden                                *//****************************************************/%{#define YYPARSER /* distinguishes Yacc output from other code files */#include "globals.h"#include "util.h"#include "scan.h"#include "parse.h"#define YYSTYPE TreeNode *static char * savedName; /* for use in assignments */static int savedLineNo;  /* ditto */static TreeNode * savedTree; /* stores syntax tree for later return */%}%token IF THEN ELSE END REPEAT UNTIL READ WRITE%token ID NUM %token ASSIGN EQ LT PLUS MINUS TIMES OVER LPAREN RPAREN SEMI%token ERROR %% /* Grammar for TINY */program     : stmt_seq                 { savedTree = $1;}             ;stmt_seq    : stmt_seq SEMI stmt                 { YYSTYPE t = $1;                   if (t != NULL)                   { while (t->sibling != NULL)                        t = t->sibling;                     t->sibling = $3;                     $$ = $1; }                     else $$ = $3;                 }            | stmt  { $$ = $1; }            ;stmt        : if_stmt { $$ = $1; }            | repeat_stmt { $$ = $1; }            | assign_stmt { $$ = $1; }            | read_stmt { $$ = $1; }            | write_stmt { $$ = $1; }            | error  { $$ = NULL; }            ;if_stmt     : IF exp THEN stmt_seq END                 { $$ = newStmtNode(IfK);                   $$->child[0] = $2;                   $$->child[1] = $4;                 }            | IF exp THEN stmt_seq ELSE stmt_seq END                 { $$ = newStmtNode(IfK);                   $$->child[0] = $2;                   $$->child[1] = $4;                   $$->child[2] = $6;                 }            ;repeat_stmt : REPEAT stmt_seq UNTIL exp                 { $$ = newStmtNode(RepeatK);                   $$->child[0] = $2;                   $$->child[1] = $4;                 }            ;assign_stmt : ID { savedName = copyString(tokenString);                   savedLineNo = lineno; }              ASSIGN exp                 { $$ = newStmtNode(AssignK);                   $$->child[0] = $4;                   $$->attr.name = savedName;                   $$->lineno = savedLineNo;                 }            ;read_stmt   : READ ID                 { $$ = newStmtNode(ReadK);                   $$->attr.name =                     copyString(tokenString);                 }            ;write_stmt  : WRITE exp                 { $$ = newStmtNode(WriteK);                   $$->child[0] = $2;                 }            ;exp         : simple_exp LT simple_exp                  { $$ = newExpNode(OpK);                   $$->child[0] = $1;                   $$->child[1] = $3;                   $$->attr.op = LT;                 }            | simple_exp EQ simple_exp                 { $$ = newExpNode(OpK);                   $$->child[0] = $1;                   $$->child[1] = $3;                   $$->attr.op = EQ;                 }            | simple_exp { $$ = $1; }            ;simple_exp  : simple_exp PLUS term                  { $$ = newExpNode(OpK);                   $$->child[0] = $1;                   $$->child[1] = $3;                   $$->attr.op = PLUS;                 }            | simple_exp MINUS term                 { $$ = newExpNode(OpK);                   $$->child[0] = $1;                   $$->child[1] = $3;                   $$->attr.op = MINUS;                 }             | term { $$ = $1; }            ;term        : term TIMES factor                  { $$ = newExpNode(OpK);                   $$->child[0] = $1;                   $$->child[1] = $3;                   $$->attr.op = TIMES;                 }            | term OVER factor                 { $$ = newExpNode(OpK);                   $$->child[0] = $1;                   $$->child[1] = $3;                   $$->attr.op = OVER;                 }            | factor { $$ = $1; }            ;factor      : LPAREN exp RPAREN                 { $$ = $2; }            | NUM                 { $$ = newExpNode(ConstK);                   $$->attr.val = atoi(tokenString);                 }            | ID { $$ = newExpNode(IdK);                   $$->attr.name =                         copyString(tokenString);                 }            | error { $$ = NULL; }            ;%%int yyerror(char * message){ fprintf(listing,"Syntax error at line %d: %s\n",lineno,message);  fprintf(listing,"Current token: ");  printToken(yychar,tokenString);  Error = TRUE;  return 0;}/* yylex calls getToken to make Yacc/Bison output * compatible with ealier versions of the TINY scanner */static int yylex(void){ return getToken(); }TreeNode * parse(void){ yyparse();  return savedTree;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区在线看| 亚洲乱码中文字幕| 韩国女主播成人在线观看| 欧美tickling网站挠脚心| 国产经典欧美精品| 亚洲精品乱码久久久久| 欧美电影在哪看比较好| 国产资源精品在线观看| 一区二区中文视频| 911精品产国品一二三产区| 狠狠色丁香九九婷婷综合五月| 国产日韩精品一区| 欧美剧情片在线观看| 国产老女人精品毛片久久| 亚洲精品菠萝久久久久久久| 日韩一区二区免费在线电影| 国产91富婆露脸刺激对白| 视频一区二区中文字幕| 国产精品三级视频| 欧美电影在哪看比较好| 成人综合婷婷国产精品久久 | 国产成人午夜电影网| 亚洲嫩草精品久久| 久久久精品一品道一区| 欧美日韩一卡二卡| 成人久久久精品乱码一区二区三区 | 成人免费毛片a| 亚洲成精国产精品女| 国产精品免费观看视频| 欧美成人午夜电影| 91精品国产综合久久久久| av网站免费线看精品| 免费av成人在线| 一区二区三区中文在线观看| 久久精品一区二区| 56国语精品自产拍在线观看| 91免费小视频| 972aa.com艺术欧美| 狠狠色狠狠色合久久伊人| 婷婷夜色潮精品综合在线| 国产精品久久福利| 国产精品视频第一区| 精品国产乱码久久久久久老虎| 欧美中文一区二区三区| 欧美做爰猛烈大尺度电影无法无天| 懂色av一区二区三区蜜臀| 国产成人免费xxxxxxxx| 国产主播一区二区| 黑人精品欧美一区二区蜜桃| 午夜精品久久久久久久| 亚洲午夜在线电影| 一区二区三区日韩精品| 一区二区三区产品免费精品久久75| 欧美国产一区在线| 国产精品久久久久久一区二区三区| 久久噜噜亚洲综合| 欧美国产精品v| 中文字幕在线不卡| 亚洲综合激情网| 亚洲一区二区黄色| 日精品一区二区| 六月丁香婷婷色狠狠久久| 久久精品99国产精品| 国精品**一区二区三区在线蜜桃| 国产在线国偷精品免费看| 国产成人自拍高清视频在线免费播放| 国产一区二区不卡| 成人高清视频在线| 欧美日韩中文精品| 91精品国产麻豆| 日韩免费性生活视频播放| 欧美mv日韩mv| 中文字幕乱码亚洲精品一区| 国产网红主播福利一区二区| 中文字幕一区二区在线观看| 一区二区三区中文在线观看| 亚洲影视在线播放| 强制捆绑调教一区二区| 国产精品一级二级三级| 91视频你懂的| 欧美一区二区三区播放老司机| 精品国产精品一区二区夜夜嗨| 国产亚洲午夜高清国产拍精品 | 成人丝袜高跟foot| 色综合一个色综合| 51精品视频一区二区三区| 久久婷婷国产综合精品青草| 国产精品福利一区| 日产欧产美韩系列久久99| 精品一区二区三区久久| 91精品91久久久中77777| 欧美不卡123| 亚洲综合色成人| 国产成人精品一区二区三区四区 | 国产乱子伦视频一区二区三区| 99精品视频中文字幕| 日韩写真欧美这视频| 国产精品久久午夜| 麻豆精品视频在线观看视频| 99精品在线观看视频| 日韩欧美电影一二三| 亚洲激情校园春色| 国产精品乡下勾搭老头1| 欧美精品日韩精品| 亚洲猫色日本管| 国产馆精品极品| 欧美日韩第一区日日骚| 亚洲视频一二区| 国产激情视频一区二区在线观看| 91精品国产综合久久久久久久 | 日韩成人免费电影| 91亚洲永久精品| 欧美国产精品久久| 国产一区高清在线| 91麻豆精品国产91久久久久久久久 | 亚洲乱码精品一二三四区日韩在线| 麻豆成人久久精品二区三区小说| 91黄色小视频| 午夜欧美大尺度福利影院在线看| 成人精品一区二区三区四区| 精品剧情v国产在线观看在线| 视频一区欧美精品| 欧美日韩在线精品一区二区三区激情 | 韩国女主播一区二区三区| 日韩一区二区视频| 日韩经典一区二区| 91精品国产综合久久久蜜臀粉嫩| 亚洲第一激情av| 欧美伊人久久久久久午夜久久久久| 国产精品久久久久久久久免费桃花 | 欧美挠脚心视频网站| 亚洲第一激情av| 欧美日韩欧美一区二区| 午夜久久电影网| 欧美军同video69gay| 青草国产精品久久久久久| 日韩视频免费直播| 激情综合色丁香一区二区| 精品国产乱码久久久久久图片 | 在线视频你懂得一区二区三区| 一区二区三区在线高清| 欧美性一区二区| 秋霞国产午夜精品免费视频| 精品国产电影一区二区| 国产电影一区在线| 亚洲色图都市小说| 欧美日韩三级在线| 国产伦精品一区二区三区在线观看 | 日韩欧美一级二级三级久久久 | 欧美经典一区二区三区| 国产91精品精华液一区二区三区| 中文字幕免费在线观看视频一区| 色综合天天狠狠| 婷婷激情综合网| 国产清纯白嫩初高生在线观看91 | 天天做天天摸天天爽国产一区| 日韩一二三区不卡| 国产aⅴ综合色| 亚洲综合精品自拍| 久久免费美女视频| 欧美在线观看禁18| 久久97超碰色| 亚洲乱码中文字幕| 欧美不卡一区二区三区四区| 不卡影院免费观看| 免费视频最近日韩| 成人欧美一区二区三区小说| 欧美日韩三级视频| www.久久久久久久久| 偷拍日韩校园综合在线| 中文字幕va一区二区三区| 欧美日韩一区小说| 成人黄色一级视频| 免费看日韩a级影片| 国产精品国产精品国产专区不片| 欧美无砖专区一中文字| 成人午夜视频在线观看| 日韩不卡手机在线v区| 亚洲天堂福利av| wwwwxxxxx欧美| 日韩一区二区视频| 在线视频欧美区| 成人avav影音| 韩国女主播成人在线观看| 亚洲成人你懂的| 国产精品久久久久aaaa| 久久综合久久99| 91精品国模一区二区三区| 色综合久久综合中文综合网| 成人开心网精品视频| 国产成人三级在线观看| 免费不卡在线视频| 免费视频最近日韩| 日韩在线卡一卡二| 午夜精品福利在线| 日韩中文字幕一区二区三区| 亚洲综合av网| 亚洲在线观看免费| 亚洲国产视频在线| 亚洲成a人v欧美综合天堂下载|