test 14
This commit is contained in:
parent
7d5787c84c
commit
619ea2c03f
8 changed files with 23 additions and 9 deletions
14
src/lexer.l
14
src/lexer.l
|
|
@ -14,7 +14,7 @@
|
|||
^[ \t]*#.*\n { /* Ignore comment-only lines */ }
|
||||
|
||||
|
||||
^[ \t]* {
|
||||
^[ \t]+ {
|
||||
int col = indent_stack.calculateColumn(yytext, yyleng);
|
||||
auto action = indent_stack.updateIndentation(col);
|
||||
|
||||
|
|
@ -39,6 +39,8 @@ in { return yy::parser::token::TOK_KW_IN; }
|
|||
not { return yy::parser::token::TOK_KW_NOT; }
|
||||
and { return yy::parser::token::TOK_KW_AND; }
|
||||
or { return yy::parser::token::TOK_KW_OR; }
|
||||
pass { return yy::parser::token::TOK_KW_PASS; }
|
||||
else { return yy::parser::token::TOK_KW_ELSE; }
|
||||
|
||||
\=\= { return yy::parser::token::TOK_EQ; }
|
||||
\!\= { return yy::parser::token::TOK_NE; }
|
||||
|
|
@ -47,6 +49,16 @@ or { return yy::parser::token::TOK_KW_OR; }
|
|||
\<\= { return yy::parser::token::TOK_LTE; }
|
||||
\>\= { return yy::parser::token::TOK_GTE; }
|
||||
\= { return yy::parser::token::TOK_ASSIGN; }
|
||||
\+\= { return yy::parser::token::TOK_PLUS_ASSIGN; }
|
||||
\-\= { return yy::parser::token::TOK_MINUS_ASSIGN; }
|
||||
\*\= { return yy::parser::token::TOK_MULTIPLY_ASSIGN; }
|
||||
\/\= { return yy::parser::token::TOK_DIVIDE_ASSIGN; }
|
||||
\%\= { return yy::parser::token::TOK_MODULO_ASSIGN; }
|
||||
\&\= { return yy::parser::token::TOK_BIT_AND_ASSIGN; }
|
||||
\|\= { return yy::parser::token::TOK_BIT_OR_ASSIGN; }
|
||||
\^\= { return yy::parser::token::TOK_BIT_XOR_ASSIGN; }
|
||||
\<\<\= { return yy::parser::token::TOK_LSHIFT_ASSIGN; }
|
||||
\>\>\= { return yy::parser::token::TOK_RSHIFT_ASSIGN; }
|
||||
\+ { return yy::parser::token::TOK_PLUS; }
|
||||
\- { return yy::parser::token::TOK_MINUS; }
|
||||
\* { return yy::parser::token::TOK_MULTIPLY; }
|
||||
|
|
|
|||
|
|
@ -27,8 +27,8 @@
|
|||
%token <std::string> IDENTIFIER
|
||||
%token <std::string> STRING
|
||||
%token <int> NUMBER
|
||||
%token ASSIGN PLUS MINUS L_PAREN R_PAREN COLON EQ NE LT GT LTE GTE MULTIPLY DIVIDE MODULO L_BRACKET L_BRACE R_BRACKET R_BRACE DOT SEMICOLON COMMA BIT_NOT BIT_AND BIT_OR BIT_XOR LSHIFT RSHIFT
|
||||
%token KW_DEF KW_IF KW_RETURN KW_FOR KW_IN KW_NOT KW_AND KW_OR
|
||||
%token ASSIGN PLUS MINUS L_PAREN R_PAREN COLON EQ NE LT GT LTE GTE MULTIPLY DIVIDE MODULO L_BRACKET L_BRACE R_BRACKET R_BRACE DOT SEMICOLON COMMA BIT_NOT BIT_AND BIT_OR BIT_XOR LSHIFT RSHIFT PLUS_ASSIGN MINUS_ASSIGN MULTIPLY_ASSIGN DIVIDE_ASSIGN MODULO_ASSIGN BIT_AND_ASSIGN BIT_OR_ASSIGN BIT_XOR_ASSIGN LSHIFT_ASSIGN RSHIFT_ASSIGN
|
||||
%token KW_DEF KW_IF KW_RETURN KW_FOR KW_IN KW_NOT KW_AND KW_OR KW_PASS KW_ELSE
|
||||
%token EOF NEWLINE INDENT DEDENT
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue