package libsail
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Sail is a language for describing the instruction semantics of processors
Install
dune-project
Dependency
Authors
Maintainers
Sources
sail-0.20.3.tbz
sha256=0b223ed83f521ad87eaacd88186390fbaf0b944f63c6a04a3ebdf96a1ff5a60c
sha512=83298218175c7a9ff7f0a304021287a2b9c20523cb16e1b8bf0ede81fa8e256a32b309626bc1553a5b46d68e44821524c27a5de0fb2f2d7f013025f61ce76519
doc/libsail/Libsail/Chunk_ast/index.html
Module Libsail.Chunk_astSource
Module for breaking AST into syntactic chunks and interleaving comments.
This module is part of the Sail formatting system. It takes a parsed AST (not a desugared AST, as for formatting we need to preserve as much as possible), and breaks it up into more abstract syntactic elements - 'chunks' for want of a better term.
Source
and chunk = | Comment of Parse_ast.comment_type * int * int * string * bool| Doc_comment of Parse_ast.doc_comment| Spacer of bool * int| Attributes of (string * chunks option) list| Function of {id : Parse_ast.id;clause : bool;rec_opt : chunks option;typq_opt : chunks option;return_typ_opt : chunks option;funcls : (chunks * pexp_chunks) list;hanging : bool;
}| Val of {id : Parse_ast.id;extern_opt : Parse_ast.extern option;typq_opt : chunks option;typ : chunks;
}| Enum of {id : Parse_ast.id;enum_functions : chunks list option;members : chunks list;
}| Function_typ of {}| Exists of {}| Typ_quant of {}| App of Parse_ast.id * chunks list| Field of chunks * Parse_ast.id| Tuple of string * string * int * chunks list| Intersperse of string * chunks list| Atom of string| String_literal of string| Multiline_string_literal of string list| Pragma of string * string| Unary of string * chunks| Binary of chunks * string * chunks| Vector_binary of chunks * string * chunks| Assign of chunks * (string * chunks) option * string * chunks| Infix_sequence of infix_chunk list| Index of chunks * chunks| Delim of string| Opt_delim of string| Block of bool * chunks list| Binder of binder * chunks * chunks * chunks| Block_binder of binder * chunks * chunks| If_then of bool * chunks * chunks| If_then_else of if_format * chunks * chunks * chunks| Struct_update of chunks * chunks list| Match of {kind : match_kind;exp : chunks;aligned : bool;cases : pexp_chunks list;
}| Foreach of {var : chunks;decreasing : bool;from_index : chunks;to_index : chunks;step : chunks option;body : chunks;
}| While of {}| Vector_updates of chunks * chunks list| Chunks of chunks| Raw of string
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>