Beloch.AstAbstract syntax for Beloch. Spans point into the source for diagnostics.
type export_entry = {ekind : [ `Point | `Line ];esrc : string;eshadow : bool;erename : string option;espan : Error.span;}and line_operand = | LNamed of crease_ref| LFilter of line_operand * filter_elt * Error.span| LUnion of line_operand list * Error.span| LSelect of selector list * Error.spanand alignment_kind = | AlOnto of align_object * align_object| AlThrough of point_operand| AlPerp of line_operandand alignment = {al_fold_line : string option;al_fold_line2 : string option;al_kind : alignment_kind;al_span : Error.span;}and construction = {c_fold_lines : string list;c_alignments : alignment list;c_toward : point_operand option;c_span : Error.span;}type point_expr = | PsExpr of point_operand| PsFree of {line : line_operand;anchor : point_operand;t : Num.t option;span : Error.span;}type raw_item = | RiConstruction of construction * Error.span| RiLine of line_operand * mv_constraint * Error.span| RiMoving of flap_arg * Error.span| RiUpTo of flap_arg * Error.span| RiLetter of mv_constraint * Error.span| RiPlace of place_dir * flap_arg * Error.span| RiOutside of Error.span| RiOn of flap_arg * Error.span| RiExtent of extent * Error.span| RiOrder of flap_arg * flap_arg * Error.span| RiStaying of flap_arg * Error.span| RiSelection of point_operand * Error.spantype annot_value = | AvPoint of point_operand| AvLine of line_operand| AvFlap of flap_operand| AvConstruction of construction| AvText of string| AvNumber of Q.t| AvWord of stringtype annotation = {a_ns : string option;a_key : string;a_args : annot_arg list;a_span : Error.span;}type stmt = | Annotation of annotation| BindLine of string * construction * Error.span| Mark of output * markable * extent * direction * flap_arg option * Error.span| Fold of output * markable * fold_spec * Error.span| Reverse of output * markable * reverse_spec * Error.span| BindBundle of string * line_operand * Error.span| Point of string * point_expr * Error.span| Flip of Error.span| Def of string * param list * stmt list * Error.span| Apply of string option * string * arg list * Error.span| Export of export_entry list option * string * Error.span| Flatten of output
* collapse_elem list
* (flap_arg * flap_arg) list
* flap_arg option
* point_operand option
* Error.spantype program = stmt list