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

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

?? analyze.c

?? 一個簡單的詞法編譯程序,用vc++做的,內附lex跟yacc程序
?? C
字號:

#include "globals.h"
#include "symtab.h"
#include "analyze.h"

static int location = 0;

static void traverse( TreeNode * t,
               void (* preProc) (TreeNode *),
               void (* postProc) (TreeNode *) )
{ if (t != NULL)
  { preProc(t);
    { int i;
      for (i=0; i < MAXCHILDREN; i++)
        traverse(t->child[i],preProc,postProc);
    }
    postProc(t);
    traverse(t->sibling,preProc,postProc);
  }
}

static void nullProc(TreeNode * t)
{ if (t==NULL) return;
  else return;
}

static void insertNode( TreeNode * t)
{ switch (t->nodekind)
  { case StmtK:
      switch (t->kind.stmt)
      { case AssignK:
        case ReadK:
          if (st_lookup(t->attr.name) == -1)
            st_insert(t->attr.name,t->lineno,location++);
          else
            st_insert(t->attr.name,t->lineno,0);
          break;
        default:
          break;
      }
      break;
    case ExpK:
      switch (t->kind.exp)
      { case IdK:
          if (st_lookup(t->attr.name) == -1)
            st_insert(t->attr.name,t->lineno,location++);
          else
            st_insert(t->attr.name,t->lineno,0);
          break;
        default:
          break;
      }
      break;
    default:
      break;
  }
}

void buildSymtab(TreeNode * syntaxTree)
{ traverse(syntaxTree,insertNode,nullProc);
  if (TraceAnalyze)
  { fprintf(listing,"\nSymbol table:\n\n");
    printSymTab(listing);
  }
}

static void typeError(TreeNode * t, char * message)
{ fprintf(listing,"Type error at line %d: %s\n",t->lineno,message);
  Error = TRUE;
}

static void checkNode(TreeNode * t)
{ switch (t->nodekind)
  { case ExpK:
      switch (t->kind.exp)
      { case OpK:
          if ((t->child[0]->type != Integer) ||
              (t->child[1]->type != Integer))
            typeError(t,"Op applied to non-integer");
          if ((t->attr.op == EQ) || (t->attr.op == LT))
            t->type = Boolean;
          else
            t->type = Integer;
          break;
        case ConstK:
        case IdK:
          t->type = Integer;
          break;
        default:
          break;
      }
      break;
    case StmtK:
      switch (t->kind.stmt)
      { case IfK:
          if (t->child[0]->type == Integer)
            typeError(t->child[0],"if test is not Boolean");
          break;
        case AssignK:
          if (t->child[0]->type != Integer)
            typeError(t->child[0],"assignment of non-integer value");
          break;
        case WriteK:
          if (t->child[0]->type != Integer)
            typeError(t->child[0],"write of non-integer value");
          break;
        case RepeatK:
          if (t->child[1]->type == Integer)
            typeError(t->child[1],"repeat test is not Boolean");
          break;
        default:
          break;
      }
      break;
    default:
      break;

  }
}

void typeCheck(TreeNode * syntaxTree)
{ traverse(syntaxTree,nullProc,checkNode);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区免费| 精品国产伦一区二区三区免费| 日韩一区二区视频在线观看| 国产天堂亚洲国产碰碰| 亚洲与欧洲av电影| 国产精品1024| 日韩精品专区在线影院重磅| 亚洲精品菠萝久久久久久久| 国内精品国产三级国产a久久| 欧美日韩成人一区| 国产一区 二区 三区一级| 欧美日韩精品电影| 亚洲美女一区二区三区| 成人夜色视频网站在线观看| 日韩欧美综合一区| 日韩精品亚洲专区| 在线观看免费成人| 1024国产精品| 成人久久久精品乱码一区二区三区| 日韩欧美的一区二区| 性做久久久久久久免费看| www.欧美日韩| 国产精品美女一区二区三区| 国产综合久久久久影院| 日韩精品中文字幕一区二区三区 | 自拍偷拍国产亚洲| 国产.精品.日韩.另类.中文.在线.播放| 日韩一本二本av| 欧美唯美清纯偷拍| 亚洲精品美国一| 色婷婷精品久久二区二区蜜臂av| 国产精品国产三级国产aⅴ入口 | 国产精品三级久久久久三级| 激情图区综合网| 精品99999| 国产精品一二二区| 国产欧美一区二区在线观看| 高清国产一区二区| 国产欧美日韩视频一区二区 | 91老师国产黑色丝袜在线| 国产精品电影院| 一本一道久久a久久精品 | 久久精品夜夜夜夜久久| 国产成人精品一区二区三区四区| 国产视频911| a亚洲天堂av| 一区二区三区小说| 欧美日韩国产精品自在自线| 免费黄网站欧美| 久久久久久久久久久黄色| 国产成人午夜视频| 亚洲视频在线一区| 欧美三区在线观看| 久久精品国产999大香线蕉| 久久久国际精品| 91丨九色丨黑人外教| 亚洲一卡二卡三卡四卡| 欧美不卡一区二区三区四区| 国产河南妇女毛片精品久久久| 国产精品亲子伦对白| 欧洲一区二区三区在线| 蜜臀久久久99精品久久久久久| 久久精品一区二区三区不卡| 91蝌蚪porny九色| 日韩二区三区四区| 国产视频一区二区在线| 欧美三级午夜理伦三级中视频| 久久国产精品色婷婷| 亚洲柠檬福利资源导航| 欧美一级艳片视频免费观看| 国产**成人网毛片九色 | 一区二区三区在线看| 精品久久国产字幕高潮| 91原创在线视频| 蜜桃av一区二区在线观看| 国产精品日韩成人| 日韩免费视频线观看| 99久免费精品视频在线观看| 性欧美疯狂xxxxbbbb| 日本一区二区三区在线观看| 欧美人与z0zoxxxx视频| 高清免费成人av| 在线视频观看一区| 国产精品亚洲第一区在线暖暖韩国| 亚洲另类中文字| 国产日韩欧美高清在线| 日韩一级二级三级| 在线区一区二视频| 国产白丝网站精品污在线入口| 午夜久久久影院| 综合激情成人伊人| 久久久久久久久久看片| 欧美久久久久免费| 日本韩国精品在线| 不卡的av电影在线观看| 国产精品自拍一区| 免费在线看成人av| 亚洲一二三四久久| 国产精品家庭影院| 国产色爱av资源综合区| 欧美日本一道本| 91高清在线观看| 成人一区二区三区视频在线观看| 国产综合色产在线精品| 麻豆一区二区99久久久久| 亚洲成人你懂的| 午夜一区二区三区在线观看| 一区二区三区在线观看视频| 成人免费在线视频| 亚洲欧美在线观看| 成人欧美一区二区三区视频网页 | 97久久超碰精品国产| 99久久精品一区| 91麻豆福利精品推荐| 日本乱人伦aⅴ精品| 91蝌蚪porny| 欧美三级午夜理伦三级中视频| 欧美在线播放高清精品| 欧美视频你懂的| 7777精品伊人久久久大香线蕉经典版下载 | 国产精品99久久久久久久vr| 国产馆精品极品| 成人免费看视频| aaa国产一区| 91在线云播放| 欧美亚洲国产bt| 欧美一区二区三区日韩视频| 日韩亚洲欧美中文三级| 精品国产一区二区亚洲人成毛片| 久久久久久免费网| 中文字幕国产精品一区二区| 国产精品素人视频| 一级特黄大欧美久久久| 日本 国产 欧美色综合| 久久精品国产99| 菠萝蜜视频在线观看一区| 91麻豆免费看| 欧美一级一级性生活免费录像| 久久日韩精品一区二区五区| 欧美国产精品专区| 亚洲综合在线五月| 麻豆高清免费国产一区| 国产99精品视频| 欧美主播一区二区三区美女| 日韩一区二区精品葵司在线| 国产欧美一区二区三区网站| 一区二区三区在线观看欧美 | 成人精品视频.| 欧美男女性生活在线直播观看| 精品国产a毛片| 亚洲三级理论片| 毛片av一区二区| 91在线视频官网| 日韩免费电影一区| 亚洲欧美经典视频| 老司机一区二区| 色综合天天综合网天天看片| 日韩三级精品电影久久久| 最近中文字幕一区二区三区| 日韩制服丝袜先锋影音| 99视频精品在线| 欧美va亚洲va| 亚洲国产另类av| 国产成人一区二区精品非洲| 欧美日韩在线电影| 中文字幕不卡的av| 玖玖九九国产精品| 欧美网站一区二区| 国产精品超碰97尤物18| 激情五月激情综合网| 欧美挠脚心视频网站| 亚洲视频小说图片| 国产精品一区三区| 在线成人午夜影院| 亚洲精品写真福利| 风间由美一区二区av101| 日韩一级二级三级精品视频| 曰韩精品一区二区| 不卡大黄网站免费看| 久久精品亚洲精品国产欧美kt∨| 午夜久久久影院| 欧美视频中文字幕| 中文字幕亚洲精品在线观看| 激情五月激情综合网| 日韩欧美一区中文| 天天亚洲美女在线视频| 在线观看中文字幕不卡| 亚洲欧美日韩一区二区三区在线观看| 国产酒店精品激情| 日韩精品一区二| 日本sm残虐另类| 欧美一区二区三区在线电影| 亚洲一区二区三区激情| 一本到不卡精品视频在线观看| 国产精品美女一区二区| 成人av网站在线| 国产欧美日韩精品a在线观看| 国产精品一二三四区| 久久女同性恋中文字幕| 国产一区二区在线视频|