B0_file
b0 file source and expansion.
val loc : smeta -> B0_text.Tloc.t
loc m
is the text source location of i
.
val loc_errf :
smeta ->
('a, Stdlib.Format.formatter, unit, string) Stdlib.format4 ->
'a
loc_errf smeta fmt
formats an error for the location in smeta
. The result should be printed as is on the TTY.
type b0_boot = (string * smeta) list
The type for @@@B0.boot
directive data. The list of strings.
type b0_include = (string * smeta) * (B0_std.Fpath.t * smeta)
The type for @@@B0.include
directive data. The scope name and the included file.
type require = B0_ocaml.Libname.t * smeta
The type for #require directive data. The library name.
type mod_use = B0_std.Fpath.t * smeta
The type for #mod_use directive data. The path to the module source.
val of_string : file:B0_std.Fpath.t -> string -> (t, string) Stdlib.result
of_string ~file s
parses a b0 file from s
. file
is the file used for locations, it must be absolute.
val file : t -> B0_std.Fpath.t
file f
is the b0 file's file.
val b0_includes : t -> b0_include list
b0_includes f
are the @@@B0.includes
directives. The scope name and the included file.
val pp_dump : t B0_std.Fmt.t
pp_dump
dumps the parsed b0 file.
val pp_locs : t B0_std.Fmt.t
pp_locs
dumps the source text locations of s
.
The type for sources with expanded expanded directives and scoping instructions in place.
val expanded_file_manifest : expanded -> B0_std.Fpath.t list
expanded_file_manifest e
are all the files that contributed to the expansion of e
(including the unexpanded source).
expanded_b0_boots e
are all the @@@B0.boot
s found during expansion.
val expanded_b0_includes : expanded -> b0_include list
expanded_b0_includes e
are the expanded file includes whose scope names have been qualified.
expanded_requires e
are all the requires that were found. This has duplicates.
val expanded_src : expanded -> string
expanded_src e
is the expanded source with B0_scope
ing and mod_uses spliced in instructions and the call to B0_driver.main
.