Implment #define
By using the recently-imported hash_table implementation.
diff --git a/glcpp.h b/glcpp.h
index 485387b..5278e1b 100644
--- a/glcpp.h
+++ b/glcpp.h
@@ -24,10 +24,27 @@
#ifndef GLCPP_H
#define GLCPP_H
-/* Generated by glcpp-lex.l to glcpp-lex.c */
+#include "hash_table.h"
+#define YYSTYPE char *
#define yyscan_t void*
+typedef struct {
+ yyscan_t scanner;
+ struct hash_table *defines;
+} glcpp_parser_t;
+
+void
+glcpp_parser_init (glcpp_parser_t *parser);
+
+int
+glcpp_parser_parse (glcpp_parser_t *parser);
+
+void
+glcpp_parser_fini (glcpp_parser_t *parser);
+
+/* Generated by glcpp-lex.l to glcpp-lex.c */
+
int
yylex_init (yyscan_t *scanner);
@@ -40,6 +57,6 @@
/* Generated by glcpp-parse.y to glcpp-parse.c */
int
-yyparse (void *scanner);
+yyparse (glcpp_parser_t *parser);
#endif