Syntactic metadata
val loc : smeta -> B00_serialk_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.
B0 files sources
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.
val of_string : file:B00_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 -> 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
.
Expanded sources
The type for sources with expanded expanded directives and scoping instructions in place.
val expand : t -> (expanded, string) Stdlib.result
expand f
expands f
's includes.
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 instructions and the call to B0_driver.main
.