package dolmen
A parser library
Install
Dune Dependency
Authors
Maintainers
Sources
dolmen-v0.6.tbz
sha256=81b034da2de84da19fb6368aaa39135f6259ee2773ff08c8f03da9ceeb10748c
sha512=98786ff1cc5b0c8bc4cb2dfe756ae15556c3876a206546b04374826be7d0a422dd5526d93f09cb0ea0d4985b71c408c182a951d4df908399c7e04b17c91a7d70
doc/src/dolmen.intf/language.ml.html
Source file language.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
(* This file is free software, part of dolmen. See file "LICENSE" formore information *) (** Interface for Dolmen languages modules *) module type S = sig type file (** Meta-data about locations in files. *) type token (** The type of tokens produced by the language lexer. *) type statement (** The type of top-level directives recognised by the parser. *) module Lexer : Lex.S with type token := token (** The Lexer module for the language. *) module Parser : Parse.S with type token := token and type statement := statement (** The Parser module for the language. *) val find : ?dir:string -> string -> string option (** Helper function to find a file using a language specification. Separates directory and file because most include directives in languages are relative to the directory of the original file being processed. *) val parse_file : string -> file * statement list (** Parse the given file. @param dir: optional directory to use if the file path is relative. *) val parse_file_lazy : string -> file * statement list Lazy.t (** Parse the given file. @param dir: optional directory to use if the file path is relative. *) val parse_input : [ `Stdin | `File of string | `Contents of string * string ] -> file * (unit -> statement option) * (unit -> unit) (** Incremental parsing. Given an input to read (either a file, stdin, or some contents of the form [(filename, s)] where [s] is the contents to parse), returns a generator that will incrementally parse the statements, together with a cleanup function to close file descriptors. In case of a syntax error, the current line will be completely consumed and parsing will restart at the beginning of the next line. Useful to process input from [stdin], or even large files where it would be impractical to parse the entire file before processing it. *) end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>