2019-03-17 14:40:57 +02:00
< html >
< head >
2021-08-10 13:01:03 +03:00
< title > pipeline< / title >
2020-05-03 03:20:55 +03:00
< link href = "../docs-assets/Breadcrumbs.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
2020-03-19 02:11:25 +02:00
< meta name = "viewport" content = "width=device-width initial-scale=1" >
2019-03-17 14:40:57 +02:00
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" >
< meta http-equiv = "Content-Language" content = "en-gb" >
2020-05-03 03:01:21 +03:00
2020-05-03 03:20:55 +03:00
< link href = "../docs-assets/Contents.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Progress.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Navigation.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Fonts.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Base.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
2020-04-14 19:56:54 +03:00
2019-03-17 14:40:57 +02:00
< / head >
2020-05-03 03:01:21 +03:00
< body class = "commentary-font" >
2020-03-19 02:11:25 +02:00
< nav role = "navigation" >
2022-04-28 19:37:28 +03:00
< h1 > < a href = "../index.html" >
2020-05-03 18:34:53 +03:00
< img src = "../docs-assets/Inform.png" height = 72" >
2020-04-14 19:56:54 +03:00
< / a > < / h1 >
2022-04-28 19:37:28 +03:00
< ul > < li > < a href = "../index.html" > home< / a > < / li >
2022-04-04 20:31:44 +03:00
< / ul > < h2 > Compiler< / h2 > < ul >
< li > < a href = "../structure.html" > structure< / a > < / li >
< li > < a href = "../inbuildn.html" > inbuild< / a > < / li >
< li > < a href = "../inform7n.html" > inform7< / a > < / li >
< li > < a href = "../intern.html" > inter< / a > < / li >
< li > < a href = "../services.html" > services< / a > < / li >
2022-04-18 17:46:46 +03:00
< li > < a href = "../secrets.html" > secrets< / a > < / li >
2022-04-04 20:31:44 +03:00
< / ul > < h2 > Other Tools< / h2 > < ul >
< li > < a href = "../inblorbn.html" > inblorb< / a > < / li >
< li > < a href = "../indocn.html" > indoc< / a > < / li >
< li > < a href = "../inform6.html" > inform6< / a > < / li >
< li > < a href = "../inpolicyn.html" > inpolicy< / a > < / li >
2022-04-05 14:14:27 +03:00
< / ul > < h2 > Resources< / h2 > < ul >
< li > < a href = "../extensions.html" > extensions< / a > < / li >
< li > < a href = "../kits.html" > kits< / a > < / li >
2022-04-04 20:31:44 +03:00
< / ul > < h2 > Repository< / h2 > < ul >
< li > < a href = "https://github.com/ganelson/inform" > < img src = "../docs-assets/github.png" height = 18 > github< / a > < / li >
< / ul > < h2 > Related Projects< / h2 > < ul >
2022-04-28 19:20:06 +03:00
< li > < a href = "../../../inweb/index.html" > inweb< / a > < / li >
< li > < a href = "../../../intest/index.html" > intest< / a > < / li >
2020-03-19 02:11:25 +02:00
2020-04-14 19:56:54 +03:00
< / ul >
2020-03-19 02:11:25 +02:00
< / nav >
< main role = "main" >
2022-04-28 19:37:28 +03:00
< ul class = "crumbs" > < li > < a href = "../index.html" > Home< / a > < / li > < li > < a href = "../intern.html" > Inter Modules< / a > < / li > < li > < b > pipeline< / b > < / li > < / ul >
2020-03-23 23:42:00 +02:00
< p class = "purpose" > The code generation pipeline. This is version 1.< / p >
2019-03-17 14:40:57 +02:00
< hr >
2020-05-03 03:01:21 +03:00
< div class = "contentspage" >
< ul class = "chapterlist" >
2021-11-13 15:29:56 +02:00
< li >
< p class = "chapterentry" > < a name = "P" > < / a >
< span class = "chaptertitle" > Preliminaries< / span > < / p >
< ul class = "sectionlist" >
< li >
< p class = "sectionentry" > < a href = "P-wtmd.html" >
< spon class = "sectiontitle" > What This Module Does< / span > < / a > -
< span class = "sectionpurpose" > An overview of the pipeline module's role and abilities.< / span > < / p >
< / li >
< / ul >
< / li >
2020-05-03 03:01:21 +03:00
< li >
< p class = "chapterentry" > < a name = "1" > < / a >
< span class = "chaptertitle" > Chapter 1: Setting Up< / span > < / p >
< ul class = "sectionlist" >
< li >
2021-08-10 13:01:03 +03:00
< p class = "sectionentry" > < a href = "1-pm.html" >
< spon class = "sectiontitle" > Pipeline Module< / span > < / a > -
2020-05-03 03:01:21 +03:00
< span class = "sectionpurpose" > Setting up the use of this module.< / span > < / p >
< / li >
2021-11-13 15:29:56 +02:00
< / ul >
< / li >
< li >
< p class = "chapterentry" > < a name = "2" > < / a >
< span class = "chaptertitle" > Chapter 2: Pipelines< / span > < / p >
< ul class = "sectionlist" >
2020-05-03 03:01:21 +03:00
< li >
2021-11-13 15:29:56 +02:00
< p class = "sectionentry" > < a href = "2-pp.html" >
< spon class = "sectiontitle" > Parsing Pipelines< / span > < / a > -
< span class = "sectionpurpose" > To parse pipelines from text files.< / span > < / p >
2020-05-03 03:01:21 +03:00
< / li >
< li >
2021-11-13 15:29:56 +02:00
< p class = "sectionentry" > < a href = "2-rp.html" >
< spon class = "sectiontitle" > Running Pipelines< / span > < / a > -
< span class = "sectionpurpose" > To run through pipelines of code generation stages.< / span > < / p >
2020-05-03 03:01:21 +03:00
< / li >
2021-11-16 20:15:49 +02:00
< li >
< p class = "sectionentry" > < a href = "2-pe.html" >
< spon class = "sectiontitle" > Pipeline Errors< / span > < / a > -
< span class = "sectionpurpose" > To issue problem messages when parsing or running erroneous pipelines.< / span > < / p >
< / li >
2020-05-03 03:01:21 +03:00
< li >
2021-11-30 02:18:02 +02:00
< p class = "sectionentry" > < a href = "2-ns.html" >
< spon class = "sectiontitle" > New Stage< / span > < / a > -
2022-03-21 01:45:45 +02:00
< span class = "sectionpurpose" > This stage takes an empty tree and equips it with just the absolute basics, so that it is ready to have substantive material added at a later stage.< / span > < / p >
2021-11-30 02:18:02 +02:00
< / li >
< li >
2022-01-30 15:32:38 +02:00
< p class = "sectionentry" > < a href = "2-rmss.html" >
< spon class = "sectiontitle" > Read, Move, Stop Stages< / span > < / a > -
2021-11-13 15:29:56 +02:00
< span class = "sectionpurpose" > Four simple pipeline stages.< / span > < / p >
2020-05-03 03:01:21 +03:00
< / li >
< / ul >
< / li >
< li >
2021-11-13 15:29:56 +02:00
< p class = "chapterentry" > < a name = "3" > < / a >
2022-01-05 01:10:34 +02:00
< span class = "chaptertitle" > Chapter 3: Assimilation< / span > < / p >
2020-05-03 03:01:21 +03:00
< ul class = "sectionlist" >
2021-11-13 15:29:56 +02:00
< li >
2021-11-18 00:44:49 +02:00
< p class = "sectionentry" > < a href = "3-ps.html" >
< spon class = "sectiontitle" > Parsing Stages< / span > < / a > -
2022-05-03 00:59:04 +03:00
< span class = "sectionpurpose" > Two stages which accept raw I6-syntax material in the parse tree, either from insertions made using Inform 7's low-level features, or after reading the source code for a kit.< / span > < / p >
2020-05-03 03:01:21 +03:00
< / li >
< li >
2021-11-30 02:18:02 +02:00
< p class = "sectionentry" > < a href = "3-rccs.html" >
< spon class = "sectiontitle" > Resolve Conditional Compilation Stage< / span > < / a > -
2020-05-03 03:01:21 +03:00
< span class = "sectionpurpose" > To generate the initial state of storage for variables.< / span > < / p >
< / li >
< li >
2021-11-30 02:18:02 +02:00
< p class = "sectionentry" > < a href = "3-css.html" >
< spon class = "sectiontitle" > Compile Splats Stage< / span > < / a > -
< span class = "sectionpurpose" > To replace each splat node with a sequence of pure Inter nodes having the same meaning, thus purging the tree of all raw I6 syntax entirely.< / span > < / p >
< / li >
< / ul >
< / li >
< li >
< p class = "chapterentry" > < a name = "4" > < / a >
2022-01-05 01:10:34 +02:00
< span class = "chaptertitle" > Chapter 4: Linking< / span > < / p >
2021-11-30 02:18:02 +02:00
< ul class = "sectionlist" >
< li >
< p class = "sectionentry" > < a href = "4-lbks.html" >
< spon class = "sectiontitle" > Load Binary Kits Stage< / span > < / a > -
< span class = "sectionpurpose" > Reading other Inter trees as binary files, and attaching them at given points in the main Inter tree.< / span > < / p >
2020-05-03 03:01:21 +03:00
< / li >
< li >
2022-01-04 01:40:23 +02:00
< p class = "sectionentry" > < a href = "4-sws.html" >
< spon class = "sectiontitle" > Shorten Wiring Stage< / span > < / a > -
< span class = "sectionpurpose" > To catch missing resources with suitable errors, to remove plugs and sockets as no longer necessary, and to shorten wiring as much as possible.< / span > < / p >
2020-05-03 03:01:21 +03:00
< / li >
< li >
2022-01-02 23:29:43 +02:00
< p class = "sectionentry" > < a href = "4-dics.html" >
< spon class = "sectiontitle" > Detect Indirect Calls Stage< / span > < / a > -
< span class = "sectionpurpose" > To handle function calls made to functions identified by symbols which turn out, during linking, to be variables rather than constants.< / span > < / p >
2020-05-03 03:01:21 +03:00
< / li >
2021-08-26 00:45:31 +03:00
< li >
2022-01-02 23:29:43 +02:00
< p class = "sectionentry" > < a href = "4-mius.html" >
< spon class = "sectiontitle" > Make Identifiers Unique Stage< / span > < / a > -
2021-08-26 00:45:31 +03:00
< span class = "sectionpurpose" > To make sure certain symbol names translate into globally unique target symbols.< / span > < / p >
< / li >
2020-05-03 03:01:21 +03:00
< li >
2022-01-02 23:29:43 +02:00
< p class = "sectionentry" > < a href = "4-rvs.html" >
< spon class = "sectiontitle" > Reconcile Verbs Stage< / span > < / a > -
2020-05-03 03:01:21 +03:00
< span class = "sectionpurpose" > To reconcile clashes between assimilated and originally generated verbs.< / span > < / p >
< / li >
2022-01-05 01:10:34 +02:00
< li >
< p class = "sectionentry" > < a href = "4-tsk.html" >
< spon class = "sectiontitle" > The Standard Kits< / span > < / a > -
< span class = "sectionpurpose" > The layout and naming conventions for functions and other resources provided by the standard kits, and which are called or accessed from code generated by Inter or by the Inform 7 compiler.< / span > < / p >
< / li >
2021-04-25 15:23:45 +03:00
< / ul >
< / li >
< li >
2021-11-30 02:18:02 +02:00
< p class = "chapterentry" > < a name = "5" > < / a >
< span class = "chaptertitle" > Chapter 5: Synoptic Module< / span > < / p >
2021-04-25 15:23:45 +03:00
< ul class = "sectionlist" >
2022-01-02 23:29:43 +02:00
< li >
< p class = "sectionentry" > < a href = "5-msms.html" >
< spon class = "sectiontitle" > Make Synoptic Module Stage< / span > < / a > -
< span class = "sectionpurpose" > Creating a top-level module of synoptic resources.< / span > < / p >
< / li >
2021-05-04 01:49:40 +03:00
< li >
2021-11-30 02:18:02 +02:00
< p class = "sectionentry" > < a href = "5-sh.html" >
2021-05-04 01:49:40 +03:00
< spon class = "sectiontitle" > Synoptic Hierarchy< / span > < / a > -
2021-05-05 14:24:08 +03:00
< span class = "sectionpurpose" > The layout and naming conventions for the contents of the main/synoptic module.< / span > < / p >
2021-05-04 01:49:40 +03:00
< / li >
2021-04-25 15:23:45 +03:00
< li >
2021-11-30 02:18:02 +02:00
< p class = "sectionentry" > < a href = "5-su.html" >
2021-04-25 15:23:45 +03:00
< spon class = "sectiontitle" > Synoptic Utilities< / span > < / a > -
2022-01-05 01:10:34 +02:00
< span class = "sectionpurpose" > Utility functions for generating the code in the synoptic module.< / span > < / p >
2021-04-25 15:23:45 +03:00
< / li >
2021-04-30 20:48:22 +03:00
< li >
2021-11-30 02:18:02 +02:00
< p class = "sectionentry" > < a href = "5-ext.html" >
2021-04-30 20:48:22 +03:00
< spon class = "sectiontitle" > Extensions< / span > < / a > -
< span class = "sectionpurpose" > To renumber the extensions and construct suitable functions and arrays.< / span > < / p >
< / li >
2021-04-22 20:47:42 +03:00
< li >
2021-11-30 02:18:02 +02:00
< p class = "sectionentry" > < a href = "5-lt.html" >
2021-04-25 15:23:45 +03:00
< spon class = "sectiontitle" > Literal Text< / span > < / a > -
2022-01-05 12:53:09 +02:00
< span class = "sectionpurpose" > To alphabetise literal texts, deduplicate them, and store a canonical set in the synoptic/texts submodule.< / span > < / p >
2021-04-22 20:47:42 +03:00
< / li >
2021-04-25 15:23:45 +03:00
< li >
2021-11-30 02:18:02 +02:00
< p class = "sectionentry" > < a href = "5-rsp.html" >
2021-04-25 15:23:45 +03:00
< spon class = "sectiontitle" > Responses< / span > < / a > -
2021-05-05 14:24:08 +03:00
< span class = "sectionpurpose" > To compile the main/synoptic/responses submodule.< / span > < / p >
2021-04-27 16:01:34 +03:00
< / li >
< li >
2021-11-30 02:18:02 +02:00
< p class = "sectionentry" > < a href = "5-rls.html" >
2021-04-27 16:01:34 +03:00
< spon class = "sectiontitle" > Rules< / span > < / a > -
2021-05-05 14:24:08 +03:00
< span class = "sectionpurpose" > To compile the main/synoptic/rules and main/synoptic/rulebooks submodules.< / span > < / p >
2021-04-28 11:14:20 +03:00
< / li >
< li >
2021-11-30 02:18:02 +02:00
< p class = "sectionentry" > < a href = "5-act.html" >
2021-04-28 11:14:20 +03:00
< spon class = "sectiontitle" > Activities< / span > < / a > -
2021-05-06 11:59:32 +03:00
< span class = "sectionpurpose" > To compile the main/synoptic/activities submodule.< / span > < / p >
2021-04-29 14:32:12 +03:00
< / li >
< li >
2021-11-30 02:18:02 +02:00
< p class = "sectionentry" > < a href = "5-act2.html" >
2021-04-29 14:32:12 +03:00
< spon class = "sectiontitle" > Actions< / span > < / a > -
2021-05-05 14:24:08 +03:00
< span class = "sectionpurpose" > To compile the main/synoptic/actions submodule.< / span > < / p >
2021-04-30 17:53:28 +03:00
< / li >
2021-05-01 20:18:59 +03:00
< li >
2021-11-30 02:18:02 +02:00
< p class = "sectionentry" > < a href = "5-ins.html" >
2021-05-01 20:18:59 +03:00
< spon class = "sectiontitle" > Instances< / span > < / a > -
2021-05-05 14:24:08 +03:00
< span class = "sectionpurpose" > To compile the main/synoptic/instances submodule.< / span > < / p >
2021-05-01 20:18:59 +03:00
< / li >
2022-09-22 01:39:34 +03:00
< li >
< p class = "sectionentry" > < a href = "5-dlg.html" >
< spon class = "sectiontitle" > Dialogue< / span > < / a > -
< span class = "sectionpurpose" > To compile the main/synoptic/dialogue submodule.< / span > < / p >
< / li >
2021-05-02 21:34:02 +03:00
< li >
2021-11-30 02:18:02 +02:00
< p class = "sectionentry" > < a href = "5-knd.html" >
2021-05-02 21:34:02 +03:00
< spon class = "sectiontitle" > Kinds< / span > < / a > -
2021-05-05 14:24:08 +03:00
< span class = "sectionpurpose" > To compile the main/synoptic/kinds submodule.< / span > < / p >
2021-05-02 21:34:02 +03:00
< / li >
2021-04-30 17:53:28 +03:00
< li >
2021-11-30 02:18:02 +02:00
< p class = "sectionentry" > < a href = "5-prp.html" >
2021-04-30 17:53:28 +03:00
< spon class = "sectiontitle" > Properties< / span > < / a > -
2021-05-05 14:24:08 +03:00
< span class = "sectionpurpose" > To compile the main/synoptic/properties submodule.< / span > < / p >
2021-05-01 12:46:37 +03:00
< / li >
2021-05-01 13:56:10 +03:00
< li >
2021-11-30 02:18:02 +02:00
< p class = "sectionentry" > < a href = "5-rlt.html" >
2021-05-01 13:56:10 +03:00
< spon class = "sectiontitle" > Relations< / span > < / a > -
2021-05-05 14:24:08 +03:00
< span class = "sectionpurpose" > To compile the main/synoptic/relations submodule.< / span > < / p >
2021-05-01 13:56:10 +03:00
< / li >
2021-05-01 12:46:37 +03:00
< li >
2021-11-30 02:18:02 +02:00
< p class = "sectionentry" > < a href = "5-tbl.html" >
2021-05-01 12:46:37 +03:00
< spon class = "sectiontitle" > Tables< / span > < / a > -
2021-05-05 14:24:08 +03:00
< span class = "sectionpurpose" > To compile the main/synoptic/tables submodule.< / span > < / p >
2021-04-25 15:23:45 +03:00
< / li >
2021-05-01 17:00:44 +03:00
< li >
2021-11-30 02:18:02 +02:00
< p class = "sectionentry" > < a href = "5-chr.html" >
2021-05-01 17:00:44 +03:00
< spon class = "sectiontitle" > Chronology< / span > < / a > -
2021-05-04 13:04:04 +03:00
< span class = "sectionpurpose" > To compile the main/synoptic/chronology submodule.< / span > < / p >
2021-05-01 17:00:44 +03:00
< / li >
2021-05-01 20:18:59 +03:00
< li >
2021-11-30 02:18:02 +02:00
< p class = "sectionentry" > < a href = "5-scn.html" >
2021-05-01 20:18:59 +03:00
< spon class = "sectiontitle" > Scenes< / span > < / a > -
2021-05-05 14:24:08 +03:00
< span class = "sectionpurpose" > To compile the main/synoptic/scenes submodule.< / span > < / p >
2021-05-01 20:18:59 +03:00
< / li >
2021-05-02 01:16:45 +03:00
< li >
2021-11-30 02:18:02 +02:00
< p class = "sectionentry" > < a href = "5-mlt.html" >
2021-05-02 01:16:45 +03:00
< spon class = "sectiontitle" > Multimedia< / span > < / a > -
2021-05-05 14:24:08 +03:00
< span class = "sectionpurpose" > To compile the main/synoptic/multimedia submodule.< / span > < / p >
2021-05-02 01:16:45 +03:00
< / li >
2021-05-02 21:34:02 +03:00
< li >
2021-11-30 02:18:02 +02:00
< p class = "sectionentry" > < a href = "5-uo.html" >
2021-05-02 21:34:02 +03:00
< spon class = "sectiontitle" > Use Options< / span > < / a > -
2021-05-05 14:24:08 +03:00
< span class = "sectionpurpose" > To compile the main/synoptic/use_options submodule.< / span > < / p >
2021-05-02 21:34:02 +03:00
< / li >
2021-05-02 13:01:12 +03:00
< li >
2021-11-30 02:18:02 +02:00
< p class = "sectionentry" > < a href = "5-vrb.html" >
2021-05-02 13:01:12 +03:00
< spon class = "sectiontitle" > Verbs< / span > < / a > -
2021-05-05 14:24:08 +03:00
< span class = "sectionpurpose" > To compile the main/synoptic/verbs submodule.< / span > < / p >
2021-05-22 11:49:04 +03:00
< / li >
< li >
2021-11-30 02:18:02 +02:00
< p class = "sectionentry" > < a href = "5-tst.html" >
2021-05-22 11:49:04 +03:00
< spon class = "sectiontitle" > Tests< / span > < / a > -
< span class = "sectionpurpose" > To compile the main/synoptic/tests submodule.< / span > < / p >
2021-05-02 13:01:12 +03:00
< / li >
2020-05-03 03:01:21 +03:00
< / ul >
< / li >
2021-11-13 15:29:56 +02:00
< li >
2021-11-30 02:18:02 +02:00
< p class = "chapterentry" > < a name = "6" > < / a >
2022-01-05 01:10:34 +02:00
< span class = "chaptertitle" > Chapter 6: Optimisation< / span > < / p >
2021-11-13 15:29:56 +02:00
< ul class = "sectionlist" >
< li >
2022-01-02 23:29:43 +02:00
< p class = "sectionentry" > < a href = "6-erms.html" >
< spon class = "sectiontitle" > Eliminate Redundant Matter Stage< / span > < / a > -
< span class = "sectionpurpose" > To remove definitions which are never used: for example, functions which are never called or referred to.< / span > < / p >
2021-11-13 15:29:56 +02:00
< / li >
< li >
2022-01-02 23:29:43 +02:00
< p class = "sectionentry" > < a href = "6-erls.html" >
< spon class = "sectiontitle" > Eliminate Redundant Labels Stage< / span > < / a > -
2021-11-13 15:29:56 +02:00
< span class = "sectionpurpose" > To remove labels which are defined but never jumped to.< / span > < / p >
< / li >
< li >
2022-01-02 23:29:43 +02:00
< p class = "sectionentry" > < a href = "6-eros.html" >
< spon class = "sectiontitle" > Eliminate Redundant Operations Stage< / span > < / a > -
< span class = "sectionpurpose" > To remove logical or arithmetic operations which neither do anything, nor have side-effects.< / span > < / p >
2021-11-13 15:29:56 +02:00
< / li >
< / ul >
< / li >
2020-05-03 03:01:21 +03:00
< / ul >
< / div >
2019-03-17 14:40:57 +02:00
< hr >
2020-05-03 03:01:21 +03:00
< p class = "purpose" > Powered by < a href = "https://github.com/ganelson/inweb" > Inweb< / a > .< / p >
2020-03-19 02:11:25 +02:00
< / main >
2019-03-17 14:40:57 +02:00
< / body >
< / html >