Module Stream.Event

Definition of an individual event during a processing stream

type pos = {
start_mark : Mark.t;
end_mark : Mark.t;
}

Delimited positioning information for an event in the document.

val sexp_of_pos : pos -> Ppx_sexp_conv_lib.Sexp.t
val pos_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> pos
type t =
| Stream_start of {
encoding : encoding;
}
| Document_start of {
version : version option;
implicit : bool;
}
| Document_end of {
implicit : bool;
}
| Mapping_start of {
anchor : string option;
tag : string option;
implicit : bool;
style : layout_style;
}
| Mapping_end
| Stream_end
| Scalar of scalar
| Sequence_start of {
anchor : string option;
tag : string option;
implicit : bool;
style : layout_style;
}
| Sequence_end
| Alias of {
anchor : string;
}
| Nothing

t represents a single event in a YAML processing stream.

These may be produced by a parser or consumed by an emitter. A valid sequence of events should obey the grammar:

  • stream ::= STREAM-START document* STREAM-END
  • document ::= DOCUMENT-START node DOCUMENT-END
  • node ::= ALIAS | SCALAR | sequence | mapping
  • sequence ::= SEQUENCE-START node* SEQUENCE-END
  • mapping ::= MAPPING-START (node node)* MAPPING-END
include Ppx_sexp_conv_lib.Sexpable.S with type t := t
val t_of_sexp : Sexplib0.Sexp.t -> t
val sexp_of_t : t -> Sexplib0.Sexp.t