module FC_file: File
type
file =
| |
NeedCPP of string * string |
| |
NoCPP of string |
| |
External of string * string |
include Datatype.S
val new_file_type : string -> (string -> Cil_types.file * Cabs.file) -> unit
new_file_type suffix func funcname
registers a new type of files (with
corresponding suffix) as recognized by Frama-C through func
.
val get_suffixes : unit -> string list
Since Boron-20100401
Returns the list of accepted suffixes of input source files
val get_name : t -> string
File name.
val get_preprocessor_command : unit -> string
Return the preprocessor command to use.
val pre_register : t -> unit
Register some file as source file before command-line files
val get_all : unit -> t list
Return the list of toplevel files.
val from_filename : ?cpp:string -> string -> t
Build a file from its name. The optional argument is the preprocessor
command. Default is !get_preprocessor_command ()
.
Initializers
class check_file : string ->
Visitor.frama_c_visitor
val prepare_from_c_files : unit -> unit
Initialize the AST of the current project according to the current
filename list.
Raises File_types.Bad_Initialization
if called more than once.
val init_from_c_files : t list -> unit
Initialize the cil file representation of the current project.
Should be called at most once per project.
Raises File_types.Bad_Initialization
if called more than once.
Consult the Plugin Development Guide for additional details.
val init_project_from_cil_file : Project.t -> Cil_types.file -> unit
Initialize the cil file representation with the given file for the
given project from the current one.
Should be called at most once per project.
Raises File_types.Bad_Initialization
if called more than once.
Consult the Plugin Development Guide for additional details.
val create_project_from_visitor : string -> (Project.t -> Visitor.frama_c_visitor) -> Project.t
Return a new project with a new cil file representation by visiting the
file of the current project.
The visitor is responsible to avoid sharing between old file and new
file (i.e. it should use
Cil.copy_visit
at some point).
Since Beryllium-20090601-beta1
Raises File_types.Bad_Initialization
if called more than once.
Consult the Plugin Development Guide for additional details.
val init_from_cmdline : unit -> unit
Initialize the cil file representation with the file given on the
command line.
Should be called at most once per project.
Raises File_types.Bad_Initialization
if called more than once.
Consult the Plugin Development Guide for additional details.
Pretty printing
val pretty_ast : ?prj:Project.t -> ?fmt:Format.formatter -> unit -> unit
Print the project CIL file on the given Formatter.
The default project is the current one.
The default formatter is Parameters.CodeOutput.get_fmt ()
.
Raises File_types.Bad_Initialization
if the file is no initialized.