summaryrefslogtreecommitdiffstats
path: root/dimension/tokenize.h
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@gmail.com>2010-02-01 21:27:12 -0500
committerTavian Barnes <tavianator@gmail.com>2010-02-01 21:27:12 -0500
commit40752ebfb3ec8355b4f17681f8aab0ca7f6992f4 (patch)
treed5c1a693cc5468e2d1688fc5ee49e1ea6e7e06e1 /dimension/tokenize.h
parent58634f3410db1ff16f6e21d9d0e1fcfaa17b2453 (diff)
downloaddimension-40752ebfb3ec8355b4f17681f8aab0ca7f6992f4.tar.xz
Implement #declare, #local, and #undef in middle tier.
Oh God this is ugly...
Diffstat (limited to 'dimension/tokenize.h')
-rw-r--r--dimension/tokenize.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/dimension/tokenize.h b/dimension/tokenize.h
index 801092a..6dafc97 100644
--- a/dimension/tokenize.h
+++ b/dimension/tokenize.h
@@ -46,14 +46,17 @@ struct dmnsn_token {
int line, col;
};
-/* Set up the scanner */
-int dmnsn_yylex_init(void **scannerp);
-void dmnsn_yyset_in(FILE *file, void *scanner);
-int dmnsn_yylex_destroy(void *scanner);
+/* Scanner manipulation */
+int dmnsn_yylex_init(void **scannerp);
+void dmnsn_yyset_in(FILE *file, void *scanner);
+int dmnsn_yylex_destroy(void *scanner);
+void *dmnsn_yyget_extra(void *scanner);
+void dmnsn_yyset_extra(void *arbitrary_data, void *scanner);
/* Actual lexer */
int dmnsn_yylex(dmnsn_parse_item *lvalp, dmnsn_parse_location *llocp,
- const char *filename, void *yyscanner);
+ const char *filename, dmnsn_symbol_table *symtable,
+ void *yyscanner);
/* For debugging - returns an array of raw tokens */
dmnsn_array *dmnsn_tokenize(FILE *file, const char *filename);