Skip to content
Snippets Groups Projects
Commit 44f441b5 authored by Oscar Amaya Mohr's avatar Oscar Amaya Mohr
Browse files

Update minako-lexic.l

parent bb585047
Branches main
No related merge requests found
...@@ -13,50 +13,50 @@ void invalid_token() { ...@@ -13,50 +13,50 @@ void invalid_token() {
%s STRING %s STRING
BLOCK_COMMENT "/*"((("*"[^/])?)|[^*])*"*/" BLOCK_COMMENT "/*"((("*"[^/])?)|[^*])*"*/"
LINE_COMMENT "//".* LINE_COMMENT "//".*
INT [0-9]+ INT [0-9]+
FLOAT [0-9]+"."[0-9]+|"."[0-9]+([eE]([-+])?[0-9]+)?|[0-9]+[eE]([-+])?[0-9]+ FLOAT [0-9]+"."[0-9]+|"."[0-9]+([eE]([-+])?[0-9]+)?|[0-9]+[eE]([-+])?[0-9]+
ID [[:alpha:]]+[[:alnum:]]* ID [[:alpha:]]+[[:alnum:]]*
PUNCTUATION "+"|"-"|"*"|"/"|"="|"("|")"|"{"|"}"|","|";" PUNCTUATION "+"|"-"|"*"|"/"|"="|"("|")"|"{"|"}"|","|";"
WHITESPACE [ \t\n\r] WHITESPACE [ \t\n\r]
%% %%
{BLOCK_COMMENT} {BLOCK_COMMENT}
{LINE_COMMENT} {LINE_COMMENT}
bool return KW_BOOLEAN; bool return KW_BOOLEAN;
do return KW_DO; do return KW_DO;
else return KW_ELSE; else return KW_ELSE;
float return KW_FLOAT; float return KW_FLOAT;
for return KW_FOR; for return KW_FOR;
if return KW_IF; if return KW_IF;
int return KW_INT; int return KW_INT;
printf return KW_PRINTF; printf return KW_PRINTF;
return return KW_RETURN; return return KW_RETURN;
void return KW_VOID; void return KW_VOID;
while return KW_WHILE; while return KW_WHILE;
"&&" return AND; "&&" return AND;
"||" return OR; "||" return OR;
"==" return EQ; "==" return EQ;
"!=" return NEQ; "!=" return NEQ;
">=" return GEQ; ">=" return GEQ;
"<=" return LEQ; "<=" return LEQ;
">" return GRT; ">" return GRT;
"<" return LSS; "<" return LSS;
{INT} yylval.intValue = atoi(yytext); return CONST_INT; {INT} yylval.intValue = atoi(yytext); return CONST_INT;
{FLOAT} yylval.floatValue = atof(yytext); return CONST_FLOAT; {FLOAT} yylval.floatValue = atof(yytext); return CONST_FLOAT;
true yylval.intValue = 1; return CONST_BOOLEAN; true yylval.intValue = 1; return CONST_BOOLEAN;
false yylval.intValue = 0; return CONST_BOOLEAN; false yylval.intValue = 0; return CONST_BOOLEAN;
\" BEGIN(STRING); \" BEGIN(STRING);
<STRING>[^\n\"]*/\" yylval.string = yytext; BEGIN(INITIAL); return CONST_STRING; <STRING>[^\n\"]*/\" yylval.string = yytext; BEGIN(INITIAL); return CONST_STRING;
{ID} yylval.string = yytext; return ID; {ID} yylval.string = yytext; return ID;
{PUNCTUATION} return (int)(*yytext); {PUNCTUATION} return (int)(*yytext);
{WHITESPACE} {WHITESPACE}
. invalid_token(); . invalid_token();
<<EOF>> return EOF; <<EOF>> return EOF;
%% %%
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment