B0_file
B0 file source and expansion.
val loc : smeta -> B00_serialk_text.Tloc.t
loc m
is the text source location of i
.
val loc_errf : smeta -> ('a, Format.formatter, unit, string) 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) * (B00_std.Fpath.t * smeta)
The type for @@@B0.include
directive data. The scope name and the included file.
type require = B00_ocaml.Lib.Name.t * smeta
The type for #require directive data. The library name.
type mod_use = B00_std.Fpath.t * smeta
The type for #mod_use directive data. The path to the module source.
val of_string : file:B00_std.Fpath.t -> string -> (t, string) 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 -> B00_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 B00_std.Fmt.t
pp_dump
dumps the parsed B0 file.
val pp_locs : t B00_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 -> B00_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_def.Scope
ing and mod_uses spliced in instructions and the call to B0_driver.main
.