%}
%option nodefault
+%start REM
%%
-[ ]
-X\ *P\ *L\ *O\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_XPLOT
+<INITIAL>{
+ [ ]
+ X\ *P\ *L\ *O\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_XPLOT
+ }
+ X\ *D\ *R\ *A\ *W/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_XDRAW
+ }
+ W\ *A\ *I\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_WAIT
+ }
+ V\ *T\ *A\ *B/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_VTAB
+ }
+ V\ *L\ *I\ *N/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_VLIN
+ }
+ V\ *A\ *L/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_VAL
+ }
+ U\ *S\ *R/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_USR
+ }
+ T\ *R\ *A\ *C\ *E/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_TRACE
+ }
+ T\ *O/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_TO
+ }
+ T\ *H\ *E\ *N/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_THEN
+ }
+ T\ *E\ *X\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_TEXT
+ }
+ T\ *A\ *N/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_TAN
+ }
+ T\ *A\ *B\ *\( {
+ return y_tab.KEYWORD_TAB_LPAREN
+ }
+ S\ *T\ *R\ *\$ {
+ return y_tab.KEYWORD_STR_DOLLAR
+ }
+ S\ *T\ *O\ *R\ *E/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_STORE
+ }
+ S\ *T\ *O\ *P/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_STOP
+ }
+ S\ *T\ *E\ *P/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_STEP
+ }
+ S\ *Q\ *R/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_SQR
+ }
+ S\ *P\ *E\ *E\ *D\ *= {
+ return y_tab.KEYWORD_SPEED_EQUAL
+ }
+ S\ *P\ *C\ *\( {
+ return y_tab.KEYWORD_SPC_LPAREN
+ }
+ S\ *I\ *N/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_SIN
+ }
+ S\ *H\ *L\ *O\ *A\ *D/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_SHLOAD
+ }
+ S\ *G\ *N/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_SGN
+ }
+ S\ *C\ *R\ *N\ *\( {
+ return y_tab.KEYWORD_SCRN_LPAREN
+ }
+ S\ *C\ *A\ *L\ *E\ *= {
+ return y_tab.KEYWORD_SCALE_EQUAL
+ }
+ S\ *A\ *V\ *E/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_SAVE
+ }
+ R\ *I\ *G\ *H\ *T\ *\$ {
+ return y_tab.KEYWORD_RIGHT_DOLLAR
+ }
+ R\ *E\ *T\ *U\ *R\ *N/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_RETURN
+ }
+ R\ *E\ *S\ *U\ *M\ *E/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_RESUME
+ }
+ R\ *E\ *S\ *T\ *O\ *R\ *E/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_RESTORE
+ }
+ R\ *E\ *M/(\ *[A-Z0-9])*(\ *[$%])? {
+ BEGIN(REM)
+ return y_tab.KEYWORD_REM
+ }
+ R\ *E\ *C\ *A\ *L\ *L/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_RECALL
+ }
+ R\ *E\ *A\ *D/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_READ
+ }
+ P\ *R\ *I\ *N\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_PRINT
+ }
+ P\ *R\ *# {
+ return y_tab.KEYWORD_PR_NUMBER
+ }
+ P\ *O\ *S/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_POS
+ }
+ P\ *O\ *P/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_POP
+ }
+ P\ *O\ *K\ *E/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_POKE
+ }
+ P\ *L\ *O\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_PLOT
+ }
+ P\ *E\ *E\ *K/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_PEEK
+ }
+ P\ *D\ *L/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_PDL
+ }
+ O\ *R/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_OR
+ }
+ O\ *N\ *E\ *R\ *R/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_ONERR
+ }
+ O\ *N/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_ON
+ }
+ N\ *O\ *T\ *R\ *A\ *C\ *E/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_NOTRACE
+ }
+ N\ *O\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_NOT
+ }
+ N\ *O\ *R\ *M\ *A\ *L/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_NORMAL
+ }
+ N\ *E\ *X\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_NEXT
+ }
+ N\ *E\ *W/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_NEW
+ }
+ M\ *I\ *D\ *\$ {
+ return y_tab.KEYWORD_MID_DOLLAR
+ }
+ L\ *O\ *M\ *E\ *M\ *: {
+ return y_tab.KEYWORD_LOMEM_COLON
+ }
+ L\ *O\ *G/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_LOG
+ }
+ L\ *O\ *A\ *D/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_LOAD
+ }
+ L\ *I\ *S\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_LIST
+ }
+ L\ *E\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_LET
+ }
+ L\ *E\ *N/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_LEN
+ }
+ L\ *E\ *F\ *T\ *\$ {
+ return y_tab.KEYWORD_LEFT_DOLLAR
+ }
+ I\ *N\ *V\ *E\ *R\ *S\ *E/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_INVERSE
+ }
+ I\ *N\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_INT
+ }
+ I\ *N\ *P\ *U\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_INPUT
+ }
+ I\ *N\ *# {
+ return y_tab.KEYWORD_IN_NUMBER
+ }
+ I\ *F/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_IF
+ }
+ H\ *T\ *A\ *B/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_HTAB
+ }
+ H\ *P\ *L\ *O\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_HPLOT
+ }
+ H\ *O\ *M\ *E/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_HOME
+ }
+ H\ *L\ *I\ *N/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_HLIN
+ }
+ H\ *I\ *M\ *E\ *M\ *: {
+ return y_tab.KEYWORD_HIMEM_COLON
+ }
+ H\ *G\ *R\ *2/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_HGR2
+ }
+ H\ *G\ *R/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_HGR
+ }
+ H\ *C\ *O\ *L\ *O\ *R\ *= {
+ return y_tab.KEYWORD_HCOLOR_EQUAL
+ }
+ G\ *R/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_GR
+ }
+ G\ *O\ *T\ *O/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_GOTO
+ }
+ G\ *O\ *S\ *U\ *B/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_GOSUB
+ }
+ G\ *E\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_GET
+ }
+ F\ *R\ *E/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_FRE
+ }
+ F\ *O\ *R/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_FOR
+ }
+ F\ *N/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_FN
+ }
+ F\ *L\ *A\ *S\ *H/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_FLASH
+ }
+ E\ *X\ *P/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_EXP
+ }
+ E\ *N\ *D/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_END
+ }
+ D\ *R\ *A\ *W/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_DRAW
+ }
+ D\ *I\ *M/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_DIM
+ }
+ D\ *E\ *L/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_DEL
+ }
+ D\ *E\ *F/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_DEF
+ }
+ D\ *A\ *T\ *A/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_DATA
+ }
+ C\ *O\ *S/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_COS
+ }
+ C\ *O\ *N\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_CONT
+ }
+ C\ *O\ *L\ *O\ *R\ *= {
+ return y_tab.KEYWORD_COLOR_EQUAL
+ }
+ C\ *L\ *E\ *A\ *R/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_CLEAR
+ }
+ C\ *H\ *R\ *\$ {
+ return y_tab.KEYWORD_CHR_DOLLAR
+ }
+ C\ *A\ *L\ *L/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_CALL
+ }
+ A\ *T\ *N/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_ATN
+ }
+ A\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_AT
+ }
+ A\ *S\ *C/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_ASC
+ }
+ A\ *N\ *D/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_AND
+ }
+ A\ *B\ *S/(\ *[A-Z0-9])*(\ *[$%])? {
+ return y_tab.KEYWORD_ABS
+ }
+ (?E{t_def.IntLiteral}(?E{t_def.Text.Char}[0-9])(\ *(?E{t_def.Text.Char}[0-9]))*) {
+ return y_tab.INT_LITERAL
+ }
+ (?E{t_def.VariableName}(?E{t_def.Text.Char}[A-Z])(\ *(?E{t_def.Text.Char}[A-Z0-9])(\ *[A-Z0-9])*)?(\ *(?E{t_def.Text.Char}[$%]))?) {
+ return y_tab.VARIABLE_NAME
+ }
+ (?E{t_def.IntLiteral}(?E{t_def.Text.Char}[0-9])(\ *(?E{t_def.Text.Char}[0-9]))*) {
+ return y_tab.INT_LITERAL
+ }
+ (?E{t_def.FloatLiteral}((?E{t_def.FloatLiteral.Integer}(?E{t_def.Text.Char}[0-9])(\ *(?E{t_def.Text.Char}[0-9]))*)(?E{t_def.FloatLiteral.Fraction}"")|(?E{t_def.FloatLiteral.Integer}((?E{t_def.Text.Char}[0-9])\ *)*)(?E{t_def.FloatLiteral.Fraction}\.(\ *(?E{t_def.Text.Char}[0-9]))*))(?E{t_def.FloatLiteral.Exponent}\ *E(?E{t_def.FloatLiteral.Sign}(\ *(?E{t_def.Text.Char}[+-]))?)\ *(?E{t_def.FloatLiteral.Integer}(?E{t_def.Text.Char}[0-9])(\ *(?E{t_def.Text.Char}[0-9]))*))?) {
+ return y_tab.FLOAT_LITERAL
+ }
+ \"(?E{t_def.StrLiteral}[^"\n]*)\" {
+ return y_tab.STR_LITERAL
+ }
+ \>\ *=|=\ *\> {
+ return y_tab.OPERATOR_GE
+ }
+ \<\ *=|=\ *\< {
+ return y_tab.OPERATOR_LE
+ }
+ \<\ *\>|\>\ *\< {
+ return y_tab.OPERATOR_NE
+ }
+ . {
+ return ord(yytext[0])
+ }
+ \n {
+ return ord('\n')
+ }
}
-X\ *D\ *R\ *A\ *W/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_XDRAW
-}
-W\ *A\ *I\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_WAIT
-}
-V\ *T\ *A\ *B/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_VTAB
-}
-V\ *L\ *I\ *N/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_VLIN
-}
-V\ *A\ *L/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_VAL
-}
-U\ *S\ *R/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_USR
-}
-T\ *R\ *A\ *C\ *E/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_TRACE
-}
-T\ *O/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_TO
-}
-T\ *H\ *E\ *N/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_THEN
-}
-T\ *E\ *X\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_TEXT
-}
-T\ *A\ *N/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_TAN
-}
-T\ *A\ *B\ *\( {
- return y_tab.KEYWORD_TAB_LPAREN
-}
-S\ *T\ *R\ *\$ {
- return y_tab.KEYWORD_STR_DOLLAR
-}
-S\ *T\ *O\ *R\ *E/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_STORE
-}
-S\ *T\ *O\ *P/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_STOP
-}
-S\ *T\ *E\ *P/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_STEP
-}
-S\ *Q\ *R/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_SQR
-}
-S\ *P\ *E\ *E\ *D\ *= {
- return y_tab.KEYWORD_SPEED_EQUAL
-}
-S\ *P\ *C\ *\( {
- return y_tab.KEYWORD_SPC_LPAREN
-}
-S\ *I\ *N/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_SIN
-}
-S\ *H\ *L\ *O\ *A\ *D/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_SHLOAD
-}
-S\ *G\ *N/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_SGN
-}
-S\ *C\ *R\ *N\ *\( {
- return y_tab.KEYWORD_SCRN_LPAREN
-}
-S\ *C\ *A\ *L\ *E\ *= {
- return y_tab.KEYWORD_SCALE_EQUAL
-}
-S\ *A\ *V\ *E/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_SAVE
-}
-R\ *I\ *G\ *H\ *T\ *\$ {
- return y_tab.KEYWORD_RIGHT_DOLLAR
-}
-R\ *E\ *T\ *U\ *R\ *N/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_RETURN
-}
-R\ *E\ *S\ *U\ *M\ *E/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_RESUME
-}
-R\ *E\ *S\ *T\ *O\ *R\ *E/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_RESTORE
-}
-R\ *E\ *M/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_REM
-}
-R\ *E\ *C\ *A\ *L\ *L/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_RECALL
-}
-R\ *E\ *A\ *D/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_READ
-}
-P\ *R\ *I\ *N\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_PRINT
-}
-P\ *R\ *# {
- return y_tab.KEYWORD_PR_NUMBER
-}
-P\ *O\ *S/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_POS
-}
-P\ *O\ *P/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_POP
-}
-P\ *O\ *K\ *E/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_POKE
-}
-P\ *L\ *O\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_PLOT
-}
-P\ *E\ *E\ *K/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_PEEK
-}
-P\ *D\ *L/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_PDL
-}
-O\ *R/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_OR
-}
-O\ *N\ *E\ *R\ *R/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_ONERR
-}
-O\ *N/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_ON
-}
-N\ *O\ *T\ *R\ *A\ *C\ *E/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_NOTRACE
-}
-N\ *O\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_NOT
-}
-N\ *O\ *R\ *M\ *A\ *L/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_NORMAL
-}
-N\ *E\ *X\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_NEXT
-}
-N\ *E\ *W/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_NEW
-}
-M\ *I\ *D\ *\$ {
- return y_tab.KEYWORD_MID_DOLLAR
-}
-L\ *O\ *M\ *E\ *M\ *: {
- return y_tab.KEYWORD_LOMEM_COLON
-}
-L\ *O\ *G/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_LOG
-}
-L\ *O\ *A\ *D/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_LOAD
-}
-L\ *I\ *S\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_LIST
-}
-L\ *E\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_LET
-}
-L\ *E\ *N/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_LEN
-}
-L\ *E\ *F\ *T\ *\$ {
- return y_tab.KEYWORD_LEFT_DOLLAR
-}
-I\ *N\ *V\ *E\ *R\ *S\ *E/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_INVERSE
-}
-I\ *N\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_INT
-}
-I\ *N\ *P\ *U\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_INPUT
-}
-I\ *N\ *# {
- return y_tab.KEYWORD_IN_NUMBER
-}
-I\ *F/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_IF
-}
-H\ *T\ *A\ *B/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_HTAB
-}
-H\ *P\ *L\ *O\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_HPLOT
-}
-H\ *O\ *M\ *E/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_HOME
-}
-H\ *L\ *I\ *N/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_HLIN
-}
-H\ *I\ *M\ *E\ *M\ *: {
- return y_tab.KEYWORD_HIMEM_COLON
-}
-H\ *G\ *R\ *2/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_HGR2
-}
-H\ *G\ *R/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_HGR
-}
-H\ *C\ *O\ *L\ *O\ *R\ *= {
- return y_tab.KEYWORD_HCOLOR_EQUAL
-}
-G\ *R/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_GR
-}
-G\ *O\ *T\ *O/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_GOTO
-}
-G\ *O\ *S\ *U\ *B/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_GOSUB
-}
-G\ *E\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_GET
-}
-F\ *R\ *E/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_FRE
-}
-F\ *O\ *R/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_FOR
-}
-F\ *N/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_FN
-}
-F\ *L\ *A\ *S\ *H/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_FLASH
-}
-E\ *X\ *P/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_EXP
-}
-E\ *N\ *D/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_END
-}
-D\ *R\ *A\ *W/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_DRAW
-}
-D\ *I\ *M/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_DIM
-}
-D\ *E\ *L/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_DEL
-}
-D\ *E\ *F/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_DEF
-}
-D\ *A\ *T\ *A/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_DATA
-}
-C\ *O\ *S/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_COS
-}
-C\ *O\ *N\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_CONT
-}
-C\ *O\ *L\ *O\ *R\ *= {
- return y_tab.KEYWORD_COLOR_EQUAL
-}
-C\ *L\ *E\ *A\ *R/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_CLEAR
-}
-C\ *H\ *R\ *\$ {
- return y_tab.KEYWORD_CHR_DOLLAR
-}
-C\ *A\ *L\ *L/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_CALL
-}
-A\ *T\ *N/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_ATN
-}
-A\ *T/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_AT
-}
-A\ *S\ *C/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_ASC
-}
-A\ *N\ *D/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_AND
-}
-A\ *B\ *S/(\ *[A-Z0-9])*(\ *[$%])? {
- return y_tab.KEYWORD_ABS
-}
-(?E{t_def.IntLiteral}(?E{t_def.Text.Char}[0-9])(\ *(?E{t_def.Text.Char}[0-9]))*) {
- return y_tab.INT_LITERAL
-}
-(?E{t_def.VariableName}(?E{t_def.Text.Char}[A-Z])(\ *(?E{t_def.Text.Char}[A-Z0-9])(\ *[A-Z0-9])*)?(\ *(?E{t_def.Text.Char}[$%]))?) {
- return y_tab.VARIABLE_NAME
-}
-(?E{t_def.IntLiteral}(?E{t_def.Text.Char}[0-9])(\ *(?E{t_def.Text.Char}[0-9]))*) {
- return y_tab.INT_LITERAL
-}
-(?E{t_def.FloatLiteral}((?E{t_def.FloatLiteral.Integer}(?E{t_def.Text.Char}[0-9])(\ *(?E{t_def.Text.Char}[0-9]))*)(?E{t_def.FloatLiteral.Fraction}"")|(?E{t_def.FloatLiteral.Integer}((?E{t_def.Text.Char}[0-9])\ *)*)(?E{t_def.FloatLiteral.Fraction}\.(\ *(?E{t_def.Text.Char}[0-9]))*))(?E{t_def.FloatLiteral.Exponent}\ *E(?E{t_def.FloatLiteral.Sign}(\ *(?E{t_def.Text.Char}[+-]))?)\ *(?E{t_def.FloatLiteral.Integer}(?E{t_def.Text.Char}[0-9])(\ *(?E{t_def.Text.Char}[0-9]))*))?) {
- return y_tab.FLOAT_LITERAL
-}
-\"(?E{t_def.StrLiteral}[^"\n]*)\" {
- return y_tab.STR_LITERAL
-}
-\>\ *=|=\ *\> {
- return y_tab.OPERATOR_GE
-}
-\<\ *=|=\ *\< {
- return y_tab.OPERATOR_LE
-}
-\<\ *\>|\>\ *\< {
- return y_tab.OPERATOR_NE
-}
-. {
- return ord(yytext[0])
-}
-\n {
- return ord('\n')
+
+<REM>{
+ (?E{t_def.RemText}.*) {
+ BEGIN(INITIAL)
+ return y_tab.REM_TEXT
+ }
}