summaryrefslogtreecommitdiff
path: root/src/map/magic-interpreter-lexer.lpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/magic-interpreter-lexer.lpp')
-rw-r--r--src/map/magic-interpreter-lexer.lpp152
1 files changed, 0 insertions, 152 deletions
diff --git a/src/map/magic-interpreter-lexer.lpp b/src/map/magic-interpreter-lexer.lpp
deleted file mode 100644
index 38b7b1e..0000000
--- a/src/map/magic-interpreter-lexer.lpp
+++ /dev/null
@@ -1,152 +0,0 @@
-%{
-#include "magic-interpreter-lexer.hpp"
-
-#include "magic-interpreter-parser.hpp"
-
-#include "../io/cxxstdio.hpp"
-
-#ifdef HEADING
-# error "what platform is this? please tell me who #defined HEADING"
-#endif
-
-#define FIXLOC magic_frontend_lloc.first_line = magic_frontend_lineno
-
-#define HEADING(dir) { magic_frontend_lval.i = dir; FIXLOC; return DIR; }
-%}
-
-%option yylineno
-%option noyywrap
-%option prefix="magic_frontend_"
-%option nounput
-%option noinput
-
-%%
-
-"S" HEADING(0);
-"SW" HEADING(1);
-"W" HEADING(2);
-"NW" HEADING(3);
-"N" HEADING(4);
-"NE" HEADING(5);
-"E" HEADING(6);
-"SE" HEADING(7);
-"=" {FIXLOC; return '=';}
-"==" {FIXLOC; return EQ;}
-"<>" {FIXLOC; return NEQ;}
-"!=" {FIXLOC; return NEQ;}
-">" {FIXLOC; return '>';}
-"<" {FIXLOC; return '<';}
-">=" {FIXLOC; return GTE;}
-"<=" {FIXLOC; return LTE;}
-"(" {FIXLOC; return '(';}
-")" {FIXLOC; return ')';}
-"+" {FIXLOC; return '+';}
-"-" {FIXLOC; return '-';}
-"*" {FIXLOC; return '*';}
-"/" {FIXLOC; return '/';}
-"%" {FIXLOC; return '%';}
-"&&" {FIXLOC; return ANDAND;}
-"||" {FIXLOC; return OROR;}
-";" {FIXLOC; return ';';}
-":" {FIXLOC; return ':';}
-"," {FIXLOC; return ',';}
-"@" {FIXLOC; return '@';}
-"|" {FIXLOC; return '|';}
-"[" {FIXLOC; return '[';}
-"]" {FIXLOC; return ']';}
-"&" {FIXLOC; return '&';}
-"^" {FIXLOC; return '^';}
-"." {FIXLOC; return '.';}
-"<<" {FIXLOC; return SHL;}
-">>" {FIXLOC; return SHR;}
-"PROCEDURE" {FIXLOC; return PROCEDURE;}
-"CALL" {FIXLOC; return CALL;}
-"OR" {FIXLOC; return OR;}
-"TO" {FIXLOC; return TO;}
-"TOWARDS" {FIXLOC; return TOWARDS;}
-"TELEPORT-ANCHOR" {FIXLOC; return TELEPORT_ANCHOR;}
-"SILENT" {FIXLOC; return SILENT;}
-"LOCAL" {FIXLOC; return LOCAL;}
-"NONMAGIC" {FIXLOC; return NONMAGIC;}
-"SPELL" {FIXLOC; return SPELL;}
-"LET" {FIXLOC; return LET;}
-"IN" {FIXLOC; return IN;}
-"END" {FIXLOC; return END;}
-"=>" {FIXLOC; return DARROW;}
-"STRING" {FIXLOC; return STRING_TY;}
-"REQUIRE" {FIXLOC; return REQUIRE;}
-"CATALYSTS" {FIXLOC; return CATALYSTS;}
-"COMPONENTS" {FIXLOC; return COMPONENTS;}
-"MANA" {FIXLOC; return MANA;}
-"CASTTIME" {FIXLOC; return CASTTIME;}
-"SKIP" {FIXLOC; return SKIP;}
-"ABORT" {FIXLOC; return ABORT;}
-"BREAK" {FIXLOC; return BREAK;}
-"EFFECT" {FIXLOC; return EFFECT_;}
-"ATEND" {FIXLOC; return ATEND;}
-"ATTRIGGER" {FIXLOC; return ATTRIGGER;}
-"CONST" {FIXLOC; return CONST;}
-"PC" {FIXLOC; return PC_F;}
-"NPC" {FIXLOC; return NPC_F;}
-"MOB" {FIXLOC; return MOB_F;}
-"ENTITY" {FIXLOC; return ENTITY_F;}
-"TARGET" {FIXLOC; return TARGET_F;}
-"IF" {FIXLOC; return IF;}
-"THEN" {FIXLOC; return THEN;}
-"ELSE" {FIXLOC; return ELSE;}
-"FOREACH" {FIXLOC; return FOREACH;}
-"FOR" {FIXLOC; return FOR;}
-"DO" {FIXLOC; return DO;}
-"WAIT" {FIXLOC; return SLEEP;}
-
-\{([^\}]|\\.)*\} {
- magic_frontend_lval.s = dumb_string::copy(yytext);
- FIXLOC;
- return SCRIPT_DATA;
-}
-
-\"([^\"]|\\.)*\" {
- dumb_string string = dumb_string::copy(yytext + 1);
- const char *src = string.c_str();
- char *dst = &string[0];
- while (*src && *src != '"')
- {
- if (*src == '\\')
- {
- *dst++ = src[1];
- src += 2;
- }
- else
- *dst++ = *src++;
- }
- *dst = '\0'; /* terminate */
- magic_frontend_lval.s = string;
- FIXLOC;
- return STRING;
-}
-
-"-"?[0-9]+ {
- magic_frontend_lval.i = atoi(yytext);
- FIXLOC;
- return INT;
- }
-
-"0x"[0-9a-fA-F]+ {
- magic_frontend_lval.i = strtol(yytext + 2, NULL, 16);
- FIXLOC;
- return INT;
- }
-
-[a-zA-Z][-_a-zA-Z0-9]* {
- magic_frontend_lval.s = dumb_string::copy(yytext);
- FIXLOC;
- return ID;
-}
-
-"#".*$ /* Ignore comments */
-"//".*$ /* Ignore comments */
-[ \n\t\r] /* ignore whitespace */
-. FPRINTF(stderr, "%s: Unexpected character in line %d\n", current_magic_filename, magic_frontend_lineno);
-
-%%
-// nothing to see here, move along