#include "ctrump/ast/ast.h"
#include "ctrump/common/dll.h"
#include "ctrump/io/pprint-format.h"
#include <stdio.h>
Go to the source code of this file.
Functions | |
CTRUMP_EXTDEF void | ctrump_print_translation_unit (char **ret, int *ret_length, int print_ssa_node, const struct ctrump_translation_unit *trans_unit) |
ctrump_translation_unit を文字列に変換する | |
CTRUMP_EXTDEF void | ctrump_print_translation_unit_format (char **ret, int *ret_length, int print_ssa_node, const struct ctrump_pprint_format *fmt, const struct ctrump_translation_unit *trans_unit) |
フォーマットを指定して ctrump_translation_unit を文字列に変換する | |
CTRUMP_EXTDEF void | ctrump_print_stmt (char **ret, int *ret_length, int print_ssa_node, const struct ctrump_stmt *stmt) |
フォーマットを指定して ctrump_stmt を文字列に変換する | |
CTRUMP_EXTDEF void | ctrump_print_stmt_format (char **ret, int *ret_length, int print_ssa_node, const struct ctrump_pprint_format *fmt, const struct ctrump_stmt *stmt) |
フォーマットを指定して ctrump_stmt を文字列に変換する | |
CTRUMP_EXTDEF void | ctrump_print_expr (char **ret, int *ret_length, int print_ssa_node, const struct ctrump_expr *expr) |
フォーマットを指定して ctrump_expr を文字列に変換する | |
CTRUMP_EXTDEF void | ctrump_print_expr_format (char **ret, int *ret_length, int print_ssa_node, const struct ctrump_pprint_format *fmt, const struct ctrump_expr *expr) |
フォーマットを指定して ctrump_expr を文字列に変換する | |
CTRUMP_EXTDEF void | ctrump_print_texpr_as_typename (char **ret, int *ret_length, const struct ctrump_texpr *texpr) |
型情報をtypenameで表現される文字列に変換する | |
CTRUMP_EXTDEF void | ctrump_print_texpr_as_internal (char **ret, int *ret_length, const struct ctrump_texpr *texpr) |
型情報を文字列に変換する | |
CTRUMP_EXTDEF int | ctrump_print_texpr_stderr (const struct ctrump_texpr *texpr) |
型情報を文字列に変換してstderrに変換する(for debug) | |
CTRUMP_EXTDEF void | ctrump_format_file2pprint_format (char *file_name, struct ctrump_pprint_format *fmt) |
ファイルから出力フォーマットを読み出す | |
CTRUMP_EXTDEF struct ctrump_pprint_format | ctrump_generate_pprint_format (char *file_name) |
ファイルから出力フォーマットを読み出す | |
CTRUMP_EXTDEF void | ctrump_indent (struct ctrump_translation_unit *tree, const struct ctrump_pprint_format *fmt, char *file_tmp) |
treeの中のlocationをfmtによるインデントに設定しなおす | |
CTRUMP_EXTDEF void | ctrump_prog_file2pprint_format (char *file_name, struct ctrump_pprint_format *fmt) |
Cソースからフォーマットを推測する. | |
CTRUMP_EXTDEF void | ctrump_pprint_format2format_file (const struct ctrump_pprint_format *fmt, char *fname) |
フォーマットをファイルに保存する | |
CTRUMP_EXTDEF void | ctrump_prog_file2format_file (char *prog_fname, char *format_fname) |
Cソースからフォーマットを推測してファイルに保存する. |
Definition in file pretty-printer.h.
CTRUMP_EXTDEF void ctrump_format_file2pprint_format | ( | char * | file_name, | |
struct ctrump_pprint_format * | fmt | |||
) |
ファイルから出力フォーマットを読み出す
file_name | パス文字列 : NULLだとデフォルト値 | |
fmt | フォーマット |
Definition at line 2442 of file pretty-printer.c.
References is_empty_line(), is_slasla_comment_line(), and READ_VAL_FOR_LABEL.
Referenced by ctrump_generate_pprint_format().
CTRUMP_EXTDEF struct ctrump_pprint_format ctrump_generate_pprint_format | ( | char * | file_name | ) | [read] |
ファイルから出力フォーマットを読み出す
fmt | フォーマット |
Definition at line 2522 of file pretty-printer.c.
References ctrump_format_file2pprint_format().
Referenced by error_get_error_token(), pprint0(), pprint_expr0(), and pprint_stmt().
CTRUMP_EXTDEF void ctrump_indent | ( | struct ctrump_translation_unit * | tree, | |
const struct ctrump_pprint_format * | fmt, | |||
char * | file_tmp | |||
) |
treeの中のlocationをfmtによるインデントに設定しなおす
tree | translation unit | |
fmt | フォーマット | |
file_tmp | 一時ファイル名 |
Definition at line 2556 of file pretty-printer.c.
References call_preprocessor(), ctrump_loginfo::code, ctrump_fixme, ctrump_get_default_parser_option(), ctrump_mempool_init(), ctrump_parse(), ctrump_ppc32_abi, ctrump_print_translation_unit_format(), and ctrump_type_env_init().
CTRUMP_EXTDEF void ctrump_pprint_format2format_file | ( | const struct ctrump_pprint_format * | fmt, | |
char * | fname | |||
) |
フォーマットをファイルに保存する
fmt | フォーマット | |
file_name | 出力するパス文字列 |
Definition at line 3438 of file pretty-printer.c.
References WRITE_VAL_FOR_LABEL.
Referenced by ctrump_prog_file2format_file().
CTRUMP_EXTDEF void ctrump_print_expr | ( | char ** | ret, | |
int * | ret_length, | |||
int | print_ssa_node, | |||
const struct ctrump_expr * | expr | |||
) |
フォーマットを指定して ctrump_expr を文字列に変換する
ret | 文字列を入れるポインタ 使用後はfree()すること ''終端される | |
ret_length | ''を含まない ret の長さ | |
print_ssa_node | 内部情報を出力するかどうか | |
expr | 出力するツリー |
Definition at line 1966 of file pretty-printer.c.
References printer::buffer, printer::content_len, init_printer(), print_expr(), and PRINT_STR_CONST.
Referenced by ctrump_print_expr_stderr().
CTRUMP_EXTDEF void ctrump_print_expr_format | ( | char ** | ret, | |
int * | ret_length, | |||
int | print_ssa_node, | |||
const struct ctrump_pprint_format * | fmt, | |||
const struct ctrump_expr * | expr | |||
) |
フォーマットを指定して ctrump_expr を文字列に変換する
ret | 文字列を入れるポインタ 使用後はfree()すること ''終端される | |
ret_length | ''を含まない ret の長さ | |
print_ssa_node | 内部情報を出力するかどうか | |
fmt | フォーマット | |
expr | 出力するツリー |
Definition at line 1982 of file pretty-printer.c.
References printer::buffer, printer::content_len, init_printer_with_format(), print_expr(), and PRINT_STR_CONST.
Referenced by pprint_expr0().
CTRUMP_EXTDEF void ctrump_print_stmt | ( | char ** | ret, | |
int * | ret_length, | |||
int | print_ssa_node, | |||
const struct ctrump_stmt * | stmt | |||
) |
フォーマットを指定して ctrump_stmt を文字列に変換する
ret | 文字列を入れるポインタ 使用後はfree()すること ''終端される | |
ret_length | ''を含まない ret の長さ | |
print_ssa_node | 内部情報を出力するかどうか | |
stmt | 出力するツリー |
Definition at line 1934 of file pretty-printer.c.
References printer::buffer, printer::content_len, init_printer(), print_stmt(), and PRINT_STR_CONST.
CTRUMP_EXTDEF void ctrump_print_stmt_format | ( | char ** | ret, | |
int * | ret_length, | |||
int | print_ssa_node, | |||
const struct ctrump_pprint_format * | fmt, | |||
const struct ctrump_stmt * | stmt | |||
) |
フォーマットを指定して ctrump_stmt を文字列に変換する
ret | 文字列を入れるポインタ 使用後はfree()すること ''終端される | |
ret_length | ''を含まない ret の長さ | |
print_ssa_node | 内部情報を出力するかどうか | |
fmt | フォーマット | |
stmt | 出力するツリー |
Definition at line 1949 of file pretty-printer.c.
References printer::buffer, printer::content_len, init_printer_with_format(), print_stmt(), and PRINT_STR_CONST.
Referenced by error_get_error_token(), and pprint_stmt().
CTRUMP_EXTDEF void ctrump_print_texpr_as_internal | ( | char ** | ret, | |
int * | ret_length, | |||
const struct ctrump_texpr * | texpr | |||
) |
型情報を文字列に変換する
ret | 文字列を入れるポインタ 使用後はfree()すること ''終端される | |
ret_length | ''を含まない ret の長さ | |
texpr | 出力するツリー |
Definition at line 2245 of file pretty-printer.c.
References printer::buffer, printer::content_len, init_printer(), PRINT_STR_CONST, and print_texpr().
Referenced by ctrump_print_texpr_stderr(), and texpr_str().
CTRUMP_EXTDEF void ctrump_print_texpr_as_typename | ( | char ** | ret, | |
int * | ret_length, | |||
const struct ctrump_texpr * | texpr | |||
) |
型情報をtypenameで表現される文字列に変換する
ret | 文字列を入れるポインタ 使用後はfree()すること ''終端される | |
ret_length | ''を含まない ret の長さ | |
texpr | 出力するツリー |
Definition at line 2230 of file pretty-printer.c.
References printer::buffer, printer::content_len, init_printer(), PRINT_STR_CONST, and print_texpr().
CTRUMP_EXTDEF int ctrump_print_texpr_stderr | ( | const struct ctrump_texpr * | texpr | ) |
型情報を文字列に変換してstderrに変換する(for debug)
texpr | 出力するツリー |
Definition at line 2294 of file pretty-printer.c.
References ctrump_print_texpr_as_internal().
CTRUMP_EXTDEF void ctrump_print_translation_unit | ( | char ** | ret, | |
int * | ret_length, | |||
int | print_ssa_node, | |||
const struct ctrump_translation_unit * | trans_unit | |||
) |
ctrump_translation_unit を文字列に変換する
ret | 文字列を入れるポインタ 使用後はfree()すること ''終端される | |
ret_length | ''を含まない ret の長さ | |
print_ssa_node | 内部情報を出力するかどうか | |
trans_unit | 出力するツリー |
Definition at line 1901 of file pretty-printer.c.
References printer::buffer, printer::content_len, init_printer(), pprint_tree(), and PRINT_STR_CONST.
Referenced by ctrump_print_translation_unit_stderr().
CTRUMP_EXTDEF void ctrump_print_translation_unit_format | ( | char ** | ret, | |
int * | ret_length, | |||
int | print_ssa_node, | |||
const struct ctrump_pprint_format * | fmt, | |||
const struct ctrump_translation_unit * | trans_unit | |||
) |
フォーマットを指定して ctrump_translation_unit を文字列に変換する
ret | 文字列を入れるポインタ 使用後はfree()すること ''終端される | |
ret_length | ''を含まない ret の長さ | |
print_ssa_node | 内部情報を出力するかどうか | |
fmt | フォーマット | |
trans_unit | 出力するツリー |
Definition at line 1917 of file pretty-printer.c.
References printer::buffer, printer::content_len, init_printer_with_format(), pprint_tree(), and PRINT_STR_CONST.
Referenced by ctrump_indent(), and pprint0().
CTRUMP_EXTDEF void ctrump_prog_file2format_file | ( | char * | prog_fname, | |
char * | format_fname | |||
) |
Cソースからフォーマットを推測してファイルに保存する.
prog_fname | Cソースのパス文字列 | |
format_fname | フォーマットパス文字列 |
Definition at line 3480 of file pretty-printer.c.
References ctrump_pprint_format2format_file(), and ctrump_prog_file2pprint_format().
CTRUMP_EXTDEF void ctrump_prog_file2pprint_format | ( | char * | file_name, | |
struct ctrump_pprint_format * | fmt | |||
) |
Cソースからフォーマットを推測する.
file_name | Cソースのパス文字列 | |
fmt | フォーマット |
Definition at line 3354 of file pretty-printer.c.
References call_preprocessor(), ctrump_get_default_parser_option(), ctrump_mempool_init(), ctrump_parse(), ctrump_ppc32_abi, ctrump_translation_unit2pprint_format(), ctrump_type_env_init(), init_pprint_format(), remove_comment_preprocessor(), set_indentation_before_left_brace(), set_indentation_size(), set_newline_after_right_brace(), set_newline_before_left_brace(), set_padding_around_parens(), set_space_after_comma(), set_space_after_negation(), set_space_after_semicolon(), set_space_after_type_cast(), set_space_before_braces(), set_space_before_brackets(), set_space_before_statement_parens(), and set_spaces_around_op().
Referenced by ctrump_prog_file2format_file().