X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fas3%2Ftokenizer.h;h=75c8f2f1648ce3f8799f9709eaf6d11b98f5e8cd;hb=dd5f16e46f47e5833d68c75ecde8f33e0d1997fd;hp=90164d9d9ef774226a91ed7ca27a20a84fd502d7;hpb=7ea066e4193b0c1c75427bdabafe5c8b0e19e4be;p=swftools.git diff --git a/lib/as3/tokenizer.h b/lib/as3/tokenizer.h index 90164d9..75c8f2f 100644 --- a/lib/as3/tokenizer.h +++ b/lib/as3/tokenizer.h @@ -34,6 +34,9 @@ DECLARE(param); DECLARE_LIST(param); DECLARE(params); DECLARE(typedcode); +DECLARE(modifiers); +DECLARE(namespace_decl); +DECLARE_LIST(namespace_decl); DECLARE_LIST(typedcode); struct _param { @@ -47,34 +50,51 @@ struct _params { char varargs; }; +struct _modifiers { + int flags; + char*ns; +}; +struct _namespace_decl { + const char*name; + const char*url; +}; + struct _typedcode { code_t*c; classinfo_t*t; - - /* if t == TYPE_FUNCTION */ - memberinfo_t*f; }; -#define FLAG_PUBLIC 1 -#define FLAG_FINAL 2 -#define FLAG_PROTECTED 4 -#define FLAG_STATIC 8 -#define FLAG_DYNAMIC 16 -#define FLAG_PRIVATE 32 -#define FLAG_OVERRIDE 64 -#define FLAG_METHOD 64 -#define FLAG_INTERNAL 128 -#define FLAG_NATIVE 256 + +/* small helper structs: */ +typedef struct _codeandnumber { + code_t*cc; + int number; +} codeandnumber_t; +typedef struct _for_start { + char*name; + char each; +} for_start_t; +typedef struct _regexp { + char*pattern; + char*options; +} regexp_t; extern char start_of_expression; typedef token_t*tokenptr_t; +extern trie_t*active_namespaces; + #include "parser.tab.h" -void syntaxerror(const char*format, ...); -void warning(const char*format, ...); +extern unsigned int as3_tokencount; + +void as3_buffer_input(void*buffer, int len); +void as3_file_input(FILE*fi); #define T_EOF 0 +extern int avm2_lex(); +extern int avm2_lex_destroy(); + #endif