begi en_d23 pr_o_gram variab_23le integ_er_in a_r_r_a_y cha_90 mode_p_12 if ten ele-p loop eit rea_d_0 writ /* //all small letters 26 SMALLA SMALLB,SMALLC,SMALLD,SMALLE,SMALLF,SMALLG,SMALLH,SMALLI,SMALLJ,SMALLK,SMALLL, SMALLM,SMALLN,SMALLO,SMALLP,SMALLQ,SMALLR,SMALLS,SMALLT,SMALLU,SMALLV,SMALLW,SMALLX, SMALLY,SMALLZ, //all big letters 26 BIGA,BIGB,BIGC,BIGD,BIGE,BIGF,BIGG,BIGH,BIGI,BIGJ,BIGK,BIGL,BIGM,BIGN,BIGO,BIGP,BIGQ, BIGR,BIGS,BIGT,B_IG_U,BIGV,BI_W,BIG34,BI_G_Y,BIGZ, //all digit 1 DIGIT, //all symbols 16 QUOTE, OPENPAR, CLOSEPAR, SEMICOLON,PLUS, MINUS, TIMES, SLASH, COLON, EQUAL,SMALLER,GREATER,EXCLAIM,OPENBRACKET, CLOSEBRACKET,COMMA, //space, tab, end of line are regarded as whitespace, 1 WHITESPACE, //UNDERSCORE IS A SPECIAL SYMBOL 1 UNDERSCORE, //all other ASCII is regarded as illigal 1 ILLIGAL */ //THE FOLLOWING ARE RESERVED TYPE 15 begin , end , program , variables , integer , array , char , module , if , then , else , loop , exit , read , write //TOTAL 38, JUST 1-1 WITH THE FIRST 38 OF TOKENSTATE enum TokenType /* //GENERAL TYPE 5 IDTYPE, NUMBERTYPE, CHARCONSTTYPE, COMMENTTYPE, ERRORTYPE, //THE FOLLOWING ARE SYMBOL TYPE 18 OPENPARTYPE, CLOSEPARTYPE, SEMICOLONTYPE, PLUSTYPE, MINUSTYPE, TIMESTYPE, SLASHTYPE, ASSIGNMENTTYPE, SMALLERTYPE, GREATERTYPE, EQUALTYPE, SMALLEREQUALTYPE, GREATEREQUALTYPE, NOTEQUALTYPE, OPENBRACKETTYPE, CLOSEBRACKETTYPE, COMMATYPE, COLONTYPE, //THE FOLLOWING ARE RESERVED TYPE 15 BEGINTYPE, ENDTYPE, PROGRAMTYPE, VARIABLESTYPE,INTEGERTYPE, ARRAYTYPE, CHARTYPE, MODULETYPE, IFTYPE, THENTYPE, ELSETYPE, LOOPTYPE, EXITTYPE, READTYPE, WRITETYPE */ class Scanner /* */ void initialTokenState() '#'endif