00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00035 #ifndef CTRUMP_PPRINT_PRETTY_PRINTER_H
00036 #define CTRUMP_PPRINT_PRETTY_PRINTER_H
00037
00038 #include "ctrump/ast/ast.h"
00039 #include "ctrump/common/dll.h"
00040 #include "ctrump/io/pprint-format.h"
00041 #include <stdio.h>
00042
00043 #ifdef __cplusplus
00044 extern "C" {
00045 #endif
00046
00055 CTRUMP_EXTDEF void ctrump_print_translation_unit(char **ret,
00056 int *ret_length,
00057 int print_ssa_node,
00058 const struct ctrump_translation_unit *trans_unit);
00059
00069 CTRUMP_EXTDEF void ctrump_print_translation_unit_format(char **ret,
00070 int *ret_length,
00071 int print_ssa_node,
00072 const struct ctrump_pprint_format *fmt,
00073 const struct ctrump_translation_unit *trans_unit);
00074
00083 CTRUMP_EXTDEF void ctrump_print_stmt(char **ret,
00084 int *ret_length,
00085 int print_ssa_node,
00086 const struct ctrump_stmt *stmt);
00087
00088
00098 CTRUMP_EXTDEF void ctrump_print_stmt_format(char **ret,
00099 int *ret_length,
00100 int print_ssa_node,
00101 const struct ctrump_pprint_format *fmt,
00102 const struct ctrump_stmt *stmt);
00103
00112 CTRUMP_EXTDEF void ctrump_print_expr(char **ret,
00113 int *ret_length,
00114 int print_ssa_node,
00115 const struct ctrump_expr *expr);
00116
00126 CTRUMP_EXTDEF void ctrump_print_expr_format(char **ret,
00127 int *ret_length,
00128 int print_ssa_node,
00129 const struct ctrump_pprint_format *fmt,
00130 const struct ctrump_expr *expr);
00131
00139 CTRUMP_EXTDEF void ctrump_print_texpr_as_typename(char **ret,
00140 int *ret_length,
00141 const struct ctrump_texpr *texpr);
00142
00150 CTRUMP_EXTDEF void ctrump_print_texpr_as_internal(char **ret,
00151 int *ret_length,
00152 const struct ctrump_texpr *texpr);
00153
00158 CTRUMP_EXTDEF int ctrump_print_texpr_stderr(const struct ctrump_texpr *texpr);
00159
00165 CTRUMP_EXTDEF void ctrump_format_file2pprint_format(char *file_name,
00166 struct ctrump_pprint_format *fmt);
00167
00172 CTRUMP_EXTDEF struct ctrump_pprint_format ctrump_generate_pprint_format(char *file_name);
00173
00180 CTRUMP_EXTDEF void ctrump_indent(struct ctrump_translation_unit *tree,
00181 const struct ctrump_pprint_format *fmt,
00182 char *file_tmp);
00183
00189 CTRUMP_EXTDEF void ctrump_prog_file2pprint_format(char *file_name,
00190 struct ctrump_pprint_format *fmt);
00191
00197 CTRUMP_EXTDEF void ctrump_pprint_format2format_file(const struct ctrump_pprint_format *fmt,
00198 char *fname);
00199
00205 CTRUMP_EXTDEF void ctrump_prog_file2format_file(char *prog_fname,
00206 char *format_fname);
00207
00208 #ifdef __cplusplus
00209 }
00210 #endif
00211
00212 #endif