#include "ctf-parser.h"
#include "ctf-ast.h"
-#define printf_dbg(fmt, args...) fprintf(stderr, "%s: " fmt, __func__, ## args)
+#define fprintf_dbg(fd, fmt, args...) fprintf(fd, "%s: " fmt, __func__, ## args)
-static void print_tabs(FILE *fd, int depth)
+static
+void print_tabs(FILE *fd, int depth)
{
int i;
fprintf(fd, "\t");
}
+static
int ctf_visitor_print_unary_expression(FILE *fd, int depth, struct ctf_node *node)
{
int ret = 0;
break;
case UNARY_SBRAC:
print_tabs(fd, depth);
- fprintf(fd, "<unary_expression_sbrac>");
+ fprintf(fd, "<unary_expression_sbrac>\n");
ret = ctf_visitor_print_unary_expression(fd, depth + 1,
node->u.unary_expression.u.sbrac_exp);
if (ret)
return ret;
print_tabs(fd, depth);
- fprintf(fd, "</unary_expression_sbrac>");
+ fprintf(fd, "</unary_expression_sbrac>\n");
break;
case UNARY_NESTED:
print_tabs(fd, depth);
- fprintf(fd, "<unary_expression_nested>");
+ fprintf(fd, "<unary_expression_nested>\n");
ret = ctf_visitor_print_unary_expression(fd, depth + 1,
node->u.unary_expression.u.nested_exp);
if (ret)
return ret;
print_tabs(fd, depth);
- fprintf(fd, "</unary_expression_nested>");
+ fprintf(fd, "</unary_expression_nested>\n");
break;
case UNARY_UNKNOWN:
return 0;
}
+static
int ctf_visitor_print_type_specifier(FILE *fd, int depth, struct ctf_node *node)
{
print_tabs(fd, depth);
fprintf(fd, "bool");
break;
case TYPESPEC_COMPLEX:
- fprintf(fd, "complex");
+ fprintf(fd, "_Complex");
+ break;
+ case TYPESPEC_IMAGINARY:
+ fprintf(fd, "_Imaginary");
break;
case TYPESPEC_CONST:
fprintf(fd, "const");
return 0;
}
+static
int ctf_visitor_print_type_declarator(FILE *fd, int depth, struct ctf_node *node)
{
int ret = 0;