#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().
1.5.6