OpamParserTypes.FullPos
OpamParserTypes
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 = relop
type relop = relop_kind with_pos
type logop_kind = logop
type logop = logop_kind with_pos
type pfxop_kind = pfxop
type pfxop = pfxop_kind with_pos
type env_update_op_kind = env_update_op
type env_update_op = env_update_op_kind with_pos
type 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_pos
type 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_pos
type 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