2 * SPDX-License-Identifier: MIT
4 * Copyright 2011-2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
14 #ifndef YY_TYPEDEF_YY_SCANNER_T
15 # define YY_TYPEDEF_YY_SCANNER_T
16 typedef void *yyscan_t;
19 struct ctf_scanner_scope;
20 struct ctf_scanner_scope
22 struct ctf_scanner_scope *parent;
28 explicit ctf_scanner(const bt2c::Logger& parentLogger) :
29 logger {parentLogger, "PLUGIN/CTF/META/PARSER"}
35 ctf_ast *ast = nullptr;
36 ctf_scanner_scope root_scope {};
37 ctf_scanner_scope *cs = nullptr;
38 struct objstack *objstack = nullptr;
41 struct ctf_scanner *ctf_scanner_alloc(const bt2c::Logger& parentLogger);
43 void ctf_scanner_free(struct ctf_scanner *scanner);
45 int ctf_scanner_append_ast(struct ctf_scanner *scanner, FILE *input);
47 static inline struct ctf_ast *ctf_scanner_get_ast(struct ctf_scanner *scanner)
52 int is_type(struct ctf_scanner *scanner, const char *id);
54 #endif /* _CTF_SCANNER_H */