summaryrefslogtreecommitdiff
path: root/src/webidl-ast.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/webidl-ast.h')
-rw-r--r--src/webidl-ast.h28
1 files changed, 27 insertions, 1 deletions
diff --git a/src/webidl-ast.h b/src/webidl-ast.h
index f56c5d9..f49268a 100644
--- a/src/webidl-ast.h
+++ b/src/webidl-ast.h
@@ -1,4 +1,30 @@
+enum webidl_node_type {
+ WEBIDL_NODE_TYPE_ROOT,
+ WEBIDL_NODE_TYPE_INTERFACE,
+};
+
+struct webidl_ifmember {
+ char *name;
+};
-struct ifmembers_s {
+struct webidl_if {
char *name;
+ struct webidl_ifmember* members;
};
+
+
+struct webidl_node {
+ enum webidl_node_type type;
+ union {
+ struct webidl_node *nodes;
+ struct webidl_if interface;
+ } data;
+};
+
+
+extern struct webidl_node *webidl_root;
+
+/** parse web idl file */
+int webidl_parsefile(char *filename);
+
+struct webidl_node *webidl_new_node(enum webidl_node_type type);