summaryrefslogtreecommitdiff
path: root/src/webidl-ast.h
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2012-09-06 02:59:31 +0100
committerVincent Sanders <vince@kyllikki.org>2012-09-06 02:59:31 +0100
commitc1db25526a6990263e9703634401178975cf9d61 (patch)
treeba737f0e32cfa287c5f4a746fa0679924adaf80a /src/webidl-ast.h
parentda234bc3e4e44693a6464140d2dee91a948a6145 (diff)
downloadnsgenbind-c1db25526a6990263e9703634401178975cf9d61.tar.gz
nsgenbind-c1db25526a6990263e9703634401178975cf9d61.tar.bz2
initial output generation
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);