package forester
A tool for tending mathematical forests
Install
Dune Dependency
Authors
Maintainers
Sources
5.0.tar.gz
md5=24f4aed96a8b8af33aba13fba66f1b37
sha512=d36b896aca11858bb4a00fc704c16cc27a1f197bdb3e479d6132fd70f70d67d7158096285cb0b6fb00db14417f0f822cc27fe65d82f0971e42378fd8271ce573
doc/src/forester.compiler/Forester_compiler.ml.html
Source file Forester_compiler.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 53 54 55 56 57 58 59 60 61 62 63 64 65 66
(* * SPDX-FileCopyrightText: 2024 The Forester Project Contributors * * SPDX-License-Identifier: GPL-3.0-or-later *) (** The forester compiler*) (** {1 Base types }*) module Xml_forester = Xml_forester (** Definition of the forester XML schema. This is the compilation target.*) (** {1 Compilation phases}*) (** {2 Parsing} The lexer and parser are implemented with {{: https://ocaml.org/manual/5.3/lexyacc.html} ocamllex} and {{: https://gallium.inria.fr/~fpottier/menhir/} menhir}*) module Parse = Parse module Imports = Imports (** Create {{!Forester_core.Forest_graph.t}import and dependency graphs}. *) module Expand = Expand (** Transform {!Code.tree}s into {!Syn.tree}s by {{!Forester_core.Forest_graph.topo_fold}folding} over the {{!Forester_core.Forest_graph}import graph.}*) module Eval = Eval (** Transform {!Syn.tree}s into {{!Forester_core.Types.article}[articles]}.*) (** {1 High-level architecture} The compiler needs to support both batch-style and incremental compilation. To this end, we define a {{!State.t}state type} and {{!Phases}transition functions} that act on this state. In the future, we want to record more knowledge in {{!field:State.graphs}[graphs]} of the {{!State.t}state} and derive the information we need for the language server via the query system. *) module Forest = Forest (** Augmented hash table used throughout compilation phases.*) module Action = Action module State = State module Phases = Phases module Driver = Driver module Asset_router = Asset_router module URI_util = URI_util (** {1 IO}*) (** {2 LaTeX pipeline}*) module Build_latex = Build_latex module LaTeX_pipeline = LaTeX_pipeline module LaTeX_template = LaTeX_template module Job = Job (** Definition of LaTeX jobs*) (**/**) module Eio_util = Eio_util module Export_for_test = Export_for_test module Cache = Cache module Dir_scanner = Dir_scanner (**/**)
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>