package mopsa
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
Module Core.Location
Positions and ranges
Positions
=============
val get_pos_file : pos -> stringval get_pos_line : pos -> intval get_pos_column : pos -> intval mk_pos : string -> int -> int -> posReturn the relative path of `file` w.r.t. the current working directory
Extended source locations, decorated with a stack of positions. It can be used to distinguish between different use of the same lexical token. E.g., in C, it tracks macro argument expansion.
Ranges
==========
Range tags can be used to annotate AST nodes added by the abstract domains that are not textually present in the source files.
val mk_string_tag : ('a, Format.formatter, unit, range_tag) format4 -> 'aval tag_range : range -> ('a, Format.formatter, unit, range) format4 -> 'aTag a range with a (formatted) annotation.
val fresh_range_counter : int refval mk_fresh_range : unit -> rangeval mk_program_range : string list -> rangeval get_range_file : range -> stringval get_range_relative_file : range -> stringval get_range_line : range -> intval get_range_column : range -> intval is_orig_range : range -> boolval is_program_range : range -> boolval match_range_file : string -> range -> boolval match_range_line : int -> range -> boolval from_lexing_pos : Lexing.position -> posval from_lexing_range : Lexing.position -> Lexing.position -> rangeRange annotations
=====================
val with_range : 'a -> range -> 'a with_rangeval get_content : 'a with_range -> 'aval get_range : 'a with_range -> rangeval bind_range : 'a with_range -> ?range:??? -> ('a -> 'b) -> 'b with_rangeval bind_pair_range : 'a with_range -> ('a -> 'b * 'c) -> 'b with_range * 'cval compare_with_range :
('a -> 'b -> int) ->
'a with_range ->
'b with_range ->
intPretty printers
===================
val pp_position : Format.formatter -> pos -> unitval pp_relative_position : Format.formatter -> pos -> unitval pp_position_stack :
(Format.formatter -> 'a -> unit) ->
Format.formatter ->
'a list ->
unitval pp_eposition : Format.formatter -> epos -> unitval pp_relative_eposition : Format.formatter -> epos -> unitval pp_range : Format.formatter -> range -> unitval pp_relative_range : Format.formatter -> range -> unit sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page