change printing
[lambda.git] / lambda.l
index b37d888..89256b4 100644 (file)
--- a/lambda.l
+++ b/lambda.l
 %%
 
 [ \t\n]
+=         return ASSIGN;
+;         return SEMICOLON;
 (\\|λ)    return LAMBDA;
 \.        return DOT;
 \(        return OBRACE;
 \)        return CBRACE;
-I         return I;
-K         return K;
-S         return S;
-F         return F;
-T         return T;
-[a-zA-Z]+ yylval = make_ident(strdup(yytext)); return IDENT;
+\!        return BANG;
+true      yylval = make_bool(true); return LITERAL;
+false     yylval = make_bool(false); return LITERAL;
+[0-9]+    yylval = make_numeral(atoi(yytext)); return LITERAL;
+[a-z]+    yylval = make_ident(yytext); return IDENT;
+[A-Z]+    yylval = make_ident(yytext); return FUNC;
 
 %%