remove namespaces from tokens again when they go out of scope
[swftools.git] / lib / as3 / tokenizer.h
index 44ffd17..914ba0c 100644 (file)
@@ -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 {
@@ -51,6 +54,14 @@ 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 {
@@ -61,6 +72,10 @@ 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 +83,23 @@ typedef token_t*tokenptr_t;
 
 #include "parser.tab.h"
 
-void syntaxerror(const char*format, ...);
-void warning(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);
+
+void tokenizer_register_namespace(const char*id);
+void tokenizer_unregister_namespace(const char*id);
 
 #define T_EOF 0
 
+extern int avm2_lex();
+extern int avm2_lex_destroy();
+
 #endif