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

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

?? taste.frm

?? 自己寫的關于編譯原理的實驗報告的源代碼
?? FRM
字號:
/**********************************************************
**   TASTE.FRM
**   Coco/R C Taste Compiler/Interpreter Example.
**   Author: Frankie Arzu <farzu@uvg.edu.gt>
**      from Moessenboeck's (1990) Oberon example
**
**   May 24, 1996  Version 1.06
**   Oct 11, 1997  Version 1.07 (No change)
**   Mar 31, 1998  Version 1.08
**      Support for MS VC++ 5.0
**********************************************************/

#include  <stdio.h>
#include  <fcntl.h>
#include  <stdlib.h>

#if __MSDOS__ || MSDOS || WIN32
#  include  <io.h>
#else
#  include <unistd.h>
#  define  O_BINARY     0
#endif

#include <string.h>
#include "tl.h"
#include "tc.h"
#include -->ParserHeader
#include -->ScanHeader

struct ErrDesc {
  int nr, line, col;
  struct ErrDesc *next;
};

static char SourceName[256], ListName[256];
static FILE *lst = stderr;
static int Listinfo = 0;
struct ErrDesc *FirstErr = NULL, *LastErr;
static int Errors = 0;
extern Error_Func Custom_Error;

static char *ErrorMsg[] = {
#include -->ErrorFile
"User error number clash",
""
};

void StoreError (int nr, int line, int col, long pos)
/* Store an error message for later printing */
{ struct ErrDesc *NextErr;

  NextErr = (struct ErrDesc *) malloc(sizeof(struct ErrDesc));
  NextErr->nr = nr; NextErr->line = line; NextErr->col = col;
  NextErr->next = NULL;
  if (FirstErr == NULL) FirstErr = NextErr;
  else LastErr->next = NextErr;
  LastErr = NextErr;
  Errors++;
}

static long GetLine (long pos, char *line)
/* Read a source line.  Return empty line if eof */
{ char ch;
  int i;
  int col = 1;

  ch = S_CurrentCh(pos);
  while (ch && ch != LF_CHAR && ch != EOF_CHAR) {
    if (ch == TAB_CHAR) {
      i = TAB_SIZE - (col % TAB_SIZE) + 1;
      while (i--) { *line++ = ' '; col++; }
    }
    else if (ch != CR_CHAR) { *line++ = ch; col++; }
    pos++;
    ch = S_CurrentCh(pos);
  }
  *line = 0;
  if (ch != EOF_CHAR) return pos + 1;
  else return -1;
}

static void PrintErrMsg(int nr)
/* Modify this appropriately if semantic errors are to be handled by the */
/* switch (nr) statement */
{ if (nr <= MAXERROR) fprintf(lst, "%s", ErrorMsg[nr]);
  else switch (nr) {
    case 117:
      fprintf(lst,"Identifier redeclared");
      break;
    case 118:
      fprintf(lst,"Undeclared identifier");
      break;
    case 119:
      fprintf(lst,"Block identifier mismatch");
      break;
    case 120:
      fprintf(lst,"Integer type expected");
      break;
    case 121:
      fprintf(lst,"Incompatible types");
      break;
    case 122:
      fprintf(lst,"Boolean type expected");
      break;
    case 123:
      fprintf(lst,"Variable expected");
      break;
    case 124:
      fprintf(lst,"Invalid procedure call");
      break;
    case 125:
      fprintf(lst,"Program too long");
      break;
  }
  fprintf(lst," (E%d)",nr);
}

static void PrintErr (int nr, int col)
{ fprintf(lst, "*****");
  while (col--) fprintf(lst, " ");
  fprintf(lst, " ^ ");
  PrintErrMsg(nr);
  fprintf(lst, "\n");
}

static void PrintListing()
/* Print a source listing with error messages */
{ struct ErrDesc *nextErr;
  int lnr, errC;
  long srcPos;
  char line[255];

  fprintf(lst, "Listing:\n\n");
  srcPos = 0; nextErr = FirstErr;
  srcPos = GetLine(srcPos, line); lnr = 1; errC = 0;
  while (srcPos != -1) {
    fprintf(lst, "%5d  %s\n", lnr, line);
    while (nextErr != NULL && nextErr->line == lnr) {
      PrintErr(nextErr->nr, nextErr->col); errC++;
      nextErr = nextErr->next;
    }
    srcPos = GetLine(srcPos, line); lnr++;
  }
  if (nextErr != NULL) {
    fprintf(lst, "%5d\n", lnr);
    while (nextErr != NULL) {
      PrintErr(nextErr->nr, nextErr->col); errC++;
      nextErr = nextErr->next;
    }
  }
  fprintf(lst, "\n\n%5d syntax errors\n", errC);
}

void SummarizeErrors()
/* Summarize error messages */
{ struct ErrDesc *nextErr;
  nextErr = FirstErr;
  while (nextErr != NULL) {
    fprintf(lst, "\"%s\", Line %d, Col %d: ",
    SourceName, nextErr->line, nextErr->col);
    PrintErrMsg(nextErr->nr);
    fprintf(lst, "\n");
    nextErr = nextErr->next;
  }
}

void SourceListing()
/* Generate the source listing */
{ int i;

  strcpy(ListName, SourceName);
  i = strlen(ListName)-1;
  while (i>0 && ListName[i] != '.') i--;
  if (i>0) ListName[i] = '\0';

  strcat(ListName, ".lst");
  if ((lst = fopen(ListName, "w")) == NULL) {
    fprintf(stderr, "Unable to open List file %s\n", ListName);
    exit(1);
  }
  PrintListing();
  fclose(lst);
}

static void param_options(int argc, char *argv[])
{ int i;
  char *s;

  for (i = 1; i < argc; i++) {
    s = argv[i];
#if __MSDOS__ || MSDOS || WIN32
    if (*s == '-' || *s == '/') {
#else
    if (*s == '-') {
#endif
      s++;
      while (*s) {
        switch (*s) {
          case 'l' :
          case 'L' : Listinfo = 1; break;
        }
        s++;
      }
    } else strcpy(SourceName,s);
  }
}

void main(int argc,char *argv[])
{ /* check on correct parameter usage */
  strcpy(SourceName, "");
  param_options(argc, argv);
  if (!SourceName[0]) {
    fprintf(stderr, "No input file specified\n");
    exit(1);
  }
  /* open the source file (Scanner.S_src)  */
  if ((S_src = open(SourceName, O_RDONLY|O_BINARY)) == -1) {
    fprintf(stderr, "Unable to open input file %s\n", SourceName);
    exit(1);
  }

  /* install error reporting procedure */
  Custom_Error = (Error_Func) StoreError;

  printf("Parsing\n");
  Parse();
  close(S_src);

  if (Errors) {
    if (Listinfo) SourceListing();
    else SummarizeErrors();
    printf("Compilation with Errors\n");
    exit(1);
  } else {
    printf("Parsed correctly\n");
    Interpret();
    exit(0);
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线|欧美| 成人夜色视频网站在线观看| 国产精品久久三区| 久久久久久免费毛片精品| www成人在线观看| 欧美精品一区二区蜜臀亚洲| 精品久久久久香蕉网| 精品乱人伦小说| 久久综合精品国产一区二区三区| 欧美一级专区免费大片| 日韩欧美综合在线| 久久―日本道色综合久久| 久久久亚洲午夜电影| 欧美国产日韩精品免费观看| 中文字幕欧美国产| 亚洲精品伦理在线| 亚洲成人7777| 久久99九九99精品| 成人在线视频首页| 色婷婷狠狠综合| 欧美精三区欧美精三区| 精品国产亚洲在线| 久久尤物电影视频在线观看| 国产亚洲精品中文字幕| 自拍偷在线精品自拍偷无码专区| 亚洲色图在线播放| 日韩在线观看一区二区| 黄色小说综合网站| 99精品久久只有精品| 欧美日韩一区二区三区四区| 日韩欧美亚洲国产精品字幕久久久 | 亚洲国产欧美一区二区三区丁香婷| 一区二区三区四区在线免费观看| 日韩激情视频网站| 成人中文字幕电影| 91麻豆精品国产91久久久久久| 久久久www免费人成精品| 亚洲欧美经典视频| 久草热8精品视频在线观看| 99麻豆久久久国产精品免费| 欧美日韩国产三级| 国产精品―色哟哟| 蜜桃传媒麻豆第一区在线观看| 成人avav影音| 欧美一区二区三区日韩视频| 中日韩免费视频中文字幕| 亚洲成人第一页| www..com久久爱| 精品sm在线观看| 亚洲一区二区三区四区五区黄 | 99久久久无码国产精品| 91麻豆精品久久久久蜜臀| 国产精品国产三级国产专播品爱网 | 中文字幕亚洲欧美在线不卡| 免费看欧美女人艹b| 欧美在线影院一区二区| 久久久www成人免费毛片麻豆| 午夜精品福利在线| 91免费观看视频| 国产精品伦理在线| 国产一区二区三区在线观看精品 | 久久午夜免费电影| 美洲天堂一区二卡三卡四卡视频| 欧洲色大大久久| 亚洲欧美日本韩国| 97aⅴ精品视频一二三区| 国产区在线观看成人精品 | 91农村精品一区二区在线| 久久综合九色综合97婷婷| 看片的网站亚洲| 日韩欧美的一区二区| 午夜精品免费在线观看| 欧美视频一区在线| 久久激情综合网| 91精品国产手机| 天天综合天天做天天综合| 精品视频在线免费| 亚洲国产欧美另类丝袜| 色呦呦日韩精品| 亚洲一区二区在线视频| 91视频免费观看| 亚洲一区二区三区在线看| 色狠狠av一区二区三区| 亚洲精品自拍动漫在线| 在线观看国产一区二区| 亚洲图片欧美色图| 欧美电影在线免费观看| 全国精品久久少妇| 久久综合久久综合九色| 国产69精品久久777的优势| 国产精品乱码久久久久久| www.亚洲在线| 亚洲国产日韩a在线播放性色| 欧美日韩卡一卡二| 久久 天天综合| 中文天堂在线一区| 91一区二区三区在线观看| 亚洲激情在线播放| 51精品秘密在线观看| 国产美女在线精品| 成人免费在线视频观看| 欧美色男人天堂| 九九国产精品视频| 成人免费在线观看入口| 日本福利一区二区| 精品无人区卡一卡二卡三乱码免费卡| 久久亚洲一区二区三区四区| 99在线热播精品免费| 亚洲国产精品自拍| 久久九九99视频| 欧美亚洲国产一卡| 国产美女一区二区三区| 亚洲欧美日韩精品久久久久| 欧美一区二区三区视频| 91女神在线视频| 麻豆freexxxx性91精品| 国产日韩欧美亚洲| 欧美日韩另类国产亚洲欧美一级| 国产伦精品一区二区三区在线观看| 欧美国产欧美亚州国产日韩mv天天看完整 | 日韩欧美在线网站| 色综合婷婷久久| 亚洲成年人影院| 欧美激情一区二区三区| 欧美日韩国产经典色站一区二区三区 | 免费不卡在线观看| 中文字幕一区二区三| 日韩网站在线看片你懂的| 99综合电影在线视频| 久久精品理论片| 亚洲高清视频中文字幕| 国产精品亲子乱子伦xxxx裸| 欧美日韩一区二区在线观看视频 | 日韩在线观看一区二区| ●精品国产综合乱码久久久久 | 国产馆精品极品| 日产国产高清一区二区三区| 亚洲激情图片小说视频| 国产精品精品国产色婷婷| 精品福利一二区| 欧美一级二级三级乱码| 欧美在线不卡视频| 91免费看片在线观看| 成人高清伦理免费影院在线观看| 看国产成人h片视频| 美脚の诱脚舐め脚责91 | 91麻豆精品国产91久久久久久| 99精品欧美一区二区三区小说 | 欧美极品美女视频| 精品国产亚洲在线| 精品久久久久久久久久久院品网| 3751色影院一区二区三区| 欧美少妇性性性| 欧美日韩国产在线观看| 欧美精品日韩综合在线| 91麻豆精品久久久久蜜臀| 91.成人天堂一区| 91精品国产综合久久蜜臀| 91精品国产91综合久久蜜臀| 欧美一区午夜精品| 精品日韩在线一区| 精品国产区一区| 精品99一区二区| 国产亚洲va综合人人澡精品| 国产婷婷精品av在线| 国产精品网站在线观看| 成人欧美一区二区三区黑人麻豆 | 欧美精品一区二区在线播放| 26uuu精品一区二区| 欧美激情一区在线| 亚洲视频一区二区在线| 亚洲成年人网站在线观看| 青娱乐精品视频| 国产成人在线电影| 91亚洲大成网污www| 欧美日韩亚州综合| 26uuu欧美日本| 18成人在线视频| 日韩av一区二区三区四区| 国产美女精品一区二区三区| 成人av在线资源网站| 在线一区二区三区做爰视频网站| 欧美日韩在线亚洲一区蜜芽| 日韩免费性生活视频播放| 中文字幕国产一区二区| 亚洲一区二区三区四区五区黄| 日本在线不卡一区| 播五月开心婷婷综合| 欧美高清hd18日本| 国产精品三级av| 日韩av中文在线观看| www.日韩av| 日韩欧美高清一区| 亚洲狼人国产精品| 国产裸体歌舞团一区二区| 欧美色视频在线| 亚洲一二三四在线| 国产乱人伦偷精品视频免下载 | 88在线观看91蜜桃国自产| 久久精品一区四区|