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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? crs.pas

?? 一個(gè)Pascal語(yǔ)言分析器
?? PAS
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
UNIT CRS;
(* Scanner generated by Coco/R (Pascal version) *)

INTERFACE

VAR
  src:         FILE;         (*source/list files. To be opened by the main pgm*)
  lst:         TEXT;
  directory:   STRING;       (*of source file*)
  line, col:   INTEGER;      (*line and column of current symbol*)
  len:         LONGINT;      (*length of current symbol*)
  pos:         LONGINT;      (*file position of current symbol*)
  nextLine:    INTEGER;      (*line of lookahead symbol*)
  nextCol:     INTEGER;      (*column of lookahead symbol*)
  nextLen:     LONGINT;      (*length of lookahead symbol*)
  nextPos:     LONGINT;      (*file position of lookahead symbol*)
  errors:      INTEGER;      (*number of detected errors*)
  Error:       PROCEDURE (nr, line, col: INTEGER; pos: LONGINT);

PROCEDURE Get (VAR sym: INTEGER);
(* Gets next symbol from source file *)

PROCEDURE GetString (pos: LONGINT; len: INTEGER; VAR s: STRING);
(* Retrieves exact string of max length len from position pos in source file *)

PROCEDURE GetName (pos: LONGINT; len: INTEGER; VAR s: STRING);
(* Retrieves name of symbol of length len at position pos in source file *)

FUNCTION CharAt (pos: LONGINT): CHAR;
(* Returns exact character at position pos in source file *)

PROCEDURE _Reset;
(* Reads and stores source file internally *)

IMPLEMENTATION

CONST
  noSym   = 44; (*error token code*)
  (* not only for errors but also for not finished states of scanner analysis *)
  eof   = #26; (*MS-DOS eof*)
  LF    = #10;
  CR    = #13;
  EF    = #0;
  EL    = CR;
  BlkSize = 16384;
TYPE
  BufBlock   = ARRAY [0 .. BlkSize-1] OF CHAR;
  Buffer     = ARRAY [0 .. 31] OF ^BufBlock;
  StartTable = ARRAY [0 .. 255] OF INTEGER;
  GetCH      = FUNCTION (pos: LONGINT) : CHAR;
VAR
  lastCh,
  ch:        CHAR;       (*current input character*)
  curLine:   INTEGER;    (*current input line (may be higher than line)*)
  lineStart: LONGINT;    (*start position of current line*)
  apx:       LONGINT;    (*length of appendix (CONTEXT phrase)*)
  oldEols:   INTEGER;    (*number of _EOLs in a comment*)
  bp, bp0:   LONGINT;    (*current position in buf
                           (bp0: position of current token)*)
  LBlkSize:  LONGINT;    (*BlkSize*)
  inputLen:  LONGINT;    (*source file size*)
  buf:       Buffer;     (*source buffer for low-level access*)
  start:     StartTable; (*start state for every character*)
  CurrentCh: GetCH;

PROCEDURE Err (nr, line, col: INTEGER; pos: LONGINT); FAR;
  BEGIN
    INC(errors)
  END;

PROCEDURE NextCh;
(* Return global variable ch *)
  BEGIN
    lastCh := ch; INC(bp); ch := CurrentCh(bp);
    IF (ch = EL) OR (ch = LF) AND (lastCh <> EL) THEN BEGIN
      INC(curLine); lineStart := bp
    END
  END;

FUNCTION Comment: BOOLEAN;
  LABEL
    999;
  VAR
    level, startLine: INTEGER;
    oldLineStart : LONGINT;
  BEGIN
    level := 1; startLine := curLine; oldLineStart := lineStart;
    IF (ch = '/') THEN BEGIN
      NextCh;
      IF (ch = '*') THEN BEGIN
        NextCh;
        WHILE TRUE DO BEGIN
          IF (ch = '*') THEN BEGIN
            NextCh;
            IF (ch = '/') THEN BEGIN
              DEC(level); NextCh;
              IF level = 0 THEN BEGIN Comment := TRUE; GOTO 999; END
            END
          END ELSE IF ch = EF THEN BEGIN Comment := FALSE; GOTO 999; END
          ELSE NextCh;
        END; (* WHILE TRUE *)
      END ELSE BEGIN
        IF (ch = CR) OR (ch = LF) THEN BEGIN
          DEC(curLine); lineStart := oldLineStart
        END;
        DEC(bp); ch := lastCh; Comment := FALSE;
      END;
    END;
    IF (ch = '(') THEN BEGIN
      NextCh;
      IF (ch = '*') THEN BEGIN
        NextCh;
        WHILE TRUE DO BEGIN
          IF (ch = '*') THEN BEGIN
            NextCh;
            IF (ch = ')') THEN BEGIN
              DEC(level); NextCh;
              IF level = 0 THEN BEGIN Comment := TRUE; GOTO 999; END
            END
          END ELSE IF (ch = '(') THEN BEGIN
            NextCh;
            IF (ch = '*') THEN BEGIN INC(level); NextCh END
          END ELSE IF ch = EF THEN BEGIN Comment := FALSE; GOTO 999; END
          ELSE NextCh;
        END; (* WHILE TRUE *)
      END ELSE BEGIN
        IF (ch = CR) OR (ch = LF) THEN BEGIN
          DEC(curLine); lineStart := oldLineStart
        END;
        DEC(bp); ch := lastCh; Comment := FALSE;
      END;
    END;
    Comment := FALSE;
    999:
  END;

PROCEDURE Get (VAR sym: INTEGER);
  VAR
    state: INTEGER;

  FUNCTION Equal (s: STRING): BOOLEAN;
    VAR
      i: INTEGER;
      q: LONGINT;
    BEGIN
      IF nextLen <> Length(s) THEN BEGIN Equal := FALSE; EXIT END;
      i := 1; q := bp0;
      WHILE i <= nextLen DO BEGIN
        IF CurrentCh(q) <> s[i] THEN BEGIN Equal := FALSE; EXIT END;
        INC(i); INC(q)
      END;
      Equal := TRUE
    END;

  PROCEDURE CheckLiteral;
    BEGIN
      CASE CurrentCh(bp0) OF
        'A': IF Equal('ANY') THEN BEGIN sym := 26; 
             END;
        'C': IF Equal('CASE') THEN BEGIN sym := 22; 
             END ELSE IF Equal('CHARACTERS') THEN BEGIN sym := 13; 
             END ELSE IF Equal('CHR') THEN BEGIN sym := 27; 
             END ELSE IF Equal('COMMENTS') THEN BEGIN sym := 17; 
             END ELSE IF Equal('COMPILER') THEN BEGIN sym := 5; 
             END ELSE IF Equal('CONTEXT') THEN BEGIN sym := 37; 
             END;
        'E': IF Equal('END') THEN BEGIN sym := 12; 
             END;
        'F': IF Equal('FROM') THEN BEGIN sym := 18; 
             END;
        'I': IF Equal('IGNORE') THEN BEGIN sym := 21; 
             END;
        'N': IF Equal('NAMES') THEN BEGIN sym := 15; 
             END ELSE IF Equal('NESTED') THEN BEGIN sym := 20; 
             END;
        'P': IF Equal('PRAGMAS') THEN BEGIN sym := 16; 
             END ELSE IF Equal('PRODUCTIONS') THEN BEGIN sym := 9; 
             END;
        'S': IF Equal('SYNC') THEN BEGIN sym := 36; 
             END;
        'T': IF Equal('TO') THEN BEGIN sym := 19; 
             END ELSE IF Equal('TOKENS') THEN BEGIN sym := 14; 
             END;
        'U': IF Equal('USES') THEN BEGIN sym := 6; 
             END;
        'W': IF Equal('WEAK') THEN BEGIN sym := 31; 
             END;
      ELSE BEGIN END
      END
    END;

  BEGIN (*Get*)
    WHILE (ch = ' ') OR
          (ch >= CHR(9)) AND (ch <= CHR(10)) OR
          (ch = CHR(13)) DO NextCh;
    IF ((ch = '/') OR (ch = '(')) AND Comment THEN BEGIN Get(sym); EXIT; END;
    pos := nextPos;   nextPos := bp;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩丝袜情趣美女图片| 99久久国产免费看| 欧美日韩久久久| 亚洲图片欧美色图| 正在播放亚洲一区| 免费欧美日韩国产三级电影| 日韩欧美在线影院| 国产一区啦啦啦在线观看| 日韩电影在线免费看| 日韩丝袜美女视频| 国产成人在线色| 亚洲精品国产第一综合99久久 | 亚洲桃色在线一区| 欧美性一二三区| 免费高清在线一区| 欧美日韩电影在线播放| 精品一区二区三区久久| 中文字幕人成不卡一区| 欧美日韩中字一区| 国产一区二区导航在线播放| 国产欧美日韩视频在线观看| 色香色香欲天天天影视综合网| 午夜av电影一区| 国产免费成人在线视频| 在线亚洲欧美专区二区| 精品亚洲成a人| 亚洲猫色日本管| 日韩欧美亚洲一区二区| 成人av电影在线播放| 日韩激情视频网站| 国产精品色在线观看| 51精品秘密在线观看| 成人黄色小视频在线观看| 日韩av在线发布| 亚洲欧洲国产日韩| 精品日韩在线观看| 欧美伊人精品成人久久综合97| 国产精品自拍三区| 视频一区二区三区在线| 综合久久给合久久狠狠狠97色| 91精品婷婷国产综合久久| 波多野结衣一区二区三区| 久久99精品久久久久久| 天天色 色综合| 亚洲日本中文字幕区| 国产欧美一区二区精品秋霞影院 | 欧美丰满少妇xxxxx高潮对白 | 91一区在线观看| 韩国v欧美v日本v亚洲v| 亚洲综合另类小说| 国产精品嫩草99a| 欧美一级高清片| 欧美日韩综合一区| 91看片淫黄大片一级| 国产成a人无v码亚洲福利| 美女视频一区二区| 日韩制服丝袜av| 亚洲成年人网站在线观看| 亚洲色图清纯唯美| 亚洲国产成人自拍| 国产亚洲一区字幕| 久久品道一品道久久精品| 这里只有精品免费| 777xxx欧美| 欧美老女人第四色| 欧美午夜电影网| 欧美日韩三级一区| 91久久线看在观草草青青 | 国产一二精品视频| 韩国女主播一区二区三区| 免费精品99久久国产综合精品| 亚洲午夜免费电影| 亚洲成a天堂v人片| 五月天一区二区| 日韩成人免费看| 麻豆久久久久久| 精品一区二区在线看| 国内不卡的二区三区中文字幕 | 欧美一区二区女人| 91精品国产美女浴室洗澡无遮挡| 欧美日本韩国一区| 日韩三级视频在线看| 欧美一区二区高清| 久久久久国产精品厨房| 中文在线一区二区| 亚洲免费看黄网站| 亚洲无人区一区| 久久精品国产99久久6| 美洲天堂一区二卡三卡四卡视频 | 91精品国产入口在线| 日韩一区二区三区观看| 日韩一级二级三级| 久久久久久久久久电影| 国产精品色眯眯| 成人h动漫精品一区二区| 99视频一区二区三区| 在线观看不卡视频| 91精品在线一区二区| 久久综合久久久久88| 国产精品久久久久久久久免费丝袜| 最近日韩中文字幕| 日韩激情一二三区| 国产精品一区二区免费不卡| 不卡av电影在线播放| 欧美色网一区二区| 精品噜噜噜噜久久久久久久久试看 | 中文字幕成人网| 亚洲伊人伊色伊影伊综合网| 久久99精品久久久| 91亚洲精品乱码久久久久久蜜桃| 欧美久久婷婷综合色| 久久老女人爱爱| 一区二区三区四区亚洲| 精品一二三四在线| 一本久久a久久精品亚洲| 欧美一级专区免费大片| 国产精品不卡一区| 日韩高清不卡一区二区三区| 成人午夜精品一区二区三区| 欧美伊人精品成人久久综合97| 精品动漫一区二区三区在线观看| 亚洲情趣在线观看| 六月丁香婷婷色狠狠久久| 成人在线视频首页| 欧美男生操女生| 久久久久久久电影| 日韩黄色免费网站| 色一情一伦一子一伦一区| 2024国产精品| 亚洲.国产.中文慕字在线| 成人黄色在线看| 精品国产自在久精品国产| 不卡的看片网站| 欧美成人vr18sexvr| 亚洲宅男天堂在线观看无病毒| 国产99久久久国产精品潘金| 91精品欧美久久久久久动漫| 最新久久zyz资源站| 国产一区二区三区国产| 777午夜精品视频在线播放| 综合久久久久综合| 国产91在线观看| 欧美哺乳videos| 日韩成人av影视| 色8久久精品久久久久久蜜| 国产精品丝袜一区| 国产激情91久久精品导航 | 午夜欧美在线一二页| 99久久婷婷国产综合精品 | 国产福利精品一区二区| 欧美一区二区三区啪啪| 亚洲国产精品一区二区www| www.亚洲免费av| 中文字幕巨乱亚洲| 国产美女精品人人做人人爽| 日韩免费高清电影| 午夜精品久久久久久| 欧美日韩视频不卡| 亚洲国产精品欧美一二99| 色综合久久久久综合体桃花网| 国产精品久久影院| 成人性视频免费网站| 欧美国产丝袜视频| 成人免费视频播放| 中文成人综合网| 成a人片国产精品| 国产精品欧美经典| 久久精品视频在线看| 国产在线不卡视频| 欧美国产成人精品| 成人小视频免费观看| 中文字幕国产一区二区| 成人三级伦理片| 中文字幕亚洲综合久久菠萝蜜| 99re免费视频精品全部| 亚洲卡通动漫在线| 精品污污网站免费看| 午夜视黄欧洲亚洲| 欧美电影免费观看高清完整版 | 日本一区中文字幕| 欧美一级片免费看| 国产一区视频导航| 国产精品无人区| 91极品视觉盛宴| 麻豆国产精品一区二区三区 | 欧美理论片在线| 麻豆91免费观看| 欧美国产视频在线| 91麻豆福利精品推荐| 丝袜诱惑制服诱惑色一区在线观看| 欧美一区三区四区| 91精品国产综合久久婷婷香蕉| 精品夜夜嗨av一区二区三区| 中文字幕一区二区三区在线不卡| 色综合久久综合网| 免费成人av资源网| 国产精品久99| 69堂成人精品免费视频| 国产成人在线网站| 亚洲在线视频一区|