ctrump/io/pretty-printer.h File Reference

Cソースプリンタ. More...

#include "ctrump/ast/ast.h"
#include "ctrump/common/dll.h"
#include "ctrump/io/pprint-format.h"
#include <stdio.h>

Include dependency graph for pretty-printer.h:

This graph shows which files directly or indirectly include this file:

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ソースからフォーマットを推測してファイルに保存する.


Detailed Description

Cソースプリンタ.

Definition in file pretty-printer.h.


Function Documentation

CTRUMP_EXTDEF void ctrump_format_file2pprint_format ( char *  file_name,
struct ctrump_pprint_format fmt 
)

ファイルから出力フォーマットを読み出す

Parameters:
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]

ファイルから出力フォーマットを読み出す

Parameters:
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によるインデントに設定しなおす

Parameters:
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 
)

フォーマットをファイルに保存する

Parameters:
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 を文字列に変換する

Parameters:
ret 文字列を入れるポインタ 使用後はfree()すること ''終端される
ret_length ''を含まない ret の長さ
print_ssa_node 内部情報を出力するかどうか
expr 出力するツリー
Note:
return value should free()

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 を文字列に変換する

Parameters:
ret 文字列を入れるポインタ 使用後はfree()すること ''終端される
ret_length ''を含まない ret の長さ
print_ssa_node 内部情報を出力するかどうか
fmt フォーマット
expr 出力するツリー
Note:
return value should free()

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 を文字列に変換する

Parameters:
ret 文字列を入れるポインタ 使用後はfree()すること ''終端される
ret_length ''を含まない ret の長さ
print_ssa_node 内部情報を出力するかどうか
stmt 出力するツリー
Note:
return value should free()

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 を文字列に変換する

Parameters:
ret 文字列を入れるポインタ 使用後はfree()すること ''終端される
ret_length ''を含まない ret の長さ
print_ssa_node 内部情報を出力するかどうか
fmt フォーマット
stmt 出力するツリー
Note:
return value should free()

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 
)

型情報を文字列に変換する

Parameters:
ret 文字列を入れるポインタ 使用後はfree()すること ''終端される
ret_length ''を含まない ret の長さ
texpr 出力するツリー
Note:
return value should free()

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で表現される文字列に変換する

Parameters:
ret 文字列を入れるポインタ 使用後はfree()すること ''終端される
ret_length ''を含まない ret の長さ
texpr 出力するツリー
Note:
return value should free()

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)

Parameters:
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 を文字列に変換する

Parameters:
ret 文字列を入れるポインタ 使用後はfree()すること ''終端される
ret_length ''を含まない ret の長さ
print_ssa_node 内部情報を出力するかどうか
trans_unit 出力するツリー
Note:
return value should free()

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 を文字列に変換する

Parameters:
ret 文字列を入れるポインタ 使用後はfree()すること ''終端される
ret_length ''を含まない ret の長さ
print_ssa_node 内部情報を出力するかどうか
fmt フォーマット
trans_unit 出力するツリー
Note:
return value should free()

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ソースからフォーマットを推測してファイルに保存する.

Parameters:
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 
)


Generated on Tue Mar 31 20:19:25 2009 for ctrump by  doxygen 1.5.6