X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fas3%2Ftokenizer.h;h=9a939ec8e6bc5ae7e320aa3889a61fb47cca0f0e;hb=c63b2bf21dc1df9a736f0b4c08f6cba828cdab92;hp=44ffd1790a4c7c92294579b7edce686028b2a343;hpb=b0444603a5793f31ec8cb35b1ea416e7f7f080ae;p=swftools.git diff --git a/lib/as3/tokenizer.h b/lib/as3/tokenizer.h index 44ffd17..9a939ec 100644 --- a/lib/as3/tokenizer.h +++ b/lib/as3/tokenizer.h @@ -27,13 +27,16 @@ #include "registry.h" #include "code.h" #include "opcodes.h" +#include "expr.h" DECLARE(token); DECLARE_LIST(token); DECLARE(param); DECLARE_LIST(param); DECLARE(params); -DECLARE(typedcode); +DECLARE(modifiers); +DECLARE(namespace_decl); +DECLARE_LIST(namespace_decl); DECLARE_LIST(typedcode); struct _param { @@ -47,20 +50,28 @@ struct _params { char varargs; }; -struct _typedcode { - code_t*c; - classinfo_t*t; +struct _modifiers { + int flags; + char*ns; +}; +struct _namespace_decl { + const char*name; + const char*url; }; /* small helper structs: */ typedef struct _codeandnumber { code_t*cc; - int len; + 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; @@ -68,9 +79,20 @@ typedef token_t*tokenptr_t; #include "parser.tab.h" -void syntaxerror(const char*format, ...); -void warning(const char*format, ...); +extern char*token2string(enum yytokentype nr, YYSTYPE v); +extern unsigned int as3_tokencount; + +void as3_buffer_input(void*buffer, int len); +void as3_file_input(FILE*fi); + +void tokenizer_begin_xml(); +void tokenizer_begin_xmltext(); +void tokenizer_end_xmltext(); +void tokenizer_end_xml(); #define T_EOF 0 +extern int avm2_lex(); +extern int avm2_lex_destroy(); + #endif