X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fas3%2Ftokenizer.h;h=64ad39fc25d22d69f2ff854f0172618c0b420989;hb=71c8242a8242eeb6e8b6dcf57239550a6f35c88a;hp=fb034e7fd8333e266aca4dac9e5f25aafef8a1c4;hpb=499c73edd0924ce0d7ddbdc0c6af6a5536457021;p=swftools.git diff --git a/lib/as3/tokenizer.h b/lib/as3/tokenizer.h index fb034e7..64ad39f 100644 --- a/lib/as3/tokenizer.h +++ b/lib/as3/tokenizer.h @@ -20,24 +20,85 @@ #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(modifiers); +DECLARE(namespace_decl); +DECLARE_LIST(namespace_decl); +DECLARE_LIST(typedcode); -struct _token { - int type; - char*text; - token_list_t*tokens; +struct _param { + char*name; + classinfo_t*type; + constant_t*value; }; +struct _params { + param_list_t*list; + 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 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; -#define YYSTYPE tokenptr_t +extern trie_t*active_namespaces; #include "parser.tab.h" -void syntaxerror(const char*format, ...); +extern int as3_verbosity; +extern int as3_pass; +extern unsigned int as3_tokencount; +#define syntaxerror as3_error +void as3_error(const char*format, ...); +void as3_warning(const char*format, ...); +void as3_softwarning(const char*format, ...); + +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