?? lex.c
字號:
# define TOKEN char# define VALUE char*# define STACKTOKENS 1# define STACKSIZE 2048# include "cc.h"# include "preccx.h"# undef UNSETNAME# include "preamble.h"/* in order to be able to parse .. = <'>'> !! *//* or .. = >'<'< */# define RIGHT_ANGLE_BRACKET '>'# define LEFT_ANGLE_BRACKET '<'/* and use .. = <RIGHT_ANGLE_BRACKET> instead *//* or .. = >LEFT_ANGLE_BRACKET< */ /* -------- spaces ---------- */static STATUS hid0(){PREDICATE p_isspace;return p_range0n(p_isspace,0);}static STATUS hid1 (){PARSER hid0, COMMENT;static STATUS p_tok;p_tok = (TOPARSER hid0) ();return (GOODSTATUS(p_tok))?p_tok:(TOPARSER COMMENT) ();}STATUS SPACE(){PARSER hid1;return((TOPARSER hid1)());}static VOID hid2(){ VV(0)=""; }static STATUS hid3(){PARSER p_nothing0;ACTION hid2;return p_attach0n(TOPARSER p_nothing0,0,hid2,0);}static STATUS hid4 (){PARSER SOMESPACE, hid3;static STATUS p_tok;p_tok = (TOPARSER SOMESPACE) ();return (GOODSTATUS(p_tok))?p_tok:(TOPARSER hid3) ();}STATUS WHITESPACE(){PARSER hid4;return((TOPARSER hid4)());}static VOID hid5(){ VV(2) = V(1); }static STATUS hid6(){PARSER SPACE;ACTION hid5;return p_attach0n(TOPARSER SPACE,0,hid5,0);}static STATUS hid7(){PARSER hid6;return p_many0n(TOPARSER hid6,0);}static STATUS hid8(){PARSER SPACE, hid7;static STATUS p_tok;P_PAND((TOPARSER SPACE)(),(TOPARSER hid7)());return p_tok;}STATUS SOMESPACE(){PARSER hid8;return((TOPARSER hid8)());} /* -- simple identifiers ------ *//* read character into the cbuff */static STATUS hid9(){PREDICATE p_isalpha;return p_range0n(p_isalpha,0);}static VOID hid10(){ VV(1) = putchar(T(1)); }static STATUS hid11(){PARSER hid9;ACTION hid10;return p_attach0n(TOPARSER hid9,0,hid10,0);}STATUS alpha(){PARSER hid11;return((TOPARSER hid11)());}/* append characters to the cbuff */static VOID hid12(){ VV(2) = V(1); }static STATUS hid13(){PARSER alnum;ACTION hid12;return p_attach0n(TOPARSER alnum,0,hid12,0);}static STATUS hid14(){PARSER hid13, p_nothing0;static STATUS p_tok;P_PAND((TOPARSER hid13)(),(TOPARSER p_nothing0)());return p_tok;}static STATUS hid15(){PARSER hid14;return p_many0n(TOPARSER hid14,0);}static STATUS hid16(){PARSER alpha, hid15;static STATUS p_tok;P_PAND((TOPARSER alpha)(),(TOPARSER hid15)());return p_tok;}STATUS IDENTIFIER(){PARSER hid16;return((TOPARSER hid16)());} static STATUS hid17(){PREDICATE p_isdigit;return p_range0n(p_isdigit,0);}static VOID hid18(){ VV(1)=putchar(T(1)); }static STATUS hid19(){PARSER hid17;ACTION hid18;return p_attach0n(TOPARSER hid17,0,hid18,0);}STATUS digit(){PARSER hid19;return((TOPARSER hid19)());}static STATUS hid20(){PREDICATE p_isalnum;return p_range0n(p_isalnum,0);}static VOID hid21(){ VV(1)=putchar(T(1)); }static STATUS hid22(){PARSER hid20;ACTION hid21;return p_attach0n(TOPARSER hid20,0,hid21,0);}STATUS alnum(){PARSER hid22;return((TOPARSER hid22)());}/* and these are absorbing */static STATUS hid23(){return p_exactly0('[');}STATUS OPENBRACKET(){PARSER hid23;return((TOPARSER hid23)());}static STATUS hid24(){return p_exactly0(']');}STATUS CLOSEBRACKET(){PARSER hid24;return((TOPARSER hid24)());}static STATUS hid25(){return p_exactly0('(');}STATUS OPENPAREN(){PARSER hid25;return((TOPARSER hid25)());}static STATUS hid26(){return p_exactly0(')');}STATUS CLOSEPAREN(){PARSER hid26;return((TOPARSER hid26)());}static STATUS hid27(){return p_exactly0('{');}STATUS OPENBRACE(){PARSER hid27;return((TOPARSER hid27)());}static STATUS hid28(){return p_exactly0('}');}STATUS CLOSEBRACE(){PARSER hid28;return((TOPARSER hid28)());}static STATUS hid29(){PARSER optmantissa, optexponent;static STATUS p_tok;P_PAND((TOPARSER optmantissa)(),(TOPARSER optexponent)());return p_tok;}static STATUS hid30(){PARSER integer, hid29;static STATUS p_tok;P_PAND((TOPARSER integer)(),(TOPARSER hid29)());return p_tok;}static VOID hid31(){ VV(3) = V(1); }static STATUS hid32(){PARSER hid30;ACTION hid31;return p_attach0n(TOPARSER hid30,0,hid31,0);}STATUS NUMBER(){PARSER hid32;return((TOPARSER hid32)());}static VOID hid33(){ VV(0)=""; }static STATUS hid34(){PARSER p_nothing0;ACTION hid33;return p_attach0n(TOPARSER p_nothing0,0,hid33,0);}static STATUS hid35 (){PARSER somedigits, hid34;static STATUS p_tok;p_tok = (TOPARSER somedigits) ();return (GOODSTATUS(p_tok))?p_tok:(TOPARSER hid34) ();}STATUS digits(){PARSER hid35;return((TOPARSER hid35)());}static VOID hid36(){ VV(0)=""; }static STATUS hid37(){PARSER p_nothing0;ACTION hid36;return p_attach0n(TOPARSER p_nothing0,0,hid36,0);}static STATUS hid38 (){PARSER sign, hid37;static STATUS p_tok;p_tok = (TOPARSER sign) ();return (GOODSTATUS(p_tok))?p_tok:(TOPARSER hid37) ();}STATUS optsign(){PARSER hid38;return((TOPARSER hid38)());}static VOID hid39(){ VV(2) = V(1); }static STATUS hid40(){PARSER digit;ACTION hid39;return p_attach0n(TOPARSER digit,0,hid39,0);}static STATUS hid41(){PARSER hid40;return p_many0n(TOPARSER hid40,0);}static STATUS hid42(){PARSER digit, hid41;static STATUS p_tok;P_PAND((TOPARSER digit)(),(TOPARSER hid41)());return p_tok;}STATUS somedigits(){PARSER hid42;return((TOPARSER hid42)());}static STATUS hid43(){return p_exactly0('-');}static STATUS hid44(){return p_exactly0('+');}static STATUS hid45 (){PARSER hid43, hid44;static STATUS p_tok;p_tok = (TOPARSER hid43) ();return (GOODSTATUS(p_tok))?p_tok:(TOPARSER hid44) ();}static VOID hid46(){ VV(1)=putchar(T(1)); }static STATUS hid47(){PARSER hid45;ACTION hid46;return p_attach0n(TOPARSER hid45,0,hid46,0);}STATUS sign(){PARSER hid47;return((TOPARSER hid47)());}static VOID hid48(){ VV(2) = V(1); }static STATUS hid49(){PARSER somedigits;ACTION hid48;return p_attach0n(TOPARSER somedigits,0,hid48,0);}static STATUS hid50(){PARSER hid49, p_nothing0;static STATUS p_tok;P_PAND((TOPARSER hid49)(),(TOPARSER p_nothing0)());return p_tok;}static STATUS hid51(){PARSER hid50;return p_option0n(TOPARSER hid50,0);}static STATUS hid52(){PARSER point, hid51;static STATUS p_tok;P_PAND((TOPARSER point)(),(TOPARSER hid51)());return p_tok;}STATUS mantissa(){PARSER hid52;return((TOPARSER hid52)());}static VOID hid53(){ VV(0)=""; }static STATUS hid54(){PARSER p_nothing0;ACTION hid53;return p_attach0n(TOPARSER p_nothing0,0,hid53,0);}static STATUS hid55 (){PARSER mantissa, hid54;static STATUS p_tok;p_tok = (TOPARSER mantissa) ();return (GOODSTATUS(p_tok))?p_tok:(TOPARSER hid54) ();}STATUS optmantissa(){PARSER hid55;return((TOPARSER hid55)());}static STATUS hid56(){return p_exactly0('.');}static VOID hid57(){ VV(1)=putchar('.'); }static STATUS hid58(){PARSER hid56;ACTION hid57;return p_attach0n(TOPARSER hid56,0,hid57,0);}STATUS point(){PARSER hid58;return((TOPARSER hid58)());}static STATUS hid59(){return p_exactly0('e');}static STATUS hid60(){return p_exactly0('E');}static STATUS hid61 (){PARSER hid59, hid60;static STATUS p_tok;p_tok = (TOPARSER hid59) ();return (GOODSTATUS(p_tok))?p_tok:(TOPARSER hid60) ();}static VOID hid62(){ VV(1)=putchar(T(1)); }static STATUS hid63(){PARSER hid61;ACTION hid62;return p_attach0n(TOPARSER hid61,0,hid62,0);}STATUS E(){PARSER hid63;return((TOPARSER hid63)());}static STATUS hid64(){PARSER E, integer;static STATUS p_tok;P_PAND((TOPARSER E)(),(TOPARSER integer)());return p_tok;}static VOID hid65(){ VV(2) = V(1); }static STATUS hid66(){PARSER hid64;ACTION hid65;return p_attach0n(TOPARSER hid64,0,hid65,0);}STATUS exponent(){PARSER hid66;return((TOPARSER hid66)());}static VOID hid67(){ VV(0)=""; static STATUS hid68(){PARSER p_nothing0;ACTION hid67;return p_attach0n(TOPARSER p_nothing0,0,hid67,0);}static STATUS hid69 (){PARSER exponent, hid68;static STATUS p_tok;p_tok = (TOPARSER exponent) ();return (GOODSTATUS(p_tok))?p_tok:(TOPARSER hid68) ();}STATUS optexponent(){PARSER hid69;return((TOPARSER hid69)());}static STATUS hid70(){return p_exactly0('\'');}static VOID hid71(){ VV(1)=putchar('\''); }static STATUS hid72(){PARSER hid70;ACTION hid71;return p_attach0n(TOPARSER hid70,0,hid71,0);}STATUS singlequote(){PARSER hid72;return((TOPARSER hid72)());}static STATUS hid73(){return p_exactly0('\\');}STATUS escape(){PARSER hid73;return((TOPARSER hid73)());}STATUS ANYTHING(){PARSER p_anything0;return((TOPARSER p_anything0)());}static STATUS hid74(){return p_notexactly0('\'');}STATUS notasinglequote(){PARSER hid74;return((TOPARSER hid74)());}static STATUS hid75(){PARSER escape, ANYTHING;static STATUS p_tok;P_PAND((TOPARSER escape)(),(TOPARSER ANYTHING)());return p_tok;}static VOID hid76(){ VV(2)=V(1);putchar('\\');putchar(T(2)); }static STATUS hid77(){PARSER hid75;ACTION hid76;return p_attach0n(TOPARSER hid75,0,hid76,0);}static STATUS hid78(){PARSER hid77, p_nothing0;static STATUS p_tok;P_PAND((TOPARSER hid77)(),(TOPARSER p_nothing0)());return p_tok;}static VOID hid79(){ VV(1)=putchar(T(1));}static STATUS hid80(){PARSER notasinglequote;ACTION hid79;return p_attach0n(TOPARSER notasinglequote,0,hid79,0);}static STATUS hid81 (){PARSER hid78, hid80;static STATUS p_tok;p_tok = (TOPARSER hid78) ();return (GOODSTATUS(p_tok))?p_tok:(TOPARSER hid80) ();}STATUS chr(){PARSER hid81;return((TOPARSER hid81)());}static STATUS hid82(){PARSER chr, singlequote;static STATUS p_tok;P_PAND((TOPARSER chr)(),(TOPARSER singlequote)());return p_tok;}static STATUS hid83(){PARSER singlequote, hid82;static STATUS p_tok;P_PAND((TOPARSER singlequote)(),(TOPARSER hid82)());return p_tok;}static VOID hid84(){ VV(3)=V(1); }static STATUS hid85(){PARSER hid83;ACTION hid84;return p_attach0n(TOPARSER hid83,0,hid84,0);}STATUS CHARCONST(){PARSER hid85;return((TOPARSER hid85)());}static STATUS hid86(){PARSER strchrs, doublequote;static STATUS p_tok;P_PAND((TOPARSER strchrs)(),(TOPARSER doublequote)());return p_tok;}static STATUS hid87(){PARSER doublequote, hid86;static STATUS p_tok;P_PAND((TOPARSER doublequote)(),(TOPARSER hid86)());return p_tok;}static VOID hid88(){ VV(3)=V(1); }static STATUS hid89(){PARSER hid87;ACTION hid88;return p_attach0n(TOPARSER hid87,0,hid88,0);}STATUS STRING(){PARSER hid89;return((TOPARSER hid89)());}static STATUS hid90(){return p_exactly0('\"');}static VOID hid91(){ VV(1)=putchar('\"'); }static STATUS hid92(){PARSER hid90;ACTION hid91;return p_attach0n(TOPARSER hid90,0,hid91,0);}STATUS doublequote(){PARSER hid92;return((TOPARSER hid92)());}static STATUS hid93(){PARSER escape, ANYTHING;static STATUS p_tok;P_PAND((TOPARSER escape)(),(TOPARSER ANYTHING)());return p_tok;}static VOID hid94(){ VV(2) = V(1);putchar('\\');putchar(T(2)); }static STATUS hid95(){PARSER hid93;ACTION hid94;return p_attach0n(TOPARSER hid93,0,hid94,0);}static STATUS hid96(){PARSER hid95, p_nothing0;static STATUS p_tok;P_PAND((TOPARSER hid95)(),(TOPARSER p_nothing0)());return p_tok;}static VOID hid97(){ VV(1) = putchar(T(1)); }static STATUS hid98(){PARSER notadoublequote;ACTION hid97;return p_attach0n(TOPARSER notadoublequote,0,hid97,0);}static STATUS hid99 (){PARSER hid96, hid98;static STATUS p_tok;p_tok = (TOPARSER hid96) ();return (GOODSTATUS(p_tok))?p_tok:(TOPARSER hid98) ();}STATUS strchar(){PARSER hid99;return((TOPARSER hid99)());}static STATUS hid100(){return p_notexactly0('\"');}STATUS notadoublequote(){PARSER hid100;return((TOPARSER hid100)());}static VOID hid101(){ VV(2)=V(1); }static STATUS hid102(){PARSER strchar;ACTION hid101;return p_attach0n(TOPARSER strchar,0,hid101,0);}static STATUS hid103(){PARSER hid102;return p_many0n(TOPARSER hid102,0);}static STATUS hid104(){PARSER strchar, hid103;static STATUS p_tok;P_PAND((TOPARSER strchar)(),(TOPARSER hid103)());return p_tok;}static VOID hid105(){ VV(0)=""; }static STATUS hid106(){PARSER p_nothing0;ACTION hid105;return p_attach0n(TOPARSER p_nothing0,0,hid105,0);}static STATUS hid107 (){PARSER hid104, hid106;static STATUS p_tok;p_tok = (TOPARSER hid104) ();return (GOODSTATUS(p_tok))?p_tok:(TOPARSER hid106) ();}STATUS strchrs(){PARSER hid107;return((TOPARSER hid107)());}static STATUS hid108(){return p_exactly0('\\');}STATUS BACKSLASH(){PARSER hid108;return((TOPARSER hid108)());}static STATUS hid109(){return p_exactly0('$');}STATUS DOLLAR(){PARSER hid109;return((TOPARSER hid109)());}static STATUS hid110(){return p_exactly0('^');}STATUS CARET(){PARSER hid110;return((TOPARSER hid110)());}static STATUS hid111(){return p_exactly0('!');}STATUS PLING(){PARSER hid111;return((TOPARSER hid111)());}static STATUS hid112(){return p_exactly0('+');}STATUS PLUS(){PARSER hid112;return((TOPARSER hid112)());}static STATUS hid113(){
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -