OpamParserTypes.FullPosOpamParserTypes transitional module with full position types
Full position
with_pos type, used for all units, embedding the element pelem ans its position pos
type relop_kind = reloptype relop = relop_kind with_postype logop_kind = logoptype logop = logop_kind with_postype pfxop_kind = pfxoptype pfxop = pfxop_kind with_postype env_update_op_kind = env_update_optype env_update_op = env_update_op_kind with_postype value_kind = | Bool of bool | (*
|
| Int of int | (*
|
| String of string | (*
|
| Relop of relop * value * value | (* Relational operators with two values (e.g. |
| Prefix_relop of relop * value | (* Relational operators in prefix position (e.g. |
| Logop of logop * value * value | (* Logical operators *) |
| Pfxop of pfxop * value | (* Prefix operators *) |
| Ident of string | (* Identifiers *) |
| List of value list with_pos | (* Lists of values ( |
| Group of value list with_pos | (* Groups of values ( |
| Option of value * value list with_pos | (* Value with optional list ( |
| Env_binding of value * env_update_op * value | (* Environment variable binding ( |
Base values
and value = value_kind with_postype opamfile_section = {section_kind : string with_pos; | (* Section kind (e.g. |
section_name : string with_pos option; | (* Section name (e.g. |
section_items : opamfile_item list with_pos; | (* Content of the section *) |
}An opamfile section
and opamfile_item_kind = | Section of opamfile_section | (* e.g. |
| Variable of string with_pos * value | (* e.g. |
An opamfile is composed of sections and variable definitions
and opamfile_item = opamfile_item_kind with_postype opamfile = {file_contents : opamfile_item list; | (* Content of the file *) |
file_name : file_name; | (* Name of the disk file this record was loaded from *) |
}A file is a list of items and the filename