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

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

?? ccx.h

?? 編譯器的辭法分析器工具
?? H
?? 第 1 頁 / 共 2 頁
字號:
# ifndef CC_H# define CC_H# ifdef __MSDOS__# define p_memleft()  coreleft()# else# define p_memleft()  32000# endif/* standard clib */                     /* p_gets is undefined, so set  */# include <stdio.h>                     /* it to gets, which is.        */# define p_gets(x) gets(x)# define p_calloc(x,y)  calloc((long)(x),(long)(y))# define p_free(x)    free((VOID *)(x))# include <stdarg.h># include <string.h># include <setjmp.h>/* default defs */# ifndef VALUE# define VALUE char *        /* make sure you define VALUE !! */# endif# ifndef TOKEN# define TOKEN char            /* and TOKEN, if not int and char */# endif# ifndef PARAM# define PARAM long         /* VALUE=synthetic, PARAM=inherited */# endif# ifndef MAXPROGRAMSIZE# define MAXPROGRAMSIZE 4096 /* 20K (chars) is often too big in DOS*/# endif                     /* but this is proportional to line length */# ifndef READBUFFERSIZE# define READBUFFERSIZE 2048 /* ditto */# endif                     /* because this IS the line length */# ifndef STACKSIZE# define STACKSIZE 1        /* NOT NEEDED ANY MORE UNLESS OLD STYLE VV(n) */# endif                     /* ATTRIBUTE REFS ARE BEING SUPPORTED */                            /* If set, it is very difficult to overun 2K ! */                            /* msdos defns */# ifndef CONTEXTSTACKSIZE# define CONTEXTSTACKSIZE 1024# endif# ifndef C_STACKSIZE       # define C_STACKSIZE 0x7FFF# endif                     /* expect to need as large a stack as possible */                            /* compatibility */# ifndef STACKTOKENS# define STACKTOKENS 0      /* Don't put tokens on the attribute stack */# endif                     /* unless you are sure there is one! */# ifndef OLDATTRIBUTES# define OLDATTRIBUTES 0    /* Don't generate code which supports $1, $2, ... */# endif                     /* (The $named attr. refs. are supported anyway) */# define MAXARGS 16         /* number of params catered for */                            /* DON'T change it! */extern  int        yytchar;            /* the last thing yylex saw     */extern  int        yylineno;        /* line count *//* I'll put in the decls for the yystuff here, in case they're needed */extern  int        yylen;extern  int        yylex();extern  char      *yylloc;extern  VALUE      yylval;/* local defs */# define OPCODE char# define VOID void/* typedefs */typedef PARAM status;            /* STATUS is returned by a PARSER */# define STATUS statustypedef STATUS  PARSER();        /* PARSER returns a STATUS */# define TOPARSER *(PARSER*)# define TOVALUE (VALUE)typedef VOID    ACTION();        /* VALUE stack manipulation */typedef int boolean;            /* BOOLEAN is returned by a PREDICATE */# define BOOLEAN booleantypedef BOOLEAN PREDICATE();    /* PREDICATE returns a BOOLEAN */typedef struct {            /* an INSTRUCTION consists of ... */    OPCODE  opcode;            /* an OPCODE as opcode and ... */    union {                /* an ACTION or  ... */            ACTION  *act;    /* a literal as operand. */            TOKEN   tok;        /* The opcode selects the */        VALUE   val;        PARAM   par;        } operand;             /* interpretation of the operand. */}       INSTRUCTION;typedef union {                /* The VALUE stack actually contains */           VALUE val;        /* STACKVALUES, which may be either */        TOKEN tok;        /* VALUEs or TOKENs. TOKENs are */        PARAM par;        /* ... */        } STACKVALUE;            /* pushed when literals are hit. */typedef struct{             /* all the info required for a REWIND */        TOKEN     *pstr;        STACKVALUE *value;        int pc;        int lineno;        /* INSTRUCTION instr;*/ /* will introduce for optimization */        } FRAME;typedef struct {int     readbuffersize,      /* READBUFFERSIZE */        maxprogramsize,      /* MAXPROGRAMSIZE */        stacksize,           /* STACKSIZE */        contextstacksize,    /* CONTEXTSTACKSIZE */        stacktokens,         /* (boolean) support tokens as attrs for old code*/        oldattributes;       /* (boolean) generate yacc style attr. refs */}       PRECC_DATA;/* instruction destructors and constructors */# define Action(x) ((x).operand.act)# define Token(x)  ((x).operand.tok)# define Param(x)  ((x).operand.par)# define Opcode(x) ((x).opcode)# define Value(x)  ((x).operand.val)/* status macros */# define BADSTATUS(x)  (!(x))        /* BADSTATUS(x) is a PREDICATE */# define GOODSTATUS(x) (x)           /* as is GOODSTATUS(x) */# define INSTATUS(x) ( (PARAM) ( (long)(x) - ( (0>(int)(x)) ? 0 : 1 ) ) )                                     /* success deconstructor */# define OK(x) ( (STATUS) ( ( (0>(int)(x)) ? 0 : 1 ) + (long)(x) ) )                                     /* success constructor */# define KO(x) 0                     /* failure constructor */# define SUCCESS OK(1)# define FAILURE KO(0)/* input stream manipulations */                    /* MARK has to be first line in a */                    /* routine. 'string' is a reserved */                    /* local variable, as is 'count'. */                    /* The MARK sets string and count to */                    /* the current parse point and pc. */#define MARK {\fsave(p_frame);\fpush(p_frame);\}                    /* REWIND resets the parse point and */                    /* to the MARK at the head of the fn.*/                    /* provided that a new line hasn't   */                    /* already been read, in which case  */                    /* just go back as far as possible */#define REWIND {\fpop(p_frame);\frestore(p_frame);\}                    /* MOVEON budges the high-water mark */                    /* maxp up to the current parse pt. *//*  * maxp+1 is the first address I have not yet written into. The TOKEN * space should be occupied by a 0. maxp is the last position  I have * written into. * * pstr is the current TOKEN position. Notice that I am going to have to * read one TOKEN into *pstr to start up? * * We start with pstr=maxp=&buffer, and *buffer=first token. */#ifdef OLDSTYLEMOVEON#define MOVEON if(++pstr>maxp){  /* this next space not written into yet*/\                    *pstr=(TOKEN)yylex();\                    lvbuff[(int)(pstr-buffer)]=yylval;\                    maxp=pstr;\                }#else#define MOVEON get1token()#endif/* RELEASE destroys the frame */# define RELEASE fpop(p_frame)/* the secret parse string and stacks */extern TOKEN     *pstr;         /* parsed stream */extern TOKEN     *maxp;         /* maximal parse point in stream */extern TOKEN     *buffer;       /* where the pstr points to */extern TOKEN     *yybuffer;     /* points to the buffer */extern VALUE     *lvbuff; /* corresponding yylvals */extern VALUE     *plval;        /* and pointer */extern INSTRUCTION *program;extern int pc;                  /* program counter - counts up from 0 */extern int passcount;           /* number of cuts */extern STACKVALUE  *stack;      /* the evaluation stack - either VALUEs                       or TOKENs */extern STACKVALUE  *value;      /* top of evaluation stack */extern FRAME     *fstack;       /* top of frame stack ... */extern FRAME     *fptr;         /* and pointer. */extern FRAME      p_frame;      /* a frame cache */extern INSTRUCTION instr;       /* single instruction cache */extern int call_mode;           /* 0 for auto-calling convention, 1=manual */extern int optimize;            /* 1 = flying program optimization */extern jmp_buf jmpb;            /* environment       */extern jmp_buf p_jmpb;          /* or environments   */extern int p_argc;              /* main() arg count  */extern char **p_argv;           /* main() arg vector */extern PRECC_DATA precc_data;   /* all command line parameters kept here */extern int msdos;extern PARSER *p_entry;extern int     p_enargs;extern PARAM   p_eargv[MAXARGS];extern char   *p_infile,        /* stdin name (eventually "-" if not a file) */              *p_outfile;       /* stdout name (eventually "-" if not a file) *//* opcodes */# define INCR   5            /* increment value stack */# define PARM   4            /* parameter to a function call */# define FUNC   3            /* That's got an ACTION operand */# define EXIT   2# define CNST   1            /* That's got a VALUE operand. */# define NOP    0            /* Saves time. *//* program stack manipulation */#define push(x) {if(pc>=precc_data.maxprogramsize-1){\                 fprintf(stderr,"precc: program stack overflow (%d)\n",pc);\                 p_exit(1);\                 }\                 program[pc++]=(x);\                }# define pull(n) (pc-=(n))# define pop(x)  (x=program[--pc])# define ppeek(x) (pc>0?x=program[pc-1]:((x).opcode=EXIT,(x)))# define ppoke(x) {if(pc>0)program[pc-1]=(x);}/* load and unlaod the current instruction */#define getinstruction(n,x)   {Opcode(instr)=(n);Action(instr)=(x);}#define pushinstruction(n,x)  {getinstruction(n,x);push(instr);}#define getTOKEN(x)           {Opcode(instr)=(CNST);Token(instr)=(TOKEN)(x);}#define getPARAM(x)           {Opcode(instr)=(PARM);Param(instr)=(PARAM)(x);}#define getMANIP(x)           {Opcode(instr)=(INCR);Param(instr)=(PARAM)(x);}#define getVALUE(x)           {Opcode(instr)=(CNST);Value(instr)=(VALUE)(x);}#define pushTOKEN(x)          {getTOKEN(x);push(instr);}#define pushPARAM(x)          {getPARAM(x);push(instr);}#define pushVALUE(x)          {getVALUE(x);push(instr);}#define pushACTION(x)         pushinstruction(FUNC,(x))#define pushEXIT              pushinstruction(EXIT,0)/* don't allow extra stack manips if call_mode=1 *//* and let's try some on-the-fly optimisation    *//* now let's try disabling stack manipulations altogether ! */#ifdef STACKMANIPS#define pushMANIP(x)          if(!call_mode){\                               if(optimize&&(Opcode(ppeek(instr))==(INCR))){\                                   Param(instr) += (PARAM)(x);\                                   ppoke(instr);\                               } else{\                                   getMANIP(x);\                                   push(instr);\                               }\                              }#else# define pushMANIP(x)#endif# define pushINCR               pushMANIP(1)# define pushDECR               pushMANIP(-1)# define pushNOP               pushinstruction(NOP,0)/* evaluation stack manipulation */# define pushvalue(x) ((*value++).val)=(x)# define pushparam(x) ((*value++).par)=(x)# define pushtoken(x) ((*value++).val)=(VALUE)(x)# define popvalue(x)  (x=(*--value).val)# define poptoken(x)  (x=(TOKEN)(*--value).val)# define popparam(x)  (x=(*--value).par)# define pullvalue(n) &((value-=(n))->val)# define pullparam(n) &((value-=(n))->par)# define pulltoken(n) &(TOKEN)((value-=(n))->val))/*# define pullvalue(n) &stack[(int)(value-=(n))-(int)stack].val# define pullparam(n) &stack[(int)(value-=(n))-(int)stack].par# define pulltoken(n) &stack[(int)(value-=(n))-(int)stack].tok*//* frame stack manipulation */# define fpush(x) (*fptr++=(x))

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一区二区在线观看不卡 | 日韩精品自拍偷拍| 婷婷夜色潮精品综合在线| 日本韩国欧美三级| 一区二区三区成人在线视频| 日本乱人伦aⅴ精品| 性久久久久久久久| 欧美mv日韩mv国产网站app| 国产专区综合网| 国产精品久久久久久久久图文区| caoporen国产精品视频| 亚洲精品一二三| 欧美乱妇一区二区三区不卡视频| 美女一区二区三区| 欧美国产丝袜视频| 91电影在线观看| 奇米影视7777精品一区二区| 欧美精品一区二区在线观看| 99精品欧美一区二区三区综合在线| 一区二区欧美精品| 日韩欧美亚洲另类制服综合在线| 国产成人免费在线观看| 亚洲午夜精品在线| 久久精品视频一区二区三区| 色老头久久综合| 久久成人免费电影| 一区二区三区美女视频| 日韩欧美一二区| 色狠狠av一区二区三区| 麻豆精品在线视频| 国产精品久久久久aaaa樱花| 欧美精品久久99久久在免费线 | 秋霞影院一区二区| 日本一区二区三区在线观看| 欧美在线观看视频在线| 久久99国产精品免费网站| 中文字幕av一区 二区| 一本色道**综合亚洲精品蜜桃冫| 久久99国产精品免费| 亚洲一区二区不卡免费| 国产日韩成人精品| 欧美一区二区三区在线| 色婷婷激情一区二区三区| 久久国产精品99久久人人澡| 一区二区三区四区不卡在线| 久久久久久久久蜜桃| 欧美人与性动xxxx| 91亚洲精品乱码久久久久久蜜桃| 美女性感视频久久| 亚洲成a人v欧美综合天堂| 国产精品久久三区| 亚洲精品在线免费播放| 欧美日韩国产综合一区二区| 99久久国产综合色|国产精品| 久久精品国产色蜜蜜麻豆| 丝袜美腿高跟呻吟高潮一区| 日韩一区中文字幕| 久久久久久久久久久久久久久99| 欧美精品九九99久久| 在线观看成人免费视频| 成人激情动漫在线观看| 精品一区二区三区影院在线午夜| 香蕉乱码成人久久天堂爱免费| 中文字幕av一区二区三区免费看 | 国产午夜精品久久久久久免费视| 欧美另类z0zxhd电影| 日本韩国欧美在线| 色呦呦一区二区三区| 99久久精品免费看国产免费软件| 成人一道本在线| 国产99精品国产| 国产精品一级在线| 国产成人亚洲综合a∨婷婷| 激情欧美一区二区| 国产在线精品一区在线观看麻豆| 免费成人在线影院| 麻豆极品一区二区三区| 韩国一区二区在线观看| 韩国三级在线一区| 国内精品伊人久久久久av一坑| 极品美女销魂一区二区三区| 精品在线观看视频| 国产精品一级二级三级| 国产高清在线观看免费不卡| 国产成人精品影视| 成人动漫一区二区在线| 粉嫩av一区二区三区粉嫩| av网站免费线看精品| 99国产精品视频免费观看| 99精品国产热久久91蜜凸| 色综合中文字幕| 在线精品亚洲一区二区不卡| 欧美日韩激情在线| 日韩欧美国产三级电影视频| 欧美一区二区三级| 2024国产精品| 国产精品妹子av| 亚洲精选视频在线| 青青草视频一区| 国产福利一区在线观看| 色综合久久久久综合体桃花网| 欧美日本一区二区三区四区| 日韩视频一区二区三区| 国产网站一区二区| 亚洲视频1区2区| 免费一区二区视频| 国产激情精品久久久第一区二区| 成人黄色在线网站| 精品视频1区2区3区| 日韩欧美国产一区二区在线播放| 久久久久久久久免费| 亚洲精品综合在线| 日韩精品色哟哟| 国产91精品一区二区麻豆网站| 91免费小视频| 日韩精品一区二区三区四区视频| 国产精品九色蝌蚪自拍| 日本午夜精品视频在线观看| 成人97人人超碰人人99| 欧美日韩国产高清一区二区 | 国产精品麻豆99久久久久久| 亚洲国产中文字幕在线视频综合| 久久国产尿小便嘘嘘尿| 一本久道久久综合中文字幕 | 高清久久久久久| 欧美日韩国产高清一区二区三区| 久久久精品2019中文字幕之3| 一区二区三区日韩欧美| 精品一区二区影视| 欧美在线色视频| 欧美国产一区二区| 蜜桃视频第一区免费观看| 成人18视频日本| 久久综合色天天久久综合图片| 一区二区免费在线播放| 高清国产一区二区| 欧美电视剧在线看免费| 亚洲国产婷婷综合在线精品| 成人av网站免费| 国产精品福利在线播放| 美女视频黄 久久| 欧美专区日韩专区| 国产精品久久久久久久久晋中 | 中文字幕在线免费不卡| 国产一区二区在线影院| 日韩欧美国产不卡| 亚洲成人免费av| 在线观看一区二区视频| 中文字幕永久在线不卡| 成人综合在线观看| 久久日一线二线三线suv| 日韩福利电影在线观看| 欧美在线视频不卡| 又紧又大又爽精品一区二区| 97久久久精品综合88久久| 国产日本亚洲高清| 国产精品小仙女| 欧美精品一区视频| 国产原创一区二区| 精品国产成人在线影院| 美女视频黄a大片欧美| 日韩欧美亚洲国产精品字幕久久久| 丝袜诱惑制服诱惑色一区在线观看| 欧美三级电影网站| 婷婷成人激情在线网| 欧美麻豆精品久久久久久| 亚洲大片免费看| 欧美日本在线一区| 日本一区中文字幕| 日韩免费看网站| 国产一区二区电影| 国产欧美一区二区三区网站| 国产99久久久国产精品免费看| 国产蜜臀97一区二区三区| 9久草视频在线视频精品| 成人欧美一区二区三区视频网页 | 日韩欧美国产一区在线观看| 美女视频黄免费的久久| 久久综合久久综合亚洲| 国产成人亚洲综合a∨婷婷图片 | 久久国产综合精品| 久久久亚洲国产美女国产盗摄| 国产成人综合精品三级| 亚洲视频1区2区| 欧美日本一区二区在线观看| 久久99精品视频| 日本一区二区三级电影在线观看| www.激情成人| 一区二区三区久久| 日韩欧美亚洲一区二区| 国产成人精品免费在线| 亚洲乱码国产乱码精品精可以看| 欧美喷潮久久久xxxxx| 狠狠色狠狠色综合日日91app| 国产精品私人影院| 欧美综合欧美视频| 精品一区二区在线视频| 亚洲免费在线观看| 欧美一区二区三区白人| 成人午夜电影网站|