diff options
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); |