package forester

  1. Overview
  2. Docs
A tool for tending mathematical forests

Install

Dune Dependency

Authors

Maintainers

Sources

5.0.tar.gz
md5=24f4aed96a8b8af33aba13fba66f1b37
sha512=d36b896aca11858bb4a00fc704c16cc27a1f197bdb3e479d6132fd70f70d67d7158096285cb0b6fb00db14417f0f822cc27fe65d82f0971e42378fd8271ce573

doc/forester.compiler/Forester_compiler/index.html

Module Forester_compilerSource

The forester compiler

Base types

Sourcemodule Xml_forester : sig ... end

Definition of the forester XML schema. This is the compilation target.

Compilation phases

Parsing

The lexer and parser are implemented with ocamllex and menhir

Sourcemodule Parse : sig ... end
Sourcemodule Imports : sig ... end
Sourcemodule Expand : sig ... end

Transform Code.trees into Syn.trees by folding over the import graph.

Sourcemodule Eval : sig ... end

Transform Syn.trees into articles.

High-level architecture

The compiler needs to support both batch-style and incremental compilation. To this end, we define a state type and transition functions that act on this state.

In the future, we want to record more knowledge in graphs of the state and derive the information we need for the language server via the query system.

Sourcemodule Forest : sig ... end

Augmented hash table used throughout compilation phases.

Sourcemodule Action : sig ... end
Sourcemodule State : sig ... end
Sourcemodule Phases : sig ... end
Sourcemodule Driver : sig ... end
Sourcemodule Asset_router : sig ... end
Sourcemodule URI_util : sig ... end

IO

LaTeX pipeline

Sourcemodule Build_latex : sig ... end
Sourcemodule LaTeX_pipeline : sig ... end
Sourcemodule LaTeX_template : sig ... end
Sourcemodule Job : sig ... end

Definition of LaTeX jobs

OCaml

Innovation. Community. Security.