2019-02-04 22:26:45 +00:00
< html >
< head >
2020-03-23 15:04:43 +00:00
< title > inweb< / title >
2020-03-19 00:03:04 +00:00
< meta name = "viewport" content = "width=device-width initial-scale=1" >
2019-02-04 22:26:45 +00:00
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" >
< meta http-equiv = "Content-Language" content = "en-gb" >
2020-03-19 00:03:04 +00:00
< link href = "../inweb.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
2020-04-12 16:24:23 +00:00
2019-02-04 22:26:45 +00:00
< / head >
< body >
2020-03-19 00:03:04 +00:00
< nav role = "navigation" >
2020-04-12 16:24:23 +00:00
< h1 > < a href = "../webs.html" > Inweb Source< / a > < / h1 >
2020-03-19 00:03:04 +00:00
< ul >
< li > < a href = "../inweb/index.html" > inweb< / a > < / li >
< / ul >
< h2 > Foundation< / h2 >
< ul >
< li > < a href = "../foundation-module/index.html" > foundation-module< / a > < / li >
< li > < a href = "../foundation-test/index.html" > foundation-test< / a > < / li >
2020-04-12 16:24:23 +00:00
< / ul >
< h2 > Example Webs< / h2 >
< ul >
< li > < a href = "../goldbach/index.html" > goldbach< / a > < / li >
< li > < a href = "../twinprimes/twinprimes.html" > twinprimes< / a > < / li >
2020-03-19 00:03:04 +00:00
< / ul >
< / nav >
< main role = "main" >
2020-04-12 16:24:23 +00:00
< ul class = "crumbs" > < li > < a href = "../webs.html" > Home< / a > < / li > < li > < b > inweb< / b > < / li > < / ul >
2020-03-23 15:04:43 +00:00
< p class = "purpose" > A modern system for literate programming. This is version 7.< / p >
2019-02-04 22:26:45 +00:00
< hr >
< ul class = "chapterlist" >
< li >
2020-03-22 11:24:10 +00:00
< p > < a name = "M" > < / a > < spon class = "chaptertitle" > Manual< / span > < / p >
< p > < span class = "purpose" > < / span > < / p >
2019-02-04 22:26:45 +00:00
< ul class = "sectionlist" >
< li >
2020-03-22 11:24:10 +00:00
< p > < a href = "M-iti.html" > < spon class = "sectiontitle" > Introduction to Inweb< / span > < / a > -
2019-02-04 22:26:45 +00:00
< span class = "purpose" > What Inweb is, and why it is not CWEB.< / span > < / p >
< / li >
< li >
2020-03-22 11:24:10 +00:00
< p > < a href = "M-wtaw.html" > < spon class = "sectiontitle" > Webs, Tangling and Weaving< / span > < / a > -
2019-02-04 22:26:45 +00:00
< span class = "purpose" > How to use Inweb to weave or tangle a web already written.< / span > < / p >
< / li >
< li >
2020-03-22 11:24:10 +00:00
< p > < a href = "M-htwaw.html" > < spon class = "sectiontitle" > How to Write a Web< / span > < / a > -
2019-02-04 22:26:45 +00:00
< span class = "purpose" > How to mark up code for literate programming.< / span > < / p >
< / li >
< li >
2020-03-22 11:24:10 +00:00
< p > < a href = "M-tid.html" > < spon class = "sectiontitle" > The InC Dialect< / span > < / a > -
2019-02-04 22:26:45 +00:00
< span class = "purpose" > A modest extension of C used by the Inform project.< / span > < / p >
< / li >
< li >
2020-03-22 11:24:10 +00:00
< p > < a href = "M-awwp.html" > < spon class = "sectiontitle" > Advanced Weaving with Patterns< / span > < / a > -
2019-02-04 22:26:45 +00:00
< span class = "purpose" > Customise the booklets woven from a web.< / span > < / p >
< / li >
2020-04-05 17:37:43 +00:00
< li >
< p > < a href = "M-spl.html" > < spon class = "sectiontitle" > Supporting Programming Languages< / span > < / a > -
< span class = "purpose" > How to work with a programming language not yet supported by Inweb.< / span > < / p >
< / li >
2020-03-26 23:01:14 +00:00
< li >
< p > < a href = "M-rc.html" > < spon class = "sectiontitle" > Reference Card< / span > < / a > -
< span class = "purpose" > The current help information as it would be printed at the command line.< / span > < / p >
< / li >
2019-02-04 22:26:45 +00:00
< / ul >
< / li >
2020-04-12 16:24:23 +00:00
< li >
< p > < a name = "P" > < / a > < spon class = "chaptertitle" > Preliminaries< / span > < / p >
< p > < span class = "purpose" > < / span > < / p >
< ul class = "sectionlist" >
< li >
< p > < a href = "P-htpw.html" > < spon class = "sectiontitle" > How This Program Works< / span > < / a > -
< span class = "purpose" > An overview of how Inweb works, with links to all of its important functions.< / span > < / p >
< / li >
< / ul >
< / li >
2019-02-04 22:26:45 +00:00
< li >
< p > < a name = "1" > < / a > < spon class = "chaptertitle" > Chapter 1: Top Level< / span > < / p >
< p > < span class = "purpose" > Dealing with the user, and deciding what is to be done.< / span > < / p >
< ul class = "sectionlist" >
< li >
< p > < a href = "1-bsc.html" > < spon class = "sectiontitle" > Basics< / span > < / a > -
< span class = "purpose" > Some fundamental definitions, mostly setting up for the Foundation module to manage memory for us.< / span > < / p >
< / li >
< li >
< p > < a href = "1-pc.html" > < spon class = "sectiontitle" > Program Control< / span > < / a > -
< span class = "purpose" > The top level, which decides what is to be done and then carries this plan out.< / span > < / p >
< / li >
< li >
< p > < a href = "1-cnf.html" > < spon class = "sectiontitle" > Configuration< / span > < / a > -
< span class = "purpose" > To parse the command line arguments with which inweb was called, and to handle any errors it needs to issue.< / span > < / p >
< / li >
< li >
< p > < a href = "1-ptt.html" > < spon class = "sectiontitle" > Patterns< / span > < / a > -
< span class = "purpose" > Managing weave patterns, which are bundled configuration settings for weaving.< / span > < / p >
< / li >
< / ul >
< / li >
< li >
< p > < a name = "2" > < / a > < spon class = "chaptertitle" > Chapter 2: Parsing a Web< / span > < / p >
< p > < span class = "purpose" > Reading in the entire text of the web, parsing its structure and looking for identifier names within it.< / span > < / p >
< ul class = "sectionlist" >
< li >
< p > < a href = "2-tr.html" > < spon class = "sectiontitle" > The Reader< / span > < / a > -
< span class = "purpose" > To read the Contents section of the web, and through that each of the other sections in turn, and to collate all of this material.< / span > < / p >
< / li >
< li >
< p > < a href = "2-lc.html" > < spon class = "sectiontitle" > Line Categories< / span > < / a > -
< span class = "purpose" > To store individual lines from webs, and to categorise them according to their meaning.< / span > < / p >
< / li >
< li >
< p > < a href = "2-tp.html" > < spon class = "sectiontitle" > The Parser< / span > < / a > -
< span class = "purpose" > To work through the program read in, assigning each line its category, and noting down other useful information as we go.< / span > < / p >
< / li >
< li >
< p > < a href = "2-pm.html" > < spon class = "sectiontitle" > Paragraph Macros< / span > < / a > -
< span class = "purpose" > To manage the set of named paragraph macros in a section.< / span > < / p >
< / li >
< li >
< p > < a href = "2-tgs.html" > < spon class = "sectiontitle" > Tags< / span > < / a > -
< span class = "purpose" > Thematic tags can be attached to certain paragraphs, some automatically by Inweb, others manually by the author.< / span > < / p >
< / li >
< li >
< p > < a href = "2-ec.html" > < spon class = "sectiontitle" > Enumerated Constants< / span > < / a > -
< span class = "purpose" > To define sequentially numbered values for families of constants.< / span > < / p >
< / li >
< li >
< p > < a href = "2-pn.html" > < spon class = "sectiontitle" > Paragraph Numbering< / span > < / a > -
< span class = "purpose" > To work out paragraph numbers within each section.< / span > < / p >
< / li >
< / ul >
< / li >
< li >
< p > < a name = "3" > < / a > < spon class = "chaptertitle" > Chapter 3: Outputs< / span > < / p >
< p > < span class = "purpose" > Either weaving part or all of the web into a typeset form for human eyes (or a swarm of many such parts), or tangling the web into an executable program, or analysing the web to provide diagnostics on it.< / span > < / p >
< ul class = "sectionlist" >
< li >
< p > < a href = "3-ta.html" > < spon class = "sectiontitle" > The Analyser< / span > < / a > -
< span class = "purpose" > Here we analyse the code in the web, enabling us to see how functions and data structures are used within the program.< / span > < / p >
< / li >
< li >
< p > < a href = "3-ts.html" > < spon class = "sectiontitle" > The Swarm< / span > < / a > -
< span class = "purpose" > To feed multiple output requests to the weaver, and to present weaver results, and update indexes or contents pages.< / span > < / p >
< / li >
< li >
< p > < a href = "3-ti.html" > < spon class = "sectiontitle" > The Indexer< / span > < / a > -
< span class = "purpose" > To construct indexes of the material woven, following a template.< / span > < / p >
< / li >
< li >
< p > < a href = "3-tw.html" > < spon class = "sectiontitle" > The Weaver< / span > < / a > -
< span class = "purpose" > To weave a portion of the code into instructions for TeX.< / span > < / p >
< / li >
< li >
< p > < a href = "3-tt.html" > < spon class = "sectiontitle" > The Tangler< / span > < / a > -
< span class = "purpose" > To transcribe a version of the text in the web into a form which can be compiled as a program.< / span > < / p >
< / li >
< / ul >
< / li >
< li >
< p > < a name = "4" > < / a > < spon class = "chaptertitle" > Chapter 4: Languages< / span > < / p >
< p > < span class = "purpose" > Providing support for syntax-colouring and for better organisation of code in different programming languages.< / span > < / p >
< ul class = "sectionlist" >
< li >
< p > < a href = "4-pl.html" > < spon class = "sectiontitle" > Programming Languages< / span > < / a > -
2020-04-04 19:46:43 +00:00
< span class = "purpose" > Defining the programming languages supported by Inweb, loading in their definitions from files.< / span > < / p >
< / li >
2020-04-10 08:11:09 +00:00
< li >
2020-04-11 22:43:27 +00:00
< p > < a href = "4-taf.html" > < spon class = "sectiontitle" > Types and Functions< / span > < / a > -
2020-04-10 08:11:09 +00:00
< span class = "purpose" > Basic support for languages to recognise structure and function declarations.< / span > < / p >
< / li >
2020-04-04 19:46:43 +00:00
< li >
< p > < a href = "4-lm.html" > < spon class = "sectiontitle" > Language Methods< / span > < / a > -
2019-02-04 22:26:45 +00:00
< span class = "purpose" > To characterise the relevant differences in behaviour between the various programming languages supported.< / span > < / p >
< / li >
2020-04-04 19:46:43 +00:00
< li >
< p > < a href = "4-as.html" > < spon class = "sectiontitle" > ACME Support< / span > < / a > -
< span class = "purpose" > For generic programming languages by the ACME corporation.< / span > < / p >
< / li >
2020-04-05 17:37:43 +00:00
< li >
< p > < a href = "4-tp.html" > < spon class = "sectiontitle" > The Painter< / span > < / a > -
< span class = "purpose" > A simple syntax-colouring engine.< / span > < / p >
< / li >
2019-02-04 22:26:45 +00:00
< li >
< p > < a href = "4-cl.html" > < spon class = "sectiontitle" > C-Like Languages< / span > < / a > -
< span class = "purpose" > To provide special features for the whole C family of languages.< / span > < / p >
< / li >
< li >
< p > < a href = "4-is.html" > < spon class = "sectiontitle" > InC Support< / span > < / a > -
< span class = "purpose" > To support a modest extension of C called InC.< / span > < / p >
< / li >
< / ul >
< / li >
< li >
< p > < a name = "5" > < / a > < spon class = "chaptertitle" > Chapter 5: Formats< / span > < / p >
< p > < span class = "purpose" > Weaving to a variety of different human-readable formats.< / span > < / p >
< ul class = "sectionlist" >
< li >
2020-04-09 17:32:37 +00:00
< p > < a href = "5-fm.html" > < spon class = "sectiontitle" > Format Methods< / span > < / a > -
< span class = "purpose" > To characterise the relevant differences in behaviour between the various weaving formats offered, such as HTML, ePub, or TeX.< / span > < / p >
2019-02-04 22:26:45 +00:00
< / li >
< li >
< p > < a href = "5-ptf.html" > < spon class = "sectiontitle" > Plain Text Format< / span > < / a > -
< span class = "purpose" > To provide for weaving in plain text format, which is not very interesting, but ought to be available.< / span > < / p >
< / li >
< li >
< p > < a href = "5-tf.html" > < spon class = "sectiontitle" > TeX Format< / span > < / a > -
< span class = "purpose" > To provide for weaving in the standard maths and science typesetting software, TeX.< / span > < / p >
< / li >
< li >
< p > < a href = "5-hf.html" > < spon class = "sectiontitle" > HTML Formats< / span > < / a > -
< span class = "purpose" > To provide for weaving into HTML and into EPUB books.< / span > < / p >
< / li >
2020-04-10 20:29:28 +00:00
< li >
< p > < a href = "5-wp.html" > < spon class = "sectiontitle" > Weave Plugins< / span > < / a > -
< span class = "purpose" > Mainly for HTML, to add the necessary JavaScript for unusual requirements such as equations or footnotes.< / span > < / p >
< / li >
2019-02-04 22:26:45 +00:00
< li >
< p > < a href = "5-rtt.html" > < spon class = "sectiontitle" > Running Through TeX< / span > < / a > -
< span class = "purpose" > To post-process a weave by running it through TeX, or one of its variant typesetting programs.< / span > < / p >
< / li >
< / ul >
< / li >
< li >
< p > < a name = "6" > < / a > < spon class = "chaptertitle" > Chapter 6: Extras< / span > < / p >
< p > < span class = "purpose" > Additional features for turning webs into open-source projects.< / span > < / p >
< ul class = "sectionlist" >
< li >
< p > < a href = "6-mkf.html" > < spon class = "sectiontitle" > Makefiles< / span > < / a > -
< span class = "purpose" > Constructing a suitable makefile for a simple inweb project.< / span > < / p >
< / li >
< li >
< p > < a href = "6-gs.html" > < spon class = "sectiontitle" > Git Support< / span > < / a > -
< span class = "purpose" > Constructing a suitable gitignore file for a simple inweb project.< / span > < / p >
< / li >
2020-03-23 21:39:27 +00:00
< li >
< p > < a href = "6-rw.html" > < spon class = "sectiontitle" > Readme Writeme< / span > < / a > -
< span class = "purpose" > To construct Readme and similar files.< / span > < / p >
< / li >
2020-04-12 16:24:23 +00:00
< li >
< p > < a href = "6-cln.html" > < spon class = "sectiontitle" > Colonies< / span > < / a > -
< span class = "purpose" > Cross-referencing multiple webs gathered together.< / span > < / p >
< / li >
2019-02-04 22:26:45 +00:00
< / ul >
< / li >
< / ul >
< hr >
2020-03-25 23:42:55 +00:00
< p class = "purpose" > Together with the following imported module:
< ul class = "chapterlist" >
< li > < p > foundation - A library of common code used by all of the Inform tools.< / p > < / li > < / ul >
2020-03-19 00:03:04 +00:00
< / main >
2019-02-04 22:26:45 +00:00
< / body >
< / html >