X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=formats%2Fctf%2Fmetadata%2Fctf-ast.h;h=d5a0544a9d6d05f98f35dbe3bd7f68c194d9c09d;hb=5d6c80a595e870ad50118f5efe827cc6cafab5d5;hp=ef863a0f2061fe929356927ce33a089ebc4be800;hpb=51f4bb7a60d9f073553691dd0f4a52a88592c727;p=babeltrace.git diff --git a/formats/ctf/metadata/ctf-ast.h b/formats/ctf/metadata/ctf-ast.h index ef863a0f..d5a0544a 100644 --- a/formats/ctf/metadata/ctf-ast.h +++ b/formats/ctf/metadata/ctf-ast.h @@ -22,6 +22,13 @@ #include #include +// 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; @@ -34,6 +41,7 @@ enum node_type { NODE_ENV, NODE_TRACE, NODE_CLOCK, + NODE_CALLSITE, NODE_CTF_EXPRESSION, NODE_UNARY_EXPRESSION, @@ -84,6 +92,7 @@ struct ctf_node { struct bt_list_head stream; struct bt_list_head event; struct bt_list_head clock; + struct bt_list_head callsite; } root; struct { /* @@ -120,6 +129,13 @@ struct ctf_node { */ struct bt_list_head declaration_list; } clock; + struct { + /* + * Children nodes are ctf_expression, typedef, + * typealias and type_specifier_list. + */ + struct bt_list_head declaration_list; + } callsite; struct { struct bt_list_head left; /* Should be string */ struct bt_list_head right; /* Unary exp. or type */ @@ -291,5 +307,6 @@ int ctf_visitor_semantic_check(FILE *fd, int depth, struct ctf_node *node); int ctf_visitor_parent_links(FILE *fd, int depth, struct ctf_node *node); int ctf_visitor_construct_metadata(FILE *fd, int depth, struct ctf_node *node, struct ctf_trace *trace, int byte_order); +int ctf_destroy_metadata(struct ctf_trace *trace); #endif /* _CTF_AST_H */