aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/LuaSL/src/LuaSL_lexer.l
diff options
context:
space:
mode:
authorDavid Walter Seikel2012-01-09 03:13:25 +1000
committerDavid Walter Seikel2012-01-09 03:13:25 +1000
commit0044bfde9f23898319ba94677b2e9d193a55ed1d (patch)
tree599c7a0767936373c87cd1294f9c5e9403c53235 /LuaSL/src/LuaSL_lexer.l
parentRearrange everything, to be consistant order. (diff)
downloadSledjHamr-0044bfde9f23898319ba94677b2e9d193a55ed1d.zip
SledjHamr-0044bfde9f23898319ba94677b2e9d193a55ed1d.tar.gz
SledjHamr-0044bfde9f23898319ba94677b2e9d193a55ed1d.tar.bz2
SledjHamr-0044bfde9f23898319ba94677b2e9d193a55ed1d.tar.xz
Add most of the rest of the tokens, but ignore them.
Diffstat (limited to 'LuaSL/src/LuaSL_lexer.l')
-rw-r--r--LuaSL/src/LuaSL_lexer.l39
1 files changed, 38 insertions, 1 deletions
diff --git a/LuaSL/src/LuaSL_lexer.l b/LuaSL/src/LuaSL_lexer.l
index 9753a57..8628ca4 100644
--- a/LuaSL/src/LuaSL_lexer.l
+++ b/LuaSL/src/LuaSL_lexer.l
@@ -53,15 +53,52 @@ NAME [[:alpha:]](_|[[:alpha:]]|[[:digit:]])*
53"/" { ECHO; return LSL_DIVIDE; } 53"/" { ECHO; return LSL_DIVIDE; }
54"!" { ECHO; return LSL_BOOL_NOT; } 54"!" { ECHO; return LSL_BOOL_NOT; }
55"~" { ECHO; return LSL_BIT_NOT; } 55"~" { ECHO; return LSL_BIT_NOT; }
56 /* "<" { ECHO; return LSL_ANGLE_OPEN; } */
57 /* ">" { ECHO; return LSL_ANGLE_CLOSE; } */
58"[" { ECHO; return LSL_BRACKET_OPEN; }
59"]" { ECHO; return LSL_BRACKET_CLOSE; }
56"(" { ECHO; return LSL_PARENTHESIS_OPEN; } 60"(" { ECHO; return LSL_PARENTHESIS_OPEN; }
57")" { ECHO; return LSL_PARENTHESIS_CLOSE; } 61")" { ECHO; return LSL_PARENTHESIS_CLOSE; }
62"+=" { ECHO; return LSL_ASSIGNMENT_ADD; }
63"-=" { ECHO; return LSL_ASSIGNMENT_SUBTRACT; }
64"*=" { ECHO; return LSL_ASSIGNMENT_MULTIPLY; }
65"%=" { ECHO; return LSL_ASSIGNMENT_MODULO; }
66"/=" { ECHO; return LSL_ASSIGNMENT_DIVIDE; }
67"=" { ECHO; return LSL_ASSIGNMENT_PLAIN; }
68"." { ECHO; return LSL_DOT; }
69"--" { ECHO; return LSL_DECREMENT_PRE; }
70"++" { ECHO; return LSL_INCREMENT_PRE; }
71"," { ECHO; return LSL_COMMA; }
58 72
59 /* Types. */ 73 /* Types. */
60{INTEGER} %{ ECHO; yylval->integerValue = atoi(yytext); return LSL_INTEGER; %} 74{INTEGER} %{ ECHO; yylval->integerValue = atoi(yytext); return LSL_INTEGER; %}
61{FLOAT} %{ ECHO; /* yylval->floatValue = atof(yytext); return LSL_FLOAT; */ %} 75{FLOAT} %{ ECHO; yylval->floatValue = atof(yytext); return LSL_FLOAT; %}
76
77 /* Type keywords. */
78"float" %{ ECHO; return LSL_TYPE_FLOAT; %}
79"integer" %{ ECHO; return LSL_TYPE_INTEGER; %}
80"key" %{ ECHO; return LSL_TYPE_KEY; %}
81"list" %{ ECHO; return LSL_TYPE_LIST; %}
82"rotation" %{ ECHO; return LSL_TYPE_ROTATION; %}
83"string" %{ ECHO; return LSL_TYPE_STRING; %}
84"vector" %{ ECHO; return LSL_TYPE_VECTOR; %}
85
86 /* Statement keywords. */
87"do" %{ ECHO; return LSL_DO; %}
88"for" %{ ECHO; return LSL_FOR; %}
89"else" %{ ECHO; return LSL_ELSE; %}
90"if" %{ ECHO; return LSL_IF; %}
91"jump" %{ ECHO; return LSL_JUMP; %}
92"return" %{ ECHO; return LSL_RETURN; %}
93"state" %{ ECHO; return LSL_STATE_CHANGE; %}
94"while" %{ ECHO; return LSL_WHILE; %}
62 95
63{NAME} %{ ECHO; /* yylval->nameValue = strdup(yytext); return LSL_NAME; */ %} 96{NAME} %{ ECHO; /* yylval->nameValue = strdup(yytext); return LSL_NAME; */ %}
64 97
98 /* Other symbols. */
99"@" %{ ECHO; return LSL_LABEL; %}
100"{" %{ ECHO; return LSL_BLOCK_OPEN; %}
101"}" %{ ECHO; return LSL_BLOCK_CLOSE; %}
65";" { ECHO; return LSL_STATEMENT; } 102";" { ECHO; return LSL_STATEMENT; }
66 103
67<<EOF>> { yyterminate(); } 104<<EOF>> { yyterminate(); }