1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-05-19 09:28:51 +03:00

Using new-style readme scripts

This commit is contained in:
Graham Nelson 2022-04-23 23:45:47 +01:00
parent f0abc67d79
commit 4fba69d24c
6 changed files with 109 additions and 112 deletions

View file

@ -75,7 +75,7 @@ something like a helicopter taking off).
**"I can't help feeling that if someone had asked me before the universe began
how it would turn out, I should have guessed something a bit less like an old
curiosity shop and a bit more like a formal French garden an orderly
curiosity shop and a bit more like a formal French garden - an orderly
arrangement of straight avenues, circular walks, and geometrically shaped
trees and hedges."** (Michael Frayn)
@ -148,7 +148,7 @@ Inform UI applications, and to Inform websites:
* Changes to Inform - A detailed change history of Inform 7. Ebook in Indoc format, stored at path resources/Changes.
* Writing with Inform and the Inform Recipe Book - The main Inform documentation, as seen in the apps, and in standalone Epubs. Ebook in Indoc format, stored at path resources/Documentation.
* resources/Outcome Pages - Inrtps uses these to generate HTML outcome pages (such as those showing Problem messages in the app)
* resources/Sample Projects - Two small interactive fictions, 'Disenchantment Bay' and 'Onyx', presented as samples in the app. Inform 7
* resources/Sample Projects - Two small interactive fictions, 'Disenchantment Bay' and 'Onyx', presented as samples in the app
Finally, the "retrospective" directory holds ANSI C source and resources needed
to build (some) previous versions of Inform 7.
@ -183,12 +183,12 @@ be accepted. (Note that these are not git submodules.)
### Other files and folders in this repository
* docs - Woven forms of the webs, for serving by GitHub Pages
* scripts/gitignorescript.txt - Inweb uses this to generate the .gitignore file at the root of the repository
* scripts/makescript.txt - Inweb uses this to generate a makefile at the root of the repository
* scripts/READMEscript.txt - Inpolicy uses this to generate the README.md file for the repository
* scripts/inform.giscript - Inweb uses this to generate the .gitignore file at the root of the repository
* scripts/inform.mkscript - Inweb uses this to generate the makefile at the root of the repository
* scripts/inform.rmscript - Inweb uses this to generate the README.md file you are now reading
### Colophon
This README.mk file was generated automatically by Inweb, and should not
be edited. To make changes, edit scripts/READMEscript.txt and re-generate.
be edited. To make changes, edit inform.rmscript and re-generate.

View file

@ -151,7 +151,7 @@ match any text.
<span class="Preform-plain-syntax"> </span><span class="Preform-reserved-syntax">return</span><span class="Preform-plain-syntax"> </span><span class="Preform-constant-syntax">FALSE</span><span class="Preform-plain-syntax">;</span>
<span class="Preform-plain-syntax">}</span>
</pre>
<ul class="endnotetexts"><li>This is <a href="../words-module/4-ap.html" class="internal">Preform grammar</a>, not regular C code.</li><li>The structure repl_var is accessed in 2/trs, 3/tff, 1/sc, 2/art, 2/prn, 3/dmn, 5/smp and here.</li><li>The structure named_function is accessed in 2/trs, 3/tff, 1/sc, 2/art, 2/prn, 3/dmn, 4/trm, 4/tcp, 5/smp and here.</li><li>The structure named_unary_predicate is accessed in 2/trs, 3/tff, 1/sc, 2/art, 2/prn, 3/dmn, 5/smp and here.</li></ul>
<ul class="endnotetexts"><li>This is <a href="../words-module/4-ap.html" class="internal">Preform grammar</a>, not regular C code.</li><li>The structure repl_var is accessed in 2/trs, 4/prp, 3/tff, 1/sc, 2/art, 2/prn, 3/dmn, 5/smp and here.</li><li>The structure named_function is accessed in 2/trs, 4/prp, 3/tff, 1/sc, 2/art, 2/prn, 3/dmn, 4/trm, 4/tcp, 5/smp and here.</li><li>The structure named_unary_predicate is accessed in 2/trs, 4/prp, 3/tff, 1/sc, 2/art, 2/prn, 3/dmn, 5/smp and here.</li></ul>
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>&#167;3. A sort of REPL. </b>The following function reads a file whose name is in <span class="extract"><span class="Preform-extract-syntax">arg</span></span>, feeds it into
the lexer, builds a syntax tree of its sentences, and then walks through
that tree, applying the Preform nonterminal &lt;declaration-line&gt; to each
@ -296,7 +296,7 @@ sentence. In effect, this is a read-evaluate-print loop.
<span class="plain-syntax"> </span><span class="reserved-syntax">pcalc_prop</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax"> = </span><span class="identifier-syntax">RP</span><span class="plain-syntax">[3];</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">pcalc_prop</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pos</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="plain-syntax">&lt;</span><span class="identifier-syntax">R</span><span class="plain-syntax">[2]; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) </span><span class="identifier-syntax">pos</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">pos</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">)?</span><span class="identifier-syntax">P:</span><span class="plain-syntax">(</span><span class="identifier-syntax">pos</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> ==&gt; { -, </span><a href="../calculus-module/4-prp.html#SP18" class="function-link"><span class="function-syntax">Propositions::insert_atom</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">pos</span><span class="plain-syntax">, </span><span class="identifier-syntax">RP</span><span class="plain-syntax">[1]) }</span>
<span class="plain-syntax"> ==&gt; { -, </span><a href="../calculus-module/4-prp2.html#SP18" class="function-link"><span class="function-syntax">Propositions::insert_atom</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">pos</span><span class="plain-syntax">, </span><span class="identifier-syntax">RP</span><span class="plain-syntax">[1]) }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="1-dcl.html#SP4">&#167;4</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP4_3" class="paragraph-anchor"></a><b>&#167;4.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Delete</span><span class="named-paragraph-number">4.3</span></span><span class="comment-syntax"> =</span>
@ -306,14 +306,14 @@ sentence. In effect, this is a read-evaluate-print loop.
<span class="plain-syntax"> </span><span class="reserved-syntax">pcalc_prop</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax"> = </span><span class="identifier-syntax">RP</span><span class="plain-syntax">[2];</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">pcalc_prop</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pos</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="plain-syntax">&lt;</span><span class="identifier-syntax">R</span><span class="plain-syntax">[1]; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) </span><span class="identifier-syntax">pos</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">pos</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">)?</span><span class="identifier-syntax">P:</span><span class="plain-syntax">(</span><span class="identifier-syntax">pos</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> ==&gt; { -, </span><a href="../calculus-module/4-prp.html#SP19" class="function-link"><span class="function-syntax">Propositions::delete_atom</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">pos</span><span class="plain-syntax">) }</span>
<span class="plain-syntax"> ==&gt; { -, </span><a href="../calculus-module/4-prp2.html#SP19" class="function-link"><span class="function-syntax">Propositions::delete_atom</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">pos</span><span class="plain-syntax">) }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="1-dcl.html#SP4">&#167;4</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP4_4" class="paragraph-anchor"></a><b>&#167;4.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Make domain</span><span class="named-paragraph-number">4.4</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> ==&gt; { -, </span><a href="../calculus-module/4-prp.html#SP16" class="function-link"><span class="function-syntax">Propositions::quantify_using</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">RP</span><span class="plain-syntax">[1], </span><span class="identifier-syntax">RP</span><span class="plain-syntax">[2], </span><span class="identifier-syntax">RP</span><span class="plain-syntax">[3]) }</span>
<span class="plain-syntax"> ==&gt; { -, </span><a href="../calculus-module/4-prp2.html#SP16" class="function-link"><span class="function-syntax">Propositions::quantify_using</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">RP</span><span class="plain-syntax">[1], </span><span class="identifier-syntax">RP</span><span class="plain-syntax">[2], </span><span class="identifier-syntax">RP</span><span class="plain-syntax">[3]) }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="1-dcl.html#SP4">&#167;4</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP4_5" class="paragraph-anchor"></a><b>&#167;4.5. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Create new unary</span><span class="named-paragraph-number">4.5</span></span><span class="comment-syntax"> =</span>
@ -341,7 +341,7 @@ sentence. In effect, this is a read-evaluate-print loop.
<span class="plain-syntax"> </span><span class="reserved-syntax">repl_var</span><span class="plain-syntax"> *</span><span class="identifier-syntax">rv</span><span class="plain-syntax"> = </span><span class="identifier-syntax">RP</span><span class="plain-syntax">[1];</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">rv</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">val</span><span class="plain-syntax"> = </span><span class="identifier-syntax">P</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">PRINT</span><span class="plain-syntax">(</span><span class="string-syntax">"'%&lt;W': %W set to "</span><span class="plain-syntax">, </span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="identifier-syntax">rv</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">name</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../calculus-module/4-prp.html#SP7" class="function-link"><span class="function-syntax">Propositions::write</span></a><span class="plain-syntax">(</span><span class="constant-syntax">STDOUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../calculus-module/4-prp2.html#SP7" class="function-link"><span class="function-syntax">Propositions::write</span></a><span class="plain-syntax">(</span><span class="constant-syntax">STDOUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">PRINT</span><span class="plain-syntax">(</span><span class="string-syntax">"\n"</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="1-dcl.html#SP4">&#167;4</a>.</li></ul>
@ -394,7 +394,7 @@ sentence. In effect, this is a read-evaluate-print loop.
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="reserved-syntax">pcalc_prop</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax"> = </span><span class="identifier-syntax">RP</span><span class="plain-syntax">[1];</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">PRINT</span><span class="plain-syntax">(</span><span class="string-syntax">"'%&lt;W': "</span><span class="plain-syntax">, </span><span class="identifier-syntax">W</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../calculus-module/4-prp.html#SP7" class="function-link"><span class="function-syntax">Propositions::write</span></a><span class="plain-syntax">(</span><span class="constant-syntax">STDOUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../calculus-module/4-prp2.html#SP7" class="function-link"><span class="function-syntax">Propositions::write</span></a><span class="plain-syntax">(</span><span class="constant-syntax">STDOUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">PRINT</span><span class="plain-syntax">(</span><span class="string-syntax">"\n"</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="1-dcl.html#SP4">&#167;4</a>.</li></ul>

View file

@ -1,37 +1,33 @@
100.0% in inform7 run
70.5% in compilation to Inter
50.1% in //Sequence::undertake_queued_tasks//
4.7% in //MajorNodes::pre_pass//
3.4% in //MajorNodes::pass_1//
70.8% in compilation to Inter
49.7% in //Sequence::undertake_queued_tasks//
4.8% in //MajorNodes::pre_pass//
3.5% in //MajorNodes::pass_1//
1.9% in //ImperativeDefinitions::assess_all//
1.7% in //RTPhrasebook::compile_entries//
1.9% in //RTPhrasebook::compile_entries//
1.5% in //RTKindConstructors::compile//
1.1% in //Sequence::lint_inter//
0.6% in //MajorNodes::pass_2//
0.6% in //World::stage_V//
0.4% in //ImperativeDefinitions::compile_first_block//
0.4% in //Sequence::undertake_queued_tasks//
0.4% in //Sequence::undertake_queued_tasks//
0.2% in //CompletionModule::compile//
0.2% in //InferenceSubjects::emit_all//
0.2% in //RTKindConstructors::compile_permissions//
0.5% in //MajorNodes::pass_2//
0.5% in //Sequence::undertake_queued_tasks//
0.5% in //World::stage_V//
0.3% in //ImperativeDefinitions::compile_first_block//
0.3% in //Sequence::undertake_queued_tasks//
0.1% in //CompletionModule::compile//
0.1% in //InferenceSubjects::emit_all//
0.1% in //RTKindConstructors::compile_permissions//
0.1% in //Task::make_built_in_kind_constructors//
0.1% in //Understand::traverse//
0.1% in //World::stages_II_and_III//
2.0% not specifically accounted for
26.7% in running Inter pipeline
2.6% not specifically accounted for
26.4% in running Inter pipeline
10.3% in step 14/15: generate inform6 -> auto.inf
5.8% in step 5/15: load-binary-kits
5.7% in step 6/15: make-synoptic-module
5.4% in step 6/15: make-synoptic-module
1.5% in step 9/15: make-identifiers-unique
0.4% in step 12/15: eliminate-redundant-operations
0.4% in step 4/15: compile-splats
0.4% in step 7/15: shorten-wiring
0.3% in step 12/15: eliminate-redundant-operations
0.3% in step 4/15: compile-splats
0.3% in step 7/15: shorten-wiring
0.3% in step 8/15: detect-indirect-calls
0.2% in step 11/15: eliminate-redundant-labels
0.1% in step 10/15: reconcile-verbs
0.1% in step 2/15: parse-insertions
0.1% in step 3/15: resolve-conditional-compilation
0.7% not specifically accounted for
0.1% in step 11/15: eliminate-redundant-labels
1.4% not specifically accounted for
2.3% in supervisor
0.4% not specifically accounted for

View file

@ -52,7 +52,7 @@ force:
define make-me
$(INWEB) $(ME) -import-from modules -tangle
{compile from: $(ME)/Tangled/$(ME).c to: $(ME)/Tangled/$(ME).o}
{link from: $(ME)/Tangled/$(ME).o to: $(ME)/Tangled/$(ME)$(EXEEXTENSION)}
{link from: $(ME)/Tangled/$(ME).o to: $(ME)/Tangled/$(ME)$(EXEEXTENSION)}
endef
# Testing the program:

View file

@ -340,7 +340,7 @@ endef
.PHONY: commit
commit:
$(INWEBX) -advance-build-file build.txt
$(INWEBX) -prototype scripts/READMEscript.txt -write-me README.md
$(INWEBX) -prototype scripts/inform.rmscript -write-me README.md
git commit -a
# -----------------------------------------------------------------------------
@ -365,7 +365,7 @@ forcepages: diagnostics readmepage diagrams forceprepages {components type: tool
.PHONY: readmepage
readmepage:
$(INWEBX) -prototype scripts/READMEscript.txt -write-me README.md
$(INWEBX) -prototype scripts/inform.rmscript -write-me README.md
.PHONY: diagrams
diagrams:

View file

@ -1,6 +1,6 @@
# Inform 7
v@var(inform7,Semantic Version Number) '@var(inform7,Version Name)' (@var(inform7,Build Date))
v{bibliographic datum: Semantic Version Number of: inform7} '{bibliographic datum: Version Name of: inform7}' ({bibliographic datum: Build Date of: inform7})
## About Inform 7
@ -75,7 +75,7 @@ something like a helicopter taking off).
**"I can't help feeling that if someone had asked me before the universe began
how it would turn out, I should have guessed something a bit less like an old
curiosity shop and a bit more like a formal French garden an orderly
curiosity shop and a bit more like a formal French garden - an orderly
arrangement of straight avenues, circular walks, and geometrically shaped
trees and hedges."** (Michael Frayn)
@ -89,84 +89,85 @@ becomes public: GitHub Pages does not work on private repositories.)
This repository is where development is done on the following executables:
@define primary(program, language)
* @program - @purpose(@program) - __@version(@program)__ - [&#9733;&nbsp;Web](docs/@program/index.html)
@end
@define primaryd(program, language, doc)
* @program - @purpose(@program) - __@version(@program)__ - [&#9733;&nbsp;Web](docs/@program/index.html) - [&#9654;&nbsp;Documentation](docs/@program/@doc.html)
@end
@define primaryl(program, language, purp)
* @program - @purp - [&#9733;&nbsp;Web](docs/@program/index.html)
@end
@define book(title, path, topic)
* @title - @topic. Ebook in Indoc format, stored at path @path.
@end
@define extension(path)
* @path - __@version(@path)__
@end
@primaryd(inform7, 'Web of InC', 'M-cu')
{define: primary program: PROGRAM}
* {PROGRAM} - {bibliographic datum: Purpose of: {PROGRAM}} - __{bibliographic datum: Version Number of: {PROGRAM}}__ - [&#9733;&nbsp;Web](docs/{PROGRAM}/index.html)
{end-define}
{define: primaryd program: PROGRAM doc: DOCUMENTATION}
* {PROGRAM} - {bibliographic datum: Purpose of: {PROGRAM}} - __{bibliographic datum: Version Number of: {PROGRAM}}__ - [&#9733;&nbsp;Web](docs/{PROGRAM}/index.html) - [&#9654;&nbsp;Documentation](docs/{PROGRAM}/{DOCUMENTATION}.html)
{end-define}
{define: primaryl program: PROGRAM purpose: PURPOSE}
* {PROGRAM} - {PURPOSE} - [&#9733;&nbsp;Web](docs/{PROGRAM}/index.html)
{end-define}
{define: book title: TITLE path: PATH topic: TOPIC}
* {TITLE} - {TOPIC}. Ebook in Indoc format, stored at path {PATH}.
{end-define}
{define: extension path: PATH}
* {PATH} - __{bibliographic datum: Version Number of: {PATH}}__
{end-define}
{primaryd program: inform7 doc: M-cu}
* its modules [&#9733;&nbsp;inflections](docs/inflections-module/index.html), [&#9733;&nbsp;problems](docs/problems-module/index.html), [&#9733;&nbsp;linguistics](docs/linguistics-module/index.html), [&#9733;&nbsp;kinds](docs/kinds-module/index.html), [&#9733;&nbsp;core](docs/core-module/index.html), [&#9733;&nbsp;if](docs/if-module/index.html), [&#9733;&nbsp;multimedia](docs/multimedia-module/index.html), [&#9733;&nbsp;index](docs/index-module/index.html)
* their unit test executables [&#9733;&nbsp;inflections-test](docs/inflections-test/index.html), [&#9733;&nbsp;problems-test](docs/problems-test/index.html), [&#9733;&nbsp;linguistics-test](docs/linguistics-test/index.html), [&#9733;&nbsp;kinds-test](docs/kinds-test/index.html)
@primaryd(inblorb, 'Web of InC', 'M-ui')
@primaryd(inbuild, 'Web of InC', 'M-ui')
{primaryd program: inblorb doc: M-ui}
{primaryd program: inbuild doc: M-ui}
* its modules [&#9733;&nbsp;inbuild](docs/inbuild-module/index.html), [&#9733;&nbsp;arch](docs/arch-module/index.html), [&#9733;&nbsp;html](docs/html-module/index.html), [&#9733;&nbsp;words](docs/words-module/index.html), [&#9733;&nbsp;syntax](docs/syntax-module/index.html)
* two unit test executables [&#9733;&nbsp;words-test](docs/words-test/index.html), [&#9733;&nbsp;syntax-test](docs/syntax-test/index.html)
@primaryd(indoc, 'Web of InC', 'M-iti')
@primaryd(inpolicy, 'Web of InC', 'M-ui')
@primaryd(inrtps, 'Web of InC', 'M-ui')
@primaryd(inter, 'Web of InC', 'M-ui')
{primaryd program: indoc doc: M-iti}
{primaryd program: inpolicy doc: M-ui}
{primaryd program: inrtps doc: M-ui}
{primaryd program: inter doc: M-ui}
* its modules [&#9733;&nbsp;inter](docs/inter-module/index.html), [&#9733;&nbsp;codegen](docs/codegen-module/index.html)
Two webs give detailed expositions of the most important built-in Inform extensions (at the subtree inform7/extensions):
@primary(basic_inform, 'Web of Inform 7')
@primary(standard_rules, 'Web of Inform 7')
{primary program: basic_inform}
{primary program: standard_rules}
This repository also contains kits of Inter code (at the subtree inform7/Internal/Inter). These are libraries of code needed at run-time, and whose source is written in Inform 6 notation:
@primaryl(BasicInformKit, 'Web of Inform 6', 'Support for Inform as a programming language')
@primaryl(WorldModelKit, 'Web of Inform 6', 'Support for modelling space, time and actions in interactive fiction')
@primaryl(EnglishLanguageKit, 'Web of Inform 6', 'Support for English as the natural language used')
@primaryl(CommandParserKit, 'Web of Inform 6', 'Support for parsing turn-by-turn commands in interactive fiction')
@primaryl(BasicInformExtrasKit, 'Web of Inform 6', 'Additional support needed only if the Standard Rules are not used')
{primaryl program: BasicInformKit purpose: Support for Inform as a programming language}
{primaryl program: WorldModelKit purpose: Support for modelling space, time and actions in interactive fiction}
{primaryl program: EnglishLanguageKit purpose: Support for English as the natural language used}
{primaryl program: CommandParserKit purpose: Support for parsing turn-by-turn commands in interactive fiction}
{primaryl program: BasicInformExtrasKit purpose: Additional support needed only if the Standard Rules are not used}
The inform7 subtree further contains these primary resources:
* inform7/Internal/Extensions - Libraries of code. Inform 7
@extension('inform7/Internal/Extensions/Emily Short/Basic Help Menu.i7x')
@extension('inform7/Internal/Extensions/Emily Short/Basic Screen Effects.i7x')
@extension('inform7/Internal/Extensions/Emily Short/Complex Listing.i7x')
@extension('inform7/Internal/Extensions/Emily Short/Glulx Entry Points.i7x')
@extension('inform7/Internal/Extensions/Emily Short/Glulx Image Centering.i7x')
@extension('inform7/Internal/Extensions/Emily Short/Glulx Text Effects.i7x')
@extension('inform7/Internal/Extensions/Emily Short/Inanimate Listeners.i7x')
@extension('inform7/Internal/Extensions/Emily Short/Locksmith.i7x')
@extension('inform7/Internal/Extensions/Emily Short/Menus.i7x')
@extension('inform7/Internal/Extensions/Emily Short/Punctuation Removal.i7x')
@extension('inform7/Internal/Extensions/Emily Short/Skeleton Keys.i7x')
@extension('inform7/Internal/Extensions/Eric Eve/Epistemology.i7x')
@extension('inform7/Internal/Extensions/Graham Nelson/Approximate Metric Units.i7x')
@extension('inform7/Internal/Extensions/Graham Nelson/English Language.i7x')
@extension('inform7/Internal/Extensions/Graham Nelson/Metric Units.i7x')
@extension('inform7/Internal/Extensions/Graham Nelson/Rideable Vehicles.i7x')
@extension('inform7/Internal/Extensions/Graham Nelson/Unicode Character Names.i7x')
@extension('inform7/Internal/Extensions/Graham Nelson/Unicode Full Character Names.i7x')
{extension path: inform7/Internal/Extensions/Emily Short/Basic Help Menu.i7x}
{extension path: inform7/Internal/Extensions/Emily Short/Basic Screen Effects.i7x}
{extension path: inform7/Internal/Extensions/Emily Short/Complex Listing.i7x}
{extension path: inform7/Internal/Extensions/Emily Short/Glulx Entry Points.i7x}
{extension path: inform7/Internal/Extensions/Emily Short/Glulx Image Centering.i7x}
{extension path: inform7/Internal/Extensions/Emily Short/Glulx Text Effects.i7x}
{extension path: inform7/Internal/Extensions/Emily Short/Inanimate Listeners.i7x}
{extension path: inform7/Internal/Extensions/Emily Short/Locksmith.i7x}
{extension path: inform7/Internal/Extensions/Emily Short/Menus.i7x}
{extension path: inform7/Internal/Extensions/Emily Short/Punctuation Removal.i7x}
{extension path: inform7/Internal/Extensions/Emily Short/Skeleton Keys.i7x}
{extension path: inform7/Internal/Extensions/Eric Eve/Epistemology.i7x}
{extension path: inform7/Internal/Extensions/Graham Nelson/Approximate Metric Units.i7x}
{extension path: inform7/Internal/Extensions/Graham Nelson/English Language.i7x}
{extension path: inform7/Internal/Extensions/Graham Nelson/Metric Units.i7x}
{extension path: inform7/Internal/Extensions/Graham Nelson/Rideable Vehicles.i7x}
{extension path: inform7/Internal/Extensions/Graham Nelson/Unicode Character Names.i7x}
{extension path: inform7/Internal/Extensions/Graham Nelson/Unicode Full Character Names.i7x}
* inform7/Internal/HTML - Files needed for generating extension documentation and the like
* inform7/Internal/Languages - Natural language definition bundles
* inform7/Internal/Templates - Template websites for Inform 7's 'release as a website' feature
@define itemplate(program, for)
* @program - @for - __@version(@program)__
@end
@itemplate('inform7/Internal/Templates/Classic', 'An older, plainer website')
@itemplate('inform7/Internal/Templates/Standard', 'The default, more modern look')
{define: itemplate program: PROGRAM purpose: PURPOSE}
* {PROGRAM} - {PURPOSE} - __{bibliographic datum: Version Number of: {PROGRAM}}__
{end-define}
{itemplate program: inform7/Internal/Templates/Classic purpose: An older, plainer website}
{itemplate program: inform7/Internal/Templates/Standard purpose: The default, more modern look}
The "resources" directory holds a number of non-executable items of use to the
Inform UI applications, and to Inform websites:
@book('Changes to Inform', 'resources/Changes', 'A detailed change history of Inform 7')
@book('Writing with Inform and the Inform Recipe Book', 'resources/Documentation', 'The main Inform documentation, as seen in the apps, and in standalone Epubs')
{book title: Changes to Inform path: resources/Changes topic: A detailed change history of Inform 7}
{book title: Writing with Inform and the Inform Recipe Book path: resources/Documentation topic: The main Inform documentation, as seen in the apps, and in standalone Epubs}
* resources/Outcome Pages - Inrtps uses these to generate HTML outcome pages (such as those showing Problem messages in the app)
* resources/Sample Projects - Two small interactive fictions, 'Disenchantment Bay' and 'Onyx', presented as samples in the app. Inform 7
* resources/Sample Projects - Two small interactive fictions, 'Disenchantment Bay' and 'Onyx', presented as samples in the app
Finally, the "retrospective" directory holds ANSI C source and resources needed
to build (some) previous versions of Inform 7.
@ -177,22 +178,22 @@ Stable versions of the following are periodically copied into this repository,
but this is not where development on them is done, and no pull requests will
be accepted. (Note that these are not git submodules.)
@define secondary(program, for, maintainer, username, repository)
* @program - @for - __@version(@program)__ - from [https://github.com/@username/@repository], maintained by [@maintainer](https://github.com/@username)
@end
@secondary(inform6, 'The Inform 6 compiler (used by I7 as a code generator).', 'David Kinder', DavidKinder, Inform6)
{define: secondary program: PROGRAM purpose: PURPOSE maintainer: MAINTAINER username: USERNAME repository: REPOSITORY}
* {PROGRAM} - {PURPOSE} - __{bibliographic datum: Version Number of: {PROGRAM}}__ - from [https://github.com/{USERNAME}/{REPOSITORY}], maintained by [{MAINTAINER}](https://github.com/{USERNAME})
{end-define}
{secondary program: inform6 purpose: The Inform 6 compiler (used by I7 as a code generator). maintainer: David Kinder username: DavidKinder repository: Inform6}
* inform6/Tests/Assistants/dumb-frotz - A dumb-terminal Z-machine interpreter. - unversioned: modified from [Alembic Petrofsky's 1998 Teletype port of Frotz](https://github.com/sussman/ircbot-collection/tree/master/dumb-frotz)
* inform6/Tests/Assistants/dumb-glulx/glulxe - A dumb-terminal Glulx interpreter. - __@version(inform6/Tests/Assistants/dumb-glulx/glulxe)__ - [erkyrath/glulxe](https://github.com/erkyrath/glulxe), maintained by [Andrew Plotkin](https://github.com/erkyrath)
* inform6/Tests/Assistants/dumb-glulx/cheapglk - A basic Glk implementation to support dumb-glulxe. - __@version(inform6/Tests/Assistants/dumb-glulx/cheapglk)__ - [erkyrath/cheapglk](https://github.com/erkyrath/cheapglk), maintained by [Andrew Plotkin](https://github.com/erkyrath)
* inform6/Tests/Assistants/dumb-glulx/glulxe - A dumb-terminal Glulx interpreter. - __{bibliographic datum: Version Number of: inform6/Tests/Assistants/dumb-glulx/glulxe}__ - [erkyrath/glulxe](https://github.com/erkyrath/glulxe), maintained by [Andrew Plotkin](https://github.com/erkyrath)
* inform6/Tests/Assistants/dumb-glulx/cheapglk - A basic Glk implementation to support dumb-glulxe. - __{bibliographic datum: Version Number of: inform6/Tests/Assistants/dumb-glulx/cheapglk}__ - [erkyrath/cheapglk](https://github.com/erkyrath/cheapglk), maintained by [Andrew Plotkin](https://github.com/erkyrath)
* inblorb/Tests/Assistants/blorblib - Code for examining blorb files, including blorbscan, used here for validating inblorb's output in tests. - version 1.0.2 - by [Andrew Plotkin](https://github.com/erkyrath), but not currently elsewhere on Github
@define template(program, for, maintainer, username, repository)
* @program - @for - __@version(@program)__ - from [https://github.com/@username/@repository], maintained by [@maintainer](https://github.com/@username)
@end
{define: template program: PROGRAM purpose: PURPOSE maintainer: MAINTAINER username: USERNAME repository: REPOSITORY}
* {PROGRAM} - {PURPOSE} - __{bibliographic datum: Version Number of: {PROGRAM}}__ - from [https://github.com/{USERNAME}/{REPOSITORY}], maintained by [{MAINTAINER}](https://github.com/{USERNAME})
{end-define}
* inform7/Internal/Templates - Template websites for Inform 7's 'release as a website' feature
@template('inform7/Internal/Templates/Parchment', 'Z-machine in Javascript', 'Dannii Willis', curiousdannii, parchment)
@template('inform7/Internal/Templates/Quixe', 'Glulx in Javascript', 'Andrew Plotkin', erkyrath, quixe)
{template program: inform7/Internal/Templates/Parchment purpose: Z-machine in Javascript maintainer: Dannii Willis username: curiousdannii repository: parchment}
{template program: inform7/Internal/Templates/Quixe purpose: Glulx in Javascript maintainer: Andrew Plotkin username: erkyrath repository: quixe}
### Binary resources (such as image files)
@ -207,11 +208,11 @@ be accepted. (Note that these are not git submodules.)
### Other files and folders in this repository
* docs - Woven forms of the webs, for serving by GitHub Pages
* scripts/gitignorescript.txt - Inweb uses this to generate the .gitignore file at the root of the repository
* scripts/makescript.txt - Inweb uses this to generate a makefile at the root of the repository
* scripts/READMEscript.txt - Inpolicy uses this to generate the README.md file for the repository
* scripts/inform.giscript - Inweb uses this to generate the .gitignore file at the root of the repository
* scripts/inform.mkscript - Inweb uses this to generate the makefile at the root of the repository
* scripts/inform.rmscript - Inweb uses this to generate the README.md file you are now reading
### Colophon
This README.mk file was generated automatically by Inweb, and should not
be edited. To make changes, edit scripts/READMEscript.txt and re-generate.
be edited. To make changes, edit inform.rmscript and re-generate.