add assign, nil
[ccc.git] / scan.l
diff --git a/scan.l b/scan.l
index dd51579..3a2eabc 100644 (file)
--- a/scan.l
+++ b/scan.l
@@ -18,6 +18,7 @@ while       return WHILE;
 var         return VAR;
 true        { yylval = ast_bool(true); return BOOL; }
 false       { yylval = ast_bool(false); return BOOL; }
+return      return RETURN;
 =           return ASSIGN;
 !           return INVERSE;
 \|\|        return BINOR;
@@ -40,19 +41,14 @@ false       { yylval = ast_bool(false); return BOOL; }
 \{          return COPEN;
 \}          return CCLOSE;
 \;          return SEMICOLON;
+\[\]        return NIL;
 ,           return COMMA;
 '([^']|\\[abtnvfr]|\\x[0-9a-fA-F]{2})' {
-       yylval = ast_char(yytext);
-       return CHAR;
-}
-[0-9]+      {
-               yylval = ast_int(atoi(yytext));
-               return INTEGER;
-}
+       yylval = ast_char(yytext); return CHAR; }
+[0-9]+ {
+       yylval = ast_int(atoi(yytext)); return INTEGER; }
 [_a-zA-Z][_a-zA-Z0-9]* {
-               yylval = ast_ident(yytext);
-               return IDENT;
-}
+       yylval = ast_ident(yytext); return IDENT; }
 [ \n\t]  ;
 
 %%