#define _CTF_PARSER_H
#include <helpers/list.h>
+#include <stdio.h>
+#include <glib.h>
+
+// the parameter name (of the reentrant 'yyparse' function)
+// data is a pointer to a 'SParserParam' structure
+//#define YYPARSE_PARAM scanner
+
+// the argument for the 'yylex' function
+#define YYLEX_PARAM ((struct ctf_scanner *) scanner)->scanner
+
+struct ctf_node;
+struct ctf_parser;
enum node_type {
NODE_UNKNOWN,
NR_NODE_TYPES,
};
-struct ctf_node;
-
struct ctf_node {
enum node_type type;
char *str;
struct cds_list_head gc;
};
-int is_type(const char *id);
+struct scope;
+struct scope {
+ struct scope *parent;
+ GHashTable *types;
+};
+
+struct ctf_ast {
+ struct ctf_node root;
+};
#endif /* _CTF_PARSER_H */