package frama-c
Install
Dune Dependency
Authors
-
MMichele Alberti
-
TThibaud Antignac
-
GGergö Barany
-
PPatrick Baudin
-
TThibaut Benjamin
-
AAllan Blanchard
-
LLionel Blatter
-
FFrançois Bobot
-
RRichard Bonichon
-
QQuentin Bouillaguet
-
DDavid Bühler
-
ZZakaria Chihani
-
LLoïc Correnson
-
JJulien Crétin
-
PPascal Cuoq
-
ZZaynah Dargaye
-
BBasile Desloges
-
JJean-Christophe Filliâtre
-
PPhilippe Herrmann
-
MMaxime Jacquemin
-
FFlorent Kirchner
-
AAlexander Kogtenkov
-
TTristan Le Gall
-
JJean-Christophe Léchenet
-
MMatthieu Lemerre
-
DDara Ly
-
DDavid Maison
-
CClaude Marché
-
AAndré Maroneze
-
TThibault Martin
-
FFonenantsoa Maurica
-
MMelody Méaulle
-
BBenjamin Monate
-
YYannick Moy
-
AAnne Pacalet
-
VValentin Perrelle
-
GGuillaume Petiot
-
DDario Pinto
-
VVirgile Prevosto
-
AArmand Puccetti
-
FFélix Ridoux
-
VVirgile Robles
-
MMuriel Roger
-
JJulien Signoles
-
NNicolas Stouls
-
KKostyantyn Vorobyov
-
BBoris Yakobowski
Maintainers
Sources
sha256=5b13574a16a58971c27909bee94ae7f37b17d897852b40c768a3d4e2e09e39d2
doc/frama-c.kernel/Frama_c_kernel/Filepath/index.html
Module Frama_c_kernel.Filepath
Functions manipulating filepaths. In these functions, references to the current working directory refer to the result given by function Sys.getcwd.
NOTE: Prefer using the Normalized
module whenever possible.
val normalize : ?existence:existence -> ?base_name:string -> string -> string
Returns an absolute path leading to the given file. The result is similar to realpath --no-symlinks
. Some special behaviors include:
normalize ""
(empty string) returns "" (realpath returns an error);normalize
preserves multiple sequential '/' characters, unlikerealpath
;- non-existing directories in
realpath
may lead to ENOTDIR errors, butnormalize
may accept them.
relativize base_name file_name
returns a relative path name of file_name
w.r.t. base_name
, if base_name
is a prefix of file
; otherwise, returns file_name
unchanged. The default base name is the current working directory name.
module Normalized : sig ... end
The Normalized
module is simply a wrapper that ensures that paths are always normalized. Used by Datatype.Filepath
.
val is_relative : ?base_name:Normalized.t -> Normalized.t -> bool
returns true if the file is relative to base
(that is, it is prefixed by base_name
), or to the current working directory if no base is specified.
val add_symbolic_dir : string -> Normalized.t -> unit
add_symbolic_dir name dir
indicates that the (absolute) path dir
must be replaced by name
when pretty-printing paths. This alias ensures that system-dependent paths such as FRAMAC_SHARE are printed identically in different machines.
val add_symbolic_dir_list : string -> Normalized.t list -> unit
val all_symbolic_dirs : unit -> (string * Normalized.t) list
Returns the list of symbolic dirs added via add_symbolic_dir
, plus preexisting ones (e.g. FRAMAC_SHARE), as pairs (name, dir).
Describes a position in a source file.
val pp_pos : Format.formatter -> position -> unit
Pretty-prints a position, in the format file:line.
Return the current working directory. Currently uses the environment's PWD instead of Sys.getcwd () because OCaml has no function in its stdlib to resolve symbolic links (e.g. realpath) for a given path. 'getcwd' always resolves them, but if the user supplies a path with symbolic links, this may cause issues. Instead of forcing the user to always provide resolved paths, we currently choose to never resolve them. We only resort to getcwd() to avoid issues when PWD does not exist. Note that this function does not validate that PWD has not been tampered with.