- Home
- literate
A library of utility functions for literate programming. This is version 1.
-
-
A Brief Guide to Literate - Notes on using the Literate library.
-
-
The scaffolding around literate programs.
-
Literate Module - Setting up the use of this module. -
Web Control Language - To parse configuration files for different aspects of literate programming. -
Colonies - Cross-referencing multiple webs gathered together. -
Web Structure - To read the structure of a literate programming web from a path in the file system. -
Bibliographic Data for Webs - To manage key-value pairs of bibliographic data, metadata if you like, associated with a given web. -
Web Contents Pages - To read the structure of a literate programming web from a path in the file system. -
Single-File Webs - To scan a single-file web looking for indications of its syntax and/or programming language, and to assemble a minimal web structure around its one unit of source. -
Web Modules - To search for included modules, and track dependencies between them. -
Web Ranges - Short textual descriptions of a range of sections or chapters in a web.
-
-
Configuring LP notations, and parsing raw LP code against them.
-
Literate Source - To parse and represent units of literate source text. -
Line Classification - Literate source is usually very line-based, and so parsing it is a matter of deciding what sort of thing each line represents. -
Web Errors - To store and sometimes to issue errors arising from parsing malformed webs of literate source text. -
Web Notations - To manage possible notations for writing programs in web form. -
Holons - To manage fragments of eventually-compiled code, or "holons", within each section. -
Holon Syntax - Constructing a finite state machine for the parsing of code in holons.
-
-
Basics about different programming languages.
-
Programming Languages - Defining the programming languages supported by our LP system, loading in their definitions from files. -
Code Analysis - Here we analyse the code in the web, enabling us to see how functions and data structures are used within the program. -
Conditional Compilation - Thematic tags can be used to mark code as being included in a tangle but only within markers for conditional compilation. -
Enumerated Constants - To define sequentially numbered values for families of constants. -
Types and Functions - Basic support for languages to recognise structure and function declarations. -
Reserved Words - Managing reserved words, that is, significant identifiers, for programming languages. -
The Painter - A simple syntax-colouring engine. -
Language Methods - To characterise the relevant differences in behaviour between the various programming languages supported. -
ACME Support - For generic programming languages by the ACME corporation. -
C-Like Languages - To provide special features for the whole C family of languages. -
InC Support - To support a modest extension of C called InC.
-
-
Tangling literate programs to machine-readable code.
-
Tangle Targets - Most webs tangle to just one program, but we do support multiple targets, which can be in different programming languages. -
The Tangler - Transforming code written in literate programming notation into regular code, fit for a compiler. -
Ctags Support - Constructing a suitable ctags file for a web.
-
-
Weaving to a variety of different human-readable formats.
-
Weaving Details - Annotations to a LP tree to accommodate weaving. -
The Swarm - To feed multiple output requests to the weaver, and to present weaver results, and update indexes or contents pages. -
Patterns - Managing weave patterns, which are bundled configuration settings for weaving. -
Assets, Plugins and Colour Schemes - Mainly for HTML, to add the necessary JavaScript for unusual requirements such as equations or footnotes. -
The Collater - To collate material generated by the weaver into finished, fully-woven files. -
The Weaver - To weave a portion of the code into a tree of rendering instructions. -
The Weaver of Text - To write rendering instructions for commentary or source code text. -
Weave Tree - The weaver produces a tree of rendering instructions as its main intermediate representation, and this section defines that tree. -
Format Methods - To characterise the relevant differences in behaviour between the various weaving formats offered, such as HTML, ePub, or TeX. -
Plain Text Format - To provide for weaving in plain text format, which is not very interesting, but ought to be available. -
TeX Format - To provide for weaving in the standard maths and science typesetting software, TeX. -
HTML Formats - To provide for weaving into HTML and into EPUB books. -
Debugging Format - A format which renders as a plain-text serialisation of the weave tree, useful only for testing the weaver. -
TeX Utilities - A few conveniences for using weaving with TeX.
-
-
Additional features for managing larger webs as repositories.
-
Makefiles - Constructing a suitable makefile for a simple inweb project. -
Git Support - Constructing a suitable gitignore file for a simple inweb project. -
Readme Writeme - To construct Readme and similar files. -
Build Files - Manages the build metadata for an inweb project.
-
Powered by Inweb.