diff options
author | Vincent Sanders <vince@kyllikki.org> | 2012-09-06 02:59:31 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2012-09-06 02:59:31 +0100 |
commit | c1db25526a6990263e9703634401178975cf9d61 (patch) | |
tree | ba737f0e32cfa287c5f4a746fa0679924adaf80a /src/webidl-ast.h | |
parent | da234bc3e4e44693a6464140d2dee91a948a6145 (diff) | |
download | nsgenbind-c1db25526a6990263e9703634401178975cf9d61.tar.gz nsgenbind-c1db25526a6990263e9703634401178975cf9d61.tar.bz2 |
initial output generation
Diffstat (limited to 'src/webidl-ast.h')
-rw-r--r-- | src/webidl-ast.h | 28 |
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); |