X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fas3%2Ftokenizer.h;h=b8e5be3c7fdfbb41e04b71bf0ed334d84bb97a5e;hb=3fb75ef418267cb0f7370d365b3a37b8013fbee9;hp=fb034e7fd8333e266aca4dac9e5f25aafef8a1c4;hpb=499c73edd0924ce0d7ddbdc0c6af6a5536457021;p=swftools.git diff --git a/lib/as3/tokenizer.h b/lib/as3/tokenizer.h index fb034e7..b8e5be3 100644 --- a/lib/as3/tokenizer.h +++ b/lib/as3/tokenizer.h @@ -20,23 +20,59 @@ #define __parser_h__ #include "../q.h" +#include "abc.h" +#include "pool.h" +#include "files.h" +#include "tokenizer.h" +#include "registry.h" +#include "code.h" +#include "opcodes.h" DECLARE(token); DECLARE_LIST(token); +DECLARE(param); +DECLARE_LIST(param); +DECLARE(params); +DECLARE(typedcode); +DECLARE_LIST(typedcode); -struct _token { - int type; - char*text; - token_list_t*tokens; +struct _param { + char*name; + classinfo_t*type; + constant_t*value; }; -typedef token_t*tokenptr_t; +struct _params { + param_list_t*list; + char varargs; +}; + +struct _typedcode { + code_t*c; + classinfo_t*t; + + /* if t == TYPE_FUNCTION */ + memberinfo_t*f; +}; -#define YYSTYPE tokenptr_t +#define FLAG_PUBLIC 1 +#define FLAG_PRIVATE 2 +#define FLAG_PROTECTED 4 +#define FLAG_STATIC 8 +#define FLAG_DYNAMIC 16 +#define FLAG_FINAL 32 +#define FLAG_OVERRIDE 64 +#define FLAG_NATIVE 128 +#define FLAG_INTERNAL 256 + +extern char start_of_expression; + +typedef token_t*tokenptr_t; #include "parser.tab.h" void syntaxerror(const char*format, ...); +void warning(const char*format, ...); #define T_EOF 0