mirror of
https://github.com/ganelson/inform.git
synced 2024-07-02 23:14:57 +03:00
Added synoptic/multimedia submodule
This commit is contained in:
parent
741209e225
commit
98e87d9ba5
|
@ -201,7 +201,7 @@ of packages of type <span class="extract"><span class="extract-syntax">_activity
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-act.html#SP2">§2</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-rls.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-su.html">su</a></li><li class="progresssection"><a href="3-ext.html">ext</a></li><li class="progresssection"><a href="3-lt.html">lt</a></li><li class="progresssection"><a href="3-rsp.html">rsp</a></li><li class="progresssection"><a href="3-rls.html">rls</a></li><li class="progresscurrent">act</li><li class="progresssection"><a href="3-act2.html">act2</a></li><li class="progresssection"><a href="3-ins.html">ins</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-rlt.html">rlt</a></li><li class="progresssection"><a href="3-tbl.html">tbl</a></li><li class="progresssection"><a href="3-chr.html">chr</a></li><li class="progresssection"><a href="3-scn.html">scn</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="3-act2.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-rls.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-su.html">su</a></li><li class="progresssection"><a href="3-ext.html">ext</a></li><li class="progresssection"><a href="3-lt.html">lt</a></li><li class="progresssection"><a href="3-rsp.html">rsp</a></li><li class="progresssection"><a href="3-rls.html">rls</a></li><li class="progresscurrent">act</li><li class="progresssection"><a href="3-act2.html">act2</a></li><li class="progresssection"><a href="3-ins.html">ins</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-rlt.html">rlt</a></li><li class="progresssection"><a href="3-tbl.html">tbl</a></li><li class="progresssection"><a href="3-chr.html">chr</a></li><li class="progresssection"><a href="3-scn.html">scn</a></li><li class="progresssection"><a href="3-mlt.html">mlt</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="3-act2.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -274,7 +274,7 @@ of packages of type <span class="extract"><span class="extract-syntax">_action</
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-act2.html#SP3">§3</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-act.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-su.html">su</a></li><li class="progresssection"><a href="3-ext.html">ext</a></li><li class="progresssection"><a href="3-lt.html">lt</a></li><li class="progresssection"><a href="3-rsp.html">rsp</a></li><li class="progresssection"><a href="3-rls.html">rls</a></li><li class="progresssection"><a href="3-act.html">act</a></li><li class="progresscurrent">act2</li><li class="progresssection"><a href="3-ins.html">ins</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-rlt.html">rlt</a></li><li class="progresssection"><a href="3-tbl.html">tbl</a></li><li class="progresssection"><a href="3-chr.html">chr</a></li><li class="progresssection"><a href="3-scn.html">scn</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="3-ins.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-act.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-su.html">su</a></li><li class="progresssection"><a href="3-ext.html">ext</a></li><li class="progresssection"><a href="3-lt.html">lt</a></li><li class="progresssection"><a href="3-rsp.html">rsp</a></li><li class="progresssection"><a href="3-rls.html">rls</a></li><li class="progresssection"><a href="3-act.html">act</a></li><li class="progresscurrent">act2</li><li class="progresssection"><a href="3-ins.html">ins</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-rlt.html">rlt</a></li><li class="progresssection"><a href="3-tbl.html">tbl</a></li><li class="progresssection"><a href="3-chr.html">chr</a></li><li class="progresssection"><a href="3-scn.html">scn</a></li><li class="progresssection"><a href="3-mlt.html">mlt</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="3-ins.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -623,7 +623,7 @@ of packages of type <span class="extract"><span class="extract-syntax">_relation
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-chr.html#SP2_6">§2.6</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-tbl.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-su.html">su</a></li><li class="progresssection"><a href="3-ext.html">ext</a></li><li class="progresssection"><a href="3-lt.html">lt</a></li><li class="progresssection"><a href="3-rsp.html">rsp</a></li><li class="progresssection"><a href="3-rls.html">rls</a></li><li class="progresssection"><a href="3-act.html">act</a></li><li class="progresssection"><a href="3-act2.html">act2</a></li><li class="progresssection"><a href="3-ins.html">ins</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-rlt.html">rlt</a></li><li class="progresssection"><a href="3-tbl.html">tbl</a></li><li class="progresscurrent">chr</li><li class="progresssection"><a href="3-scn.html">scn</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="3-scn.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-tbl.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-su.html">su</a></li><li class="progresssection"><a href="3-ext.html">ext</a></li><li class="progresssection"><a href="3-lt.html">lt</a></li><li class="progresssection"><a href="3-rsp.html">rsp</a></li><li class="progresssection"><a href="3-rls.html">rls</a></li><li class="progresssection"><a href="3-act.html">act</a></li><li class="progresssection"><a href="3-act2.html">act2</a></li><li class="progresssection"><a href="3-ins.html">ins</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-rlt.html">rlt</a></li><li class="progresssection"><a href="3-tbl.html">tbl</a></li><li class="progresscurrent">chr</li><li class="progresssection"><a href="3-scn.html">scn</a></li><li class="progresssection"><a href="3-mlt.html">mlt</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="3-scn.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -215,7 +215,7 @@ is its allocation ID plus 1. (In effect, this means extensions are numbered from
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-ext.html#SP2">§2</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-su.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-su.html">su</a></li><li class="progresscurrent">ext</li><li class="progresssection"><a href="3-lt.html">lt</a></li><li class="progresssection"><a href="3-rsp.html">rsp</a></li><li class="progresssection"><a href="3-rls.html">rls</a></li><li class="progresssection"><a href="3-act.html">act</a></li><li class="progresssection"><a href="3-act2.html">act2</a></li><li class="progresssection"><a href="3-ins.html">ins</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-rlt.html">rlt</a></li><li class="progresssection"><a href="3-tbl.html">tbl</a></li><li class="progresssection"><a href="3-chr.html">chr</a></li><li class="progresssection"><a href="3-scn.html">scn</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="3-lt.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-su.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-su.html">su</a></li><li class="progresscurrent">ext</li><li class="progresssection"><a href="3-lt.html">lt</a></li><li class="progresssection"><a href="3-rsp.html">rsp</a></li><li class="progresssection"><a href="3-rls.html">rls</a></li><li class="progresssection"><a href="3-act.html">act</a></li><li class="progresssection"><a href="3-act2.html">act2</a></li><li class="progresssection"><a href="3-ins.html">ins</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-rlt.html">rlt</a></li><li class="progresssection"><a href="3-tbl.html">tbl</a></li><li class="progresssection"><a href="3-chr.html">chr</a></li><li class="progresssection"><a href="3-scn.html">scn</a></li><li class="progresssection"><a href="3-mlt.html">mlt</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="3-lt.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -92,7 +92,7 @@ of packages of type <span class="extract"><span class="extract-syntax">_instance
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-act2.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-su.html">su</a></li><li class="progresssection"><a href="3-ext.html">ext</a></li><li class="progresssection"><a href="3-lt.html">lt</a></li><li class="progresssection"><a href="3-rsp.html">rsp</a></li><li class="progresssection"><a href="3-rls.html">rls</a></li><li class="progresssection"><a href="3-act.html">act</a></li><li class="progresssection"><a href="3-act2.html">act2</a></li><li class="progresscurrent">ins</li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-rlt.html">rlt</a></li><li class="progresssection"><a href="3-tbl.html">tbl</a></li><li class="progresssection"><a href="3-chr.html">chr</a></li><li class="progresssection"><a href="3-scn.html">scn</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="3-prp.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-act2.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-su.html">su</a></li><li class="progresssection"><a href="3-ext.html">ext</a></li><li class="progresssection"><a href="3-lt.html">lt</a></li><li class="progresssection"><a href="3-rsp.html">rsp</a></li><li class="progresssection"><a href="3-rls.html">rls</a></li><li class="progresssection"><a href="3-act.html">act</a></li><li class="progresssection"><a href="3-act2.html">act2</a></li><li class="progresscurrent">ins</li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-rlt.html">rlt</a></li><li class="progresssection"><a href="3-tbl.html">tbl</a></li><li class="progresssection"><a href="3-chr.html">chr</a></li><li class="progresssection"><a href="3-scn.html">scn</a></li><li class="progresssection"><a href="3-mlt.html">mlt</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="3-prp.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -200,7 +200,7 @@ and use that to define a sorting function on nodes:
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-ext.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-su.html">su</a></li><li class="progresssection"><a href="3-ext.html">ext</a></li><li class="progresscurrent">lt</li><li class="progresssection"><a href="3-rsp.html">rsp</a></li><li class="progresssection"><a href="3-rls.html">rls</a></li><li class="progresssection"><a href="3-act.html">act</a></li><li class="progresssection"><a href="3-act2.html">act2</a></li><li class="progresssection"><a href="3-ins.html">ins</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-rlt.html">rlt</a></li><li class="progresssection"><a href="3-tbl.html">tbl</a></li><li class="progresssection"><a href="3-chr.html">chr</a></li><li class="progresssection"><a href="3-scn.html">scn</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="3-rsp.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-ext.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-su.html">su</a></li><li class="progresssection"><a href="3-ext.html">ext</a></li><li class="progresscurrent">lt</li><li class="progresssection"><a href="3-rsp.html">rsp</a></li><li class="progresssection"><a href="3-rls.html">rls</a></li><li class="progresssection"><a href="3-act.html">act</a></li><li class="progresssection"><a href="3-act2.html">act2</a></li><li class="progresssection"><a href="3-ins.html">ins</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-rlt.html">rlt</a></li><li class="progresssection"><a href="3-tbl.html">tbl</a></li><li class="progresssection"><a href="3-chr.html">chr</a></li><li class="progresssection"><a href="3-scn.html">scn</a></li><li class="progresssection"><a href="3-mlt.html">mlt</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="3-rsp.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
189
docs/codegen-module/3-mlt.html
Normal file
189
docs/codegen-module/3-mlt.html
Normal file
|
@ -0,0 +1,189 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Multimedia</title>
|
||||
<link href="../docs-assets/Breadcrumbs.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<meta name="viewport" content="width=device-width initial-scale=1">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="Content-Language" content="en-gb">
|
||||
|
||||
<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">
|
||||
<script>
|
||||
function togglePopup(material_id) {
|
||||
var popup = document.getElementById(material_id);
|
||||
popup.classList.toggle("show");
|
||||
}
|
||||
</script>
|
||||
|
||||
<link href="../docs-assets/Popups.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
<link href="../docs-assets/Colours.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
|
||||
</head>
|
||||
<body class="commentary-font">
|
||||
<nav role="navigation">
|
||||
<h1><a href="../index.html">
|
||||
<img src="../docs-assets/Inform.png" height=72">
|
||||
</a></h1>
|
||||
<ul><li><a href="../compiler.html">compiler tools</a></li>
|
||||
<li><a href="../other.html">other tools</a></li>
|
||||
<li><a href="../extensions.html">extensions and kits</a></li>
|
||||
<li><a href="../units.html">unit test tools</a></li>
|
||||
</ul><h2>Compiler Webs</h2><ul>
|
||||
<li><a href="../inbuild/index.html">inbuild</a></li>
|
||||
<li><a href="../inform7/index.html">inform7</a></li>
|
||||
<li><a href="../inter/index.html">inter</a></li>
|
||||
</ul><h2>Inbuild Modules</h2><ul>
|
||||
<li><a href="../supervisor-module/index.html">supervisor</a></li>
|
||||
</ul><h2>Inform7 Modules</h2><ul>
|
||||
<li><a href="../core-module/index.html">core</a></li>
|
||||
<li><a href="../assertions-module/index.html">assertions</a></li>
|
||||
<li><a href="../values-module/index.html">values</a></li>
|
||||
<li><a href="../knowledge-module/index.html">knowledge</a></li>
|
||||
<li><a href="../imperative-module/index.html">imperative</a></li>
|
||||
<li><a href="../runtime-module/index.html">runtime</a></li>
|
||||
<li><a href="../if-module/index.html">if</a></li>
|
||||
<li><a href="../multimedia-module/index.html">multimedia</a></li>
|
||||
<li><a href="../index-module/index.html">index</a></li>
|
||||
</ul><h2>Inter Modules</h2><ul>
|
||||
<li><a href="../bytecode-module/index.html">bytecode</a></li>
|
||||
<li><a href="../building-module/index.html">building</a></li>
|
||||
<li><a href="index.html"><span class="selectedlink">codegen</span></a></li>
|
||||
</ul><h2>Services</h2><ul>
|
||||
<li><a href="../arch-module/index.html">arch</a></li>
|
||||
<li><a href="../calculus-module/index.html">calculus</a></li>
|
||||
<li><a href="../html-module/index.html">html</a></li>
|
||||
<li><a href="../inflections-module/index.html">inflections</a></li>
|
||||
<li><a href="../kinds-module/index.html">kinds</a></li>
|
||||
<li><a href="../linguistics-module/index.html">linguistics</a></li>
|
||||
<li><a href="../problems-module/index.html">problems</a></li>
|
||||
<li><a href="../syntax-module/index.html">syntax</a></li>
|
||||
<li><a href="../words-module/index.html">words</a></li>
|
||||
<li><a href="../../../inweb/docs/foundation-module/index.html">foundation</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
<main role="main">
|
||||
<!--Weave of 'Multimedia' generated by Inweb-->
|
||||
<div class="breadcrumbs">
|
||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">codegen</a></li><li><a href="index.html#3">Chapter 3: Synoptic Resources</a></li><li><b>Multimedia</b></li></ul></div>
|
||||
<p class="purpose">To construct suitable functions and arrays for figures, sounds, and external files.</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b>Before this runs, instances of these are scattered all over the Inter tree.
|
||||
</p>
|
||||
|
||||
<p class="commentary">As this is called, <a href="3-su.html" class="internal">Synoptic Utilities</a> has already formed lists of <span class="extract"><span class="extract-syntax">sound_nodes</span></span>
|
||||
of instances having the kind <span class="extract"><span class="extract-syntax">K_sound_name</span></span>, and so on.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">SynopticMultimedia::renumber</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">SynopticMultimedia::renumber</span></span>:<br/>Synoptic Utilities - <a href="3-su.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">figure_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">figure_nodes</span><span class="plain-syntax">, </span><a href="3-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">sound_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">sound_nodes</span><span class="plain-syntax">, </span><a href="3-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">file_nodes</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::sort</span><span class="plain-syntax">(</span><span class="identifier-syntax">file_nodes</span><span class="plain-syntax">, </span><a href="3-su.html#SP2" class="function-link"><span class="function-syntax">Synoptic::module_order</span></a><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. </b>There are also resources to create in the <span class="extract"><span class="extract-syntax">synoptic</span></span> module:
|
||||
</p>
|
||||
|
||||
<pre class="definitions code-font"><span class="definition-keyword">enum</span> <span class="constant-syntax">RESOURCEIDSOFFIGURES_SYNID</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">RESOURCEIDSOFSOUNDS_SYNID</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">NO_EXTERNAL_FILES_SYNID</span>
|
||||
<span class="definition-keyword">enum</span> <span class="constant-syntax">TABLEOFEXTERNALFILES_SYNID</span>
|
||||
</pre>
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">SynopticMultimedia::redefine</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">SynopticMultimedia::redefine</span></span>:<br/>Synoptic Utilities - <a href="3-su.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">con_s</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">synid</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::container</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">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Q</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_bookmark</span><span class="plain-syntax"> </span><span class="identifier-syntax">IBM</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Bookmarks::at_end_of_this_package</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">switch</span><span class="plain-syntax"> (</span><span class="identifier-syntax">synid</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">RESOURCEIDSOFFIGURES_SYNID:</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Symbols::strike_definition</span><span class="plain-syntax">(</span><span class="identifier-syntax">con_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Q</span><span class="plain-syntax"> = </span><a href="3-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">con_s</span><span class="plain-syntax">, &</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-mlt.html#SP2_1" class="named-paragraph-link"><span class="named-paragraph">Define the new RESOURCEIDSOFFIGURES array as Q</span><span class="named-paragraph-number">2.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="3-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">Q</span><span class="plain-syntax">, &</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">RESOURCEIDSOFSOUNDS_SYNID:</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Symbols::strike_definition</span><span class="plain-syntax">(</span><span class="identifier-syntax">con_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Q</span><span class="plain-syntax"> = </span><a href="3-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">con_s</span><span class="plain-syntax">, &</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-mlt.html#SP2_2" class="named-paragraph-link"><span class="named-paragraph">Define the new RESOURCEIDSOFSOUNDS array as Q</span><span class="named-paragraph-number">2.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="3-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">Q</span><span class="plain-syntax">, &</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">NO_EXTERNAL_FILES_SYNID:</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Symbols::strike_definition</span><span class="plain-syntax">(</span><span class="identifier-syntax">con_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-mlt.html#SP2_3" class="named-paragraph-link"><span class="named-paragraph">Define NO_EXTERNAL_FILES</span><span class="named-paragraph-number">2.3</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">TABLEOFEXTERNALFILES_SYNID:</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Symbols::strike_definition</span><span class="plain-syntax">(</span><span class="identifier-syntax">con_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Q</span><span class="plain-syntax"> = </span><a href="3-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::begin_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">con_s</span><span class="plain-syntax">, &</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-mlt.html#SP2_4" class="named-paragraph-link"><span class="named-paragraph">Define the new TABLEOFEXTERNALFILES array as Q</span><span class="named-paragraph-number">2.4</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="3-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::end_array</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">Q</span><span class="plain-syntax">, &</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">default:</span><span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP2_1" class="paragraph-anchor"></a><b>§2.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define the new RESOURCEIDSOFFIGURES array as Q</span><span class="named-paragraph-number">2.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><a href="3-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">Q</span><span class="plain-syntax">, </span><span class="constant-syntax">0</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"><</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">figure_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">figure_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^resource_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">Q</span><span class="plain-syntax">, </span><span class="identifier-syntax">id</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="3-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">Q</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-mlt.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_2" class="paragraph-anchor"></a><b>§2.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define the new RESOURCEIDSOFSOUNDS array as Q</span><span class="named-paragraph-number">2.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><a href="3-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">Q</span><span class="plain-syntax">, </span><span class="constant-syntax">0</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"><</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">sound_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">sound_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">id</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_numeric</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^resource_id"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">Q</span><span class="plain-syntax">, </span><span class="identifier-syntax">id</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="3-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">Q</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-mlt.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_3" class="paragraph-anchor"></a><b>§2.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define NO_EXTERNAL_FILES</span><span class="named-paragraph-number">2.3</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><a href="3-su.html#SP4" class="function-link"><span class="function-syntax">Synoptic::def_numeric_constant</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">con_s</span><span class="plain-syntax">, (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">file_nodes</span><span class="plain-syntax">), &</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-mlt.html#SP2">§2</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP2_4" class="paragraph-anchor"></a><b>§2.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Define the new TABLEOFEXTERNALFILES array as Q</span><span class="named-paragraph-number">2.4</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><a href="3-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">Q</span><span class="plain-syntax">, </span><span class="constant-syntax">0</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"><</span><span class="identifier-syntax">TreeLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">file_nodes</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">file_nodes</span><span class="plain-syntax">-></span><span class="identifier-syntax">list</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">].</span><span class="identifier-syntax">node</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vc_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Metadata::read_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^file_value"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::symbol_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">Q</span><span class="plain-syntax">, </span><span class="identifier-syntax">vc_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><a href="3-su.html#SP5" class="function-link"><span class="function-syntax">Synoptic::numeric_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">Q</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-mlt.html#SP2">§2</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-scn.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-su.html">su</a></li><li class="progresssection"><a href="3-ext.html">ext</a></li><li class="progresssection"><a href="3-lt.html">lt</a></li><li class="progresssection"><a href="3-rsp.html">rsp</a></li><li class="progresssection"><a href="3-rls.html">rls</a></li><li class="progresssection"><a href="3-act.html">act</a></li><li class="progresssection"><a href="3-act2.html">act2</a></li><li class="progresssection"><a href="3-ins.html">ins</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-rlt.html">rlt</a></li><li class="progresssection"><a href="3-tbl.html">tbl</a></li><li class="progresssection"><a href="3-chr.html">chr</a></li><li class="progresssection"><a href="3-scn.html">scn</a></li><li class="progresscurrent">mlt</li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="4-cg.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -119,7 +119,7 @@ of packages of type <span class="extract"><span class="extract-syntax">_activity
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-prp.html#SP2">§2</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-ins.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-su.html">su</a></li><li class="progresssection"><a href="3-ext.html">ext</a></li><li class="progresssection"><a href="3-lt.html">lt</a></li><li class="progresssection"><a href="3-rsp.html">rsp</a></li><li class="progresssection"><a href="3-rls.html">rls</a></li><li class="progresssection"><a href="3-act.html">act</a></li><li class="progresssection"><a href="3-act2.html">act2</a></li><li class="progresssection"><a href="3-ins.html">ins</a></li><li class="progresscurrent">prp</li><li class="progresssection"><a href="3-rlt.html">rlt</a></li><li class="progresssection"><a href="3-tbl.html">tbl</a></li><li class="progresssection"><a href="3-chr.html">chr</a></li><li class="progresssection"><a href="3-scn.html">scn</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="3-rlt.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-ins.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-su.html">su</a></li><li class="progresssection"><a href="3-ext.html">ext</a></li><li class="progresssection"><a href="3-lt.html">lt</a></li><li class="progresssection"><a href="3-rsp.html">rsp</a></li><li class="progresssection"><a href="3-rls.html">rls</a></li><li class="progresssection"><a href="3-act.html">act</a></li><li class="progresssection"><a href="3-act2.html">act2</a></li><li class="progresssection"><a href="3-ins.html">ins</a></li><li class="progresscurrent">prp</li><li class="progresssection"><a href="3-rlt.html">rlt</a></li><li class="progresssection"><a href="3-tbl.html">tbl</a></li><li class="progresssection"><a href="3-chr.html">chr</a></li><li class="progresssection"><a href="3-scn.html">scn</a></li><li class="progresssection"><a href="3-mlt.html">mlt</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="3-rlt.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -367,7 +367,7 @@ of packages of type <span class="extract"><span class="extract-syntax">_rulebook
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-rls.html#SP2_7">§2.7</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-rsp.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-su.html">su</a></li><li class="progresssection"><a href="3-ext.html">ext</a></li><li class="progresssection"><a href="3-lt.html">lt</a></li><li class="progresssection"><a href="3-rsp.html">rsp</a></li><li class="progresscurrent">rls</li><li class="progresssection"><a href="3-act.html">act</a></li><li class="progresssection"><a href="3-act2.html">act2</a></li><li class="progresssection"><a href="3-ins.html">ins</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-rlt.html">rlt</a></li><li class="progresssection"><a href="3-tbl.html">tbl</a></li><li class="progresssection"><a href="3-chr.html">chr</a></li><li class="progresssection"><a href="3-scn.html">scn</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="3-act.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-rsp.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-su.html">su</a></li><li class="progresssection"><a href="3-ext.html">ext</a></li><li class="progresssection"><a href="3-lt.html">lt</a></li><li class="progresssection"><a href="3-rsp.html">rsp</a></li><li class="progresscurrent">rls</li><li class="progresssection"><a href="3-act.html">act</a></li><li class="progresssection"><a href="3-act2.html">act2</a></li><li class="progresssection"><a href="3-ins.html">ins</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-rlt.html">rlt</a></li><li class="progresssection"><a href="3-tbl.html">tbl</a></li><li class="progresssection"><a href="3-chr.html">chr</a></li><li class="progresssection"><a href="3-scn.html">scn</a></li><li class="progresssection"><a href="3-mlt.html">mlt</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="3-act.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -199,7 +199,7 @@ of packages of type <span class="extract"><span class="extract-syntax">_relation
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-rlt.html#SP2">§2</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-prp.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-su.html">su</a></li><li class="progresssection"><a href="3-ext.html">ext</a></li><li class="progresssection"><a href="3-lt.html">lt</a></li><li class="progresssection"><a href="3-rsp.html">rsp</a></li><li class="progresssection"><a href="3-rls.html">rls</a></li><li class="progresssection"><a href="3-act.html">act</a></li><li class="progresssection"><a href="3-act2.html">act2</a></li><li class="progresssection"><a href="3-ins.html">ins</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresscurrent">rlt</li><li class="progresssection"><a href="3-tbl.html">tbl</a></li><li class="progresssection"><a href="3-chr.html">chr</a></li><li class="progresssection"><a href="3-scn.html">scn</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="3-tbl.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-prp.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-su.html">su</a></li><li class="progresssection"><a href="3-ext.html">ext</a></li><li class="progresssection"><a href="3-lt.html">lt</a></li><li class="progresssection"><a href="3-rsp.html">rsp</a></li><li class="progresssection"><a href="3-rls.html">rls</a></li><li class="progresssection"><a href="3-act.html">act</a></li><li class="progresssection"><a href="3-act2.html">act2</a></li><li class="progresssection"><a href="3-ins.html">ins</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresscurrent">rlt</li><li class="progresssection"><a href="3-tbl.html">tbl</a></li><li class="progresssection"><a href="3-chr.html">chr</a></li><li class="progresssection"><a href="3-scn.html">scn</a></li><li class="progresssection"><a href="3-mlt.html">mlt</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="3-tbl.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -269,7 +269,7 @@ code is less limited.
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-rsp.html#SP2">§2</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-lt.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-su.html">su</a></li><li class="progresssection"><a href="3-ext.html">ext</a></li><li class="progresssection"><a href="3-lt.html">lt</a></li><li class="progresscurrent">rsp</li><li class="progresssection"><a href="3-rls.html">rls</a></li><li class="progresssection"><a href="3-act.html">act</a></li><li class="progresssection"><a href="3-act2.html">act2</a></li><li class="progresssection"><a href="3-ins.html">ins</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-rlt.html">rlt</a></li><li class="progresssection"><a href="3-tbl.html">tbl</a></li><li class="progresssection"><a href="3-chr.html">chr</a></li><li class="progresssection"><a href="3-scn.html">scn</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="3-rls.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-lt.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-su.html">su</a></li><li class="progresssection"><a href="3-ext.html">ext</a></li><li class="progresssection"><a href="3-lt.html">lt</a></li><li class="progresscurrent">rsp</li><li class="progresssection"><a href="3-rls.html">rls</a></li><li class="progresssection"><a href="3-act.html">act</a></li><li class="progresssection"><a href="3-act2.html">act2</a></li><li class="progresssection"><a href="3-ins.html">ins</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-rlt.html">rlt</a></li><li class="progresssection"><a href="3-tbl.html">tbl</a></li><li class="progresssection"><a href="3-chr.html">chr</a></li><li class="progresssection"><a href="3-scn.html">scn</a></li><li class="progresssection"><a href="3-mlt.html">mlt</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="3-rls.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -72,12 +72,11 @@ function togglePopup(material_id) {
|
|||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inter Modules</a></li><li><a href="index.html">codegen</a></li><li><a href="index.html#3">Chapter 3: Synoptic Resources</a></li><li><b>Scenes</b></li></ul></div>
|
||||
<p class="purpose">To renumber the scenes and construct suitable functions and arrays.</p>
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b>Before this runs, property packages are scattered all over the Inter tree.
|
||||
We must allocate each one a unique ID.
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. </b>Before this runs, instances of scenes are scattered all over the Inter tree.
|
||||
</p>
|
||||
|
||||
<p class="commentary">As this is called, <a href="3-su.html" class="internal">Synoptic Utilities</a> has already formed a list <span class="extract"><span class="extract-syntax">property_nodes</span></span>
|
||||
of packages of type <span class="extract"><span class="extract-syntax">_activity</span></span>.
|
||||
<p class="commentary">As this is called, <a href="3-su.html" class="internal">Synoptic Utilities</a> has already formed a list <span class="extract"><span class="extract-syntax">scene_nodes</span></span>
|
||||
of instances having the kind <span class="extract"><span class="extract-syntax">K_scene</span></span>.
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
|
@ -146,7 +145,6 @@ whether any change in status has or has not occurred.
|
|||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">chs_s</span><span class="plain-syntax"> = </span><a href="3-su.html#SP3" class="function-link"><span class="function-syntax">Synoptic::get_local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"chs"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">myself_s</span><span class="plain-syntax"> = </span><a href="3-su.html#SP3" class="function-link"><span class="function-syntax">Synoptic::get_local</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"myself"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Again_l</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Produce::reserve_label</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">".Again"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">CScene_l</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Produce::reserve_label</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">".CScene"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::place_label</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">Again_l</span><span class="plain-syntax">);</span>
|
||||
|
@ -189,14 +187,6 @@ whether any change in status has or has not occurred.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::down</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::ref_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_value</span><span class="plain-syntax">, </span><span class="identifier-syntax">chs_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::up</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="comment-syntax"> Produce::inv_call(I, myself_s);</span>
|
||||
<span class="comment-syntax"> Produce::down(I);</span>
|
||||
<span class="comment-syntax"> Produce::inv_primitive(I, PREINCREMENT_BIP);</span>
|
||||
<span class="comment-syntax"> Produce::down(I);</span>
|
||||
<span class="comment-syntax"> Produce::ref_symbol(I, K_value, chs_s);</span>
|
||||
<span class="comment-syntax"> Produce::up(I);</span>
|
||||
<span class="comment-syntax"> Produce::up(I);</span>
|
||||
<span class="comment-syntax"> Produce::rtrue(I);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::inv_primitive</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">JUMP_BIP</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::down</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::lab</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">Again_l</span><span class="plain-syntax">);</span>
|
||||
|
@ -204,7 +194,7 @@ whether any change in status has or has not occurred.
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-scn.html#SP2">§2</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-chr.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-su.html">su</a></li><li class="progresssection"><a href="3-ext.html">ext</a></li><li class="progresssection"><a href="3-lt.html">lt</a></li><li class="progresssection"><a href="3-rsp.html">rsp</a></li><li class="progresssection"><a href="3-rls.html">rls</a></li><li class="progresssection"><a href="3-act.html">act</a></li><li class="progresssection"><a href="3-act2.html">act2</a></li><li class="progresssection"><a href="3-ins.html">ins</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-rlt.html">rlt</a></li><li class="progresssection"><a href="3-tbl.html">tbl</a></li><li class="progresssection"><a href="3-chr.html">chr</a></li><li class="progresscurrent">scn</li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="4-cg.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-chr.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-su.html">su</a></li><li class="progresssection"><a href="3-ext.html">ext</a></li><li class="progresssection"><a href="3-lt.html">lt</a></li><li class="progresssection"><a href="3-rsp.html">rsp</a></li><li class="progresssection"><a href="3-rls.html">rls</a></li><li class="progresssection"><a href="3-act.html">act</a></li><li class="progresssection"><a href="3-act2.html">act2</a></li><li class="progresssection"><a href="3-ins.html">ins</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-rlt.html">rlt</a></li><li class="progresssection"><a href="3-tbl.html">tbl</a></li><li class="progresssection"><a href="3-chr.html">chr</a></li><li class="progresscurrent">scn</li><li class="progresssection"><a href="3-mlt.html">mlt</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="3-mlt.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -99,6 +99,9 @@ function togglePopup(material_id) {
|
|||
<span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">past_tense_condition_nodes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">instance_nodes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">scene_nodes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">file_nodes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">figure_nodes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
<span class="identifier-syntax">inter_tree_location_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sound_nodes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::go</span><span class="plain-syntax">(</span><span class="reserved-syntax">pipeline_step</span><span class="plain-syntax"> *</span><span class="identifier-syntax">step</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">text_nodes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TreeLists::new</span><span class="plain-syntax">();</span>
|
||||
|
@ -117,6 +120,9 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">past_tense_condition_nodes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TreeLists::new</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">instance_nodes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TreeLists::new</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">scene_nodes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TreeLists::new</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">file_nodes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TreeLists::new</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">figure_nodes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TreeLists::new</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">sound_nodes</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TreeLists::new</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterTree::traverse</span><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">repository</span><span class="plain-syntax">, </span><a href="3-su.html#SP1" class="function-link"><span class="function-syntax">Synoptic::visitor</span></a><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-lt.html#SP1" class="function-link"><span class="function-syntax">SynopticText::alphabetise</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">repository</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_nodes</span><span class="plain-syntax">);</span>
|
||||
|
||||
|
@ -132,6 +138,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><a href="3-chr.html#SP1" class="function-link"><span class="function-syntax">SynopticChronology::renumber</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">repository</span><span class="plain-syntax">, </span><span class="identifier-syntax">past_tense_action_nodes</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-ins.html#SP1" class="function-link"><span class="function-syntax">SynopticInstances::renumber</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">repository</span><span class="plain-syntax">, </span><span class="identifier-syntax">instance_nodes</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-scn.html#SP1" class="function-link"><span class="function-syntax">SynopticScenes::renumber</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">repository</span><span class="plain-syntax">, </span><span class="identifier-syntax">scene_nodes</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="3-mlt.html#SP1" class="function-link"><span class="function-syntax">SynopticMultimedia::renumber</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">step</span><span class="plain-syntax">-></span><span class="element-syntax">repository</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
|
@ -178,6 +185,12 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Package::defined_by_frame</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::exists</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^is_scene"</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::add</span><span class="plain-syntax">(</span><span class="identifier-syntax">scene_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::exists</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^is_file"</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::add</span><span class="plain-syntax">(</span><span class="identifier-syntax">file_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::exists</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^is_figure"</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::add</span><span class="plain-syntax">(</span><span class="identifier-syntax">figure_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Metadata::exists</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"^is_sound"</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TreeLists::add</span><span class="plain-syntax">(</span><span class="identifier-syntax">sound_nodes</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -204,13 +217,14 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="3-tbl.html#SP2" class="function-link"><span class="function-syntax">SynopticTables::redefine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">con_s</span><span class="plain-syntax">, </span><span class="identifier-syntax">synid</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="3-chr.html#SP2" class="function-link"><span class="function-syntax">SynopticChronology::redefine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">con_s</span><span class="plain-syntax">, </span><span class="identifier-syntax">synid</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="3-scn.html#SP2" class="function-link"><span class="function-syntax">SynopticScenes::redefine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">con_s</span><span class="plain-syntax">, </span><span class="identifier-syntax">synid</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="3-mlt.html#SP2" class="function-link"><span class="function-syntax">SynopticMultimedia::redefine</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">con_s</span><span class="plain-syntax">, </span><span class="identifier-syntax">synid</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"Couldn't consolidate $3\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">con_s</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"symbol cannot be consolidated"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::module_order</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">Synoptic::module_order</span></span>:<br/>Rules - <a href="3-rls.html#SP1">§1</a><br/>Activities - <a href="3-act.html#SP1">§1</a><br/>Actions - <a href="3-act2.html#SP2">§2</a><br/>Instances - <a href="3-ins.html#SP1">§1</a><br/>Properties - <a href="3-prp.html#SP1">§1</a><br/>Relations - <a href="3-rlt.html#SP1">§1</a><br/>Tables - <a href="3-tbl.html#SP1">§1</a><br/>Chronology - <a href="3-chr.html#SP1">§1</a><br/>Scenes - <a href="3-scn.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ent1</span><span class="plain-syntax">, </span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ent2</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::module_order</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">Synoptic::module_order</span></span>:<br/>Rules - <a href="3-rls.html#SP1">§1</a><br/>Activities - <a href="3-act.html#SP1">§1</a><br/>Actions - <a href="3-act2.html#SP2">§2</a><br/>Instances - <a href="3-ins.html#SP1">§1</a><br/>Properties - <a href="3-prp.html#SP1">§1</a><br/>Relations - <a href="3-rlt.html#SP1">§1</a><br/>Tables - <a href="3-tbl.html#SP1">§1</a><br/>Chronology - <a href="3-chr.html#SP1">§1</a><br/>Scenes - <a href="3-scn.html#SP1">§1</a><br/>Multimedia - <a href="3-mlt.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ent1</span><span class="plain-syntax">, </span><span class="reserved-syntax">const</span><span class="plain-syntax"> </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ent2</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E1</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">ent1</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E2</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">itl_entry</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">ent2</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">E1</span><span class="plain-syntax"> == </span><span class="identifier-syntax">E2</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||
|
@ -282,7 +296,7 @@ function togglePopup(material_id) {
|
|||
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>§4. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::def_numeric_constant</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">Synoptic::def_numeric_constant</span></span>:<br/>Responses - <a href="3-rsp.html#SP2_1">§2.1</a><br/>Rules - <a href="3-rls.html#SP2_1">§2.1</a><br/>Actions - <a href="3-act2.html#SP3_1">§3.1</a>, <a href="3-act2.html#SP3_5">§3.5</a><br/>Properties - <a href="3-prp.html#SP2_1">§2.1</a><br/>Relations - <a href="3-rlt.html#SP2_1">§2.1</a><br/>Chronology - <a href="3-chr.html#SP2_4">§2.4</a>, <a href="3-chr.html#SP2_5">§2.5</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">con_s</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_bookmark</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::def_numeric_constant</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">Synoptic::def_numeric_constant</span></span>:<br/>Responses - <a href="3-rsp.html#SP2_1">§2.1</a><br/>Rules - <a href="3-rls.html#SP2_1">§2.1</a><br/>Actions - <a href="3-act2.html#SP3_1">§3.1</a>, <a href="3-act2.html#SP3_5">§3.5</a><br/>Properties - <a href="3-prp.html#SP2_1">§2.1</a><br/>Relations - <a href="3-rlt.html#SP2_1">§2.1</a><br/>Chronology - <a href="3-chr.html#SP2_4">§2.4</a>, <a href="3-chr.html#SP2_5">§2.5</a><br/>Multimedia - <a href="3-mlt.html#SP2_3">§2.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">con_s</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_bookmark</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::guard</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Constant::new_numerical</span><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::id_from_IRS_and_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">, </span><span class="identifier-syntax">con_s</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::id_from_IRS_and_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">, </span><span class="identifier-syntax">list_of_unchecked_kind_symbol</span><span class="plain-syntax">),</span>
|
||||
|
@ -303,7 +317,7 @@ function togglePopup(material_id) {
|
|||
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>§5. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Synoptic::begin_array</span><button class="popup" onclick="togglePopup('usagePopup11')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup11">Usage of <span class="code-font"><span class="function-syntax">Synoptic::begin_array</span></span>:<br/>Responses - <a href="3-rsp.html#SP2">§2</a><br/>Rules - <a href="3-rls.html#SP2">§2</a><br/>Activities - <a href="3-act.html#SP2">§2</a><br/>Actions - <a href="3-act2.html#SP3">§3</a><br/>Tables - <a href="3-tbl.html#SP2">§2</a><br/>Chronology - <a href="3-chr.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">con_s</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_bookmark</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">Synoptic::begin_array</span><button class="popup" onclick="togglePopup('usagePopup11')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup11">Usage of <span class="code-font"><span class="function-syntax">Synoptic::begin_array</span></span>:<br/>Responses - <a href="3-rsp.html#SP2">§2</a><br/>Rules - <a href="3-rls.html#SP2">§2</a><br/>Activities - <a href="3-act.html#SP2">§2</a><br/>Actions - <a href="3-act2.html#SP3">§3</a><br/>Tables - <a href="3-tbl.html#SP2">§2</a><br/>Chronology - <a href="3-chr.html#SP2">§2</a><br/>Multimedia - <a href="3-mlt.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">con_s</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_bookmark</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">Inode::fill_3</span><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">, </span><span class="identifier-syntax">CONSTANT_IST</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::id_from_IRS_and_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">, </span><span class="identifier-syntax">con_s</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::id_from_IRS_and_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">, </span><span class="identifier-syntax">list_of_unchecked_kind_symbol</span><span class="plain-syntax">),</span>
|
||||
|
@ -323,7 +337,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::id_from_IRS_and_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">, </span><span class="identifier-syntax">list_of_unchecked_kind_symbol</span><span class="plain-syntax">),</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">CONSTANT_INDIRECT_LIST</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">Inter::Bookmarks::baseline</span><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">) + </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::end_array</span><button class="popup" onclick="togglePopup('usagePopup14')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup14">Usage of <span class="code-font"><span class="function-syntax">Synoptic::end_array</span></span>:<br/>Responses - <a href="3-rsp.html#SP2">§2</a><br/>Rules - <a href="3-rls.html#SP2">§2</a><br/>Activities - <a href="3-act.html#SP2">§2</a><br/>Actions - <a href="3-act2.html#SP3">§3</a><br/>Tables - <a href="3-tbl.html#SP2">§2</a><br/>Chronology - <a href="3-chr.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Q</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_bookmark</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::end_array</span><button class="popup" onclick="togglePopup('usagePopup14')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup14">Usage of <span class="code-font"><span class="function-syntax">Synoptic::end_array</span></span>:<br/>Responses - <a href="3-rsp.html#SP2">§2</a><br/>Rules - <a href="3-rls.html#SP2">§2</a><br/>Activities - <a href="3-act.html#SP2">§2</a><br/>Actions - <a href="3-act2.html#SP3">§3</a><br/>Tables - <a href="3-tbl.html#SP2">§2</a><br/>Chronology - <a href="3-chr.html#SP2">§2</a><br/>Multimedia - <a href="3-mlt.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Q</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_bookmark</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_error_message</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax"> =</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Defn::verify_construct</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Bookmarks::package</span><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">), </span><span class="identifier-syntax">Q</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">E</span><span class="plain-syntax">) {</span>
|
||||
|
@ -333,12 +347,12 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">Inter::Bookmarks::insert</span><span class="plain-syntax">(</span><span class="identifier-syntax">IBM</span><span class="plain-syntax">, </span><span class="identifier-syntax">Q</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::numeric_entry</span><button class="popup" onclick="togglePopup('usagePopup15')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup15">Usage of <span class="code-font"><span class="function-syntax">Synoptic::numeric_entry</span></span>:<br/>Responses - <a href="3-rsp.html#SP2_2">§2.2</a>, <a href="3-rsp.html#SP2_3">§2.3</a><br/>Rules - <a href="3-rls.html#SP2_3">§2.3</a>, <a href="3-rls.html#SP2_4">§2.4</a>, <a href="3-rls.html#SP2_5">§2.5</a><br/>Activities - <a href="3-act.html#SP2_2">§2.2</a>, <a href="3-act.html#SP2_5">§2.5</a><br/>Actions - <a href="3-act2.html#SP3_2">§3.2</a>, <a href="3-act2.html#SP3_3">§3.3</a>, <a href="3-act2.html#SP3_4">§3.4</a><br/>Tables - <a href="3-tbl.html#SP2_1">§2.1</a>, <a href="3-tbl.html#SP2_4">§2.4</a><br/>Chronology - <a href="3-chr.html#SP2_1">§2.1</a>, <a href="3-chr.html#SP2_2">§2.2</a>, <a href="3-chr.html#SP2_3">§2.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Q</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">val2</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::numeric_entry</span><button class="popup" onclick="togglePopup('usagePopup15')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup15">Usage of <span class="code-font"><span class="function-syntax">Synoptic::numeric_entry</span></span>:<br/>Responses - <a href="3-rsp.html#SP2_2">§2.2</a>, <a href="3-rsp.html#SP2_3">§2.3</a><br/>Rules - <a href="3-rls.html#SP2_3">§2.3</a>, <a href="3-rls.html#SP2_4">§2.4</a>, <a href="3-rls.html#SP2_5">§2.5</a><br/>Activities - <a href="3-act.html#SP2_2">§2.2</a>, <a href="3-act.html#SP2_5">§2.5</a><br/>Actions - <a href="3-act2.html#SP3_2">§3.2</a>, <a href="3-act2.html#SP3_3">§3.3</a>, <a href="3-act2.html#SP3_4">§3.4</a><br/>Tables - <a href="3-tbl.html#SP2_1">§2.1</a>, <a href="3-tbl.html#SP2_4">§2.4</a><br/>Chronology - <a href="3-chr.html#SP2_1">§2.1</a>, <a href="3-chr.html#SP2_2">§2.2</a>, <a href="3-chr.html#SP2_3">§2.3</a><br/>Multimedia - <a href="3-mlt.html#SP2_1">§2.1</a>, <a href="3-mlt.html#SP2_2">§2.2</a>, <a href="3-mlt.html#SP2_4">§2.4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Q</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">val2</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Inode::extend</span><span class="plain-syntax">(</span><span class="identifier-syntax">Q</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"cannot extend"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Q</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">Q</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">extent</span><span class="plain-syntax">-2] = </span><span class="identifier-syntax">LITERAL_IVAL</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Q</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">data</span><span class="plain-syntax">[</span><span class="identifier-syntax">Q</span><span class="plain-syntax">-></span><span class="identifier-syntax">W</span><span class="plain-syntax">.</span><span class="identifier-syntax">extent</span><span class="plain-syntax">-1] = </span><span class="identifier-syntax">val2</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::symbol_entry</span><button class="popup" onclick="togglePopup('usagePopup16')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup16">Usage of <span class="code-font"><span class="function-syntax">Synoptic::symbol_entry</span></span>:<br/>Responses - <a href="3-rsp.html#SP2_2">§2.2</a><br/>Rules - <a href="3-rls.html#SP2_4">§2.4</a>, <a href="3-rls.html#SP2_5">§2.5</a><br/>Activities - <a href="3-act.html#SP2_1">§2.1</a>, <a href="3-act.html#SP2_3">§2.3</a>, <a href="3-act.html#SP2_4">§2.4</a>, <a href="3-act.html#SP2_5">§2.5</a><br/>Actions - <a href="3-act2.html#SP3_2">§3.2</a>, <a href="3-act2.html#SP3_4">§3.4</a><br/>Tables - <a href="3-tbl.html#SP2_1">§2.1</a><br/>Chronology - <a href="3-chr.html#SP2_1">§2.1</a>, <a href="3-chr.html#SP2_3">§2.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Q</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Synoptic::symbol_entry</span><button class="popup" onclick="togglePopup('usagePopup16')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup16">Usage of <span class="code-font"><span class="function-syntax">Synoptic::symbol_entry</span></span>:<br/>Responses - <a href="3-rsp.html#SP2_2">§2.2</a><br/>Rules - <a href="3-rls.html#SP2_4">§2.4</a>, <a href="3-rls.html#SP2_5">§2.5</a><br/>Activities - <a href="3-act.html#SP2_1">§2.1</a>, <a href="3-act.html#SP2_3">§2.3</a>, <a href="3-act.html#SP2_4">§2.4</a>, <a href="3-act.html#SP2_5">§2.5</a><br/>Actions - <a href="3-act2.html#SP3_2">§3.2</a>, <a href="3-act2.html#SP3_4">§3.4</a><br/>Tables - <a href="3-tbl.html#SP2_1">§2.1</a><br/>Chronology - <a href="3-chr.html#SP2_1">§2.1</a>, <a href="3-chr.html#SP2_3">§2.3</a><br/>Multimedia - <a href="3-mlt.html#SP2_4">§2.4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Q</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Inode::extend</span><span class="plain-syntax">(</span><span class="identifier-syntax">Q</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"cannot extend"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_package</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pack</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Packages::container</span><span class="plain-syntax">(</span><span class="identifier-syntax">Q</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">local_S</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterSymbolsTables::create_with_unique_name</span><span class="plain-syntax">(</span><span class="identifier-syntax">Inter::Packages::scope</span><span class="plain-syntax">(</span><span class="identifier-syntax">pack</span><span class="plain-syntax">), </span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="identifier-syntax">symbol_name</span><span class="plain-syntax">);</span>
|
||||
|
@ -393,7 +407,7 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-ero.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresscurrent">su</li><li class="progresssection"><a href="3-ext.html">ext</a></li><li class="progresssection"><a href="3-lt.html">lt</a></li><li class="progresssection"><a href="3-rsp.html">rsp</a></li><li class="progresssection"><a href="3-rls.html">rls</a></li><li class="progresssection"><a href="3-act.html">act</a></li><li class="progresssection"><a href="3-act2.html">act2</a></li><li class="progresssection"><a href="3-ins.html">ins</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-rlt.html">rlt</a></li><li class="progresssection"><a href="3-tbl.html">tbl</a></li><li class="progresssection"><a href="3-chr.html">chr</a></li><li class="progresssection"><a href="3-scn.html">scn</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="3-ext.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="2-ero.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresscurrent">su</li><li class="progresssection"><a href="3-ext.html">ext</a></li><li class="progresssection"><a href="3-lt.html">lt</a></li><li class="progresssection"><a href="3-rsp.html">rsp</a></li><li class="progresssection"><a href="3-rls.html">rls</a></li><li class="progresssection"><a href="3-act.html">act</a></li><li class="progresssection"><a href="3-act2.html">act2</a></li><li class="progresssection"><a href="3-ins.html">ins</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-rlt.html">rlt</a></li><li class="progresssection"><a href="3-tbl.html">tbl</a></li><li class="progresssection"><a href="3-chr.html">chr</a></li><li class="progresssection"><a href="3-scn.html">scn</a></li><li class="progresssection"><a href="3-mlt.html">mlt</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="3-ext.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -288,7 +288,7 @@ of packages of type <span class="extract"><span class="extract-syntax">_table</s
|
|||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="3-tbl.html#SP2">§2</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-rlt.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-su.html">su</a></li><li class="progresssection"><a href="3-ext.html">ext</a></li><li class="progresssection"><a href="3-lt.html">lt</a></li><li class="progresssection"><a href="3-rsp.html">rsp</a></li><li class="progresssection"><a href="3-rls.html">rls</a></li><li class="progresssection"><a href="3-act.html">act</a></li><li class="progresssection"><a href="3-act2.html">act2</a></li><li class="progresssection"><a href="3-ins.html">ins</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-rlt.html">rlt</a></li><li class="progresscurrent">tbl</li><li class="progresssection"><a href="3-chr.html">chr</a></li><li class="progresssection"><a href="3-scn.html">scn</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="3-chr.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-rlt.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresscurrentchapter">3</li><li class="progresssection"><a href="3-su.html">su</a></li><li class="progresssection"><a href="3-ext.html">ext</a></li><li class="progresssection"><a href="3-lt.html">lt</a></li><li class="progresssection"><a href="3-rsp.html">rsp</a></li><li class="progresssection"><a href="3-rls.html">rls</a></li><li class="progresssection"><a href="3-act.html">act</a></li><li class="progresssection"><a href="3-act2.html">act2</a></li><li class="progresssection"><a href="3-ins.html">ins</a></li><li class="progresssection"><a href="3-prp.html">prp</a></li><li class="progresssection"><a href="3-rlt.html">rlt</a></li><li class="progresscurrent">tbl</li><li class="progresssection"><a href="3-chr.html">chr</a></li><li class="progresssection"><a href="3-scn.html">scn</a></li><li class="progresssection"><a href="3-mlt.html">mlt</a></li><li class="progresschapter"><a href="4-cg.html">4</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="3-chr.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -305,7 +305,7 @@ we also have to direct it to a given text.
|
|||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-scn.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-su.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresscurrent">cg</li><li class="progresssection"><a href="4-fc.html">fc</a></li><li class="progresssection"><a href="4-cal.html">cal</a></li><li class="progresssection"><a href="4-iap.html">iap</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="4-fc.html">❯</a></li></ul></div>
|
||||
<ul class="progressbar"><li class="progressprev"><a href="3-mlt.html">❮</a></li><li class="progresschapter"><a href="1-cm.html">1</a></li><li class="progresschapter"><a href="2-mt.html">2</a></li><li class="progresschapter"><a href="3-su.html">3</a></li><li class="progresscurrentchapter">4</li><li class="progresscurrent">cg</li><li class="progresssection"><a href="4-fc.html">fc</a></li><li class="progresssection"><a href="4-cal.html">cal</a></li><li class="progresssection"><a href="4-iap.html">iap</a></li><li class="progresssection"><a href="4-vrb.html">vrb</a></li><li class="progresschapter"><a href="5-ft.html">5</a></li><li class="progressnext"><a href="4-fc.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
||||
</main>
|
||||
|
|
|
@ -228,6 +228,11 @@
|
|||
<spon class="sectiontitle">Scenes</span></a> -
|
||||
<span class="sectionpurpose">To renumber the scenes and construct suitable functions and arrays.</span></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="sectionentry"><a href="3-mlt.html">
|
||||
<spon class="sectiontitle">Multimedia</span></a> -
|
||||
<span class="sectionpurpose">To construct suitable functions and arrays for figures, sounds, and external files.</span></p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
|
|
@ -353,6 +353,7 @@ so on. Those absolute basics are made here.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">BENCH</span><span class="plain-syntax">(</span><span class="identifier-syntax">RTRelations::compile_defined_relations</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">BENCH</span><span class="plain-syntax">(</span><span class="identifier-syntax">RTRelations::compile_synoptic_resources</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">BENCH</span><span class="plain-syntax">(</span><span class="identifier-syntax">Chronology::compile_synoptic_resources</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">BENCH</span><span class="plain-syntax">(</span><span class="identifier-syntax">RTTables::compile_synoptic_resources</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">BENCH</span><span class="plain-syntax">(</span><span class="identifier-syntax">RTMeasurements::compile_test_functions</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">BENCH</span><span class="plain-syntax">(</span><a href="1-htc.html#SP9" class="function-link"><span class="function-syntax">Sequence::undertake_queued_tasks</span></a><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
|
|
|
@ -335,6 +335,7 @@ by an unspecified other project, or by a project identified by its IFID.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">file_ownership</span><span class="plain-syntax">; </span><span class="comment-syntax"> one of the </span><span class="extract"><span class="extract-syntax">OWNED_BY_*</span></span><span class="comment-syntax"> values above</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">IFID_of_owner</span><span class="plain-syntax">; </span><span class="comment-syntax"> if we know that</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">external_file_compilation_data</span><span class="plain-syntax"> </span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">as_instance</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">files_data</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
|
@ -360,6 +361,7 @@ manages to make a figure, a problem message is thrown.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">fd</span><span class="plain-syntax">-></span><span class="element-syntax">file_ownership</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ownership</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">fd</span><span class="plain-syntax">-></span><span class="element-syntax">IFID_of_owner</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">ifid_of_file</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">fd</span><span class="plain-syntax">-></span><span class="element-syntax">compilation_data</span><span class="plain-syntax"> = </span><span class="identifier-syntax">RTExternalFiles::new_data</span><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">fd</span><span class="plain-syntax">-></span><span class="element-syntax">as_instance</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
|
|
|
@ -88,7 +88,7 @@ function togglePopup(material_id) {
|
|||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Figures::production_line</span><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">stage</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">debugging</span><span class="plain-syntax">, </span><span class="identifier-syntax">stopwatch_timer</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sequence_timer</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">stage</span><span class="plain-syntax"> == </span><span class="identifier-syntax">INTER1_CSEQ</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">BENCH</span><span class="plain-syntax">(</span><span class="identifier-syntax">RTFigures::compile_ResourceIDsOfFigures_array</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">BENCH</span><span class="plain-syntax">(</span><span class="identifier-syntax">RTFigures::compile_metadata</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -234,6 +234,7 @@ detects that this has happened, and sets <span class="extract"><span class="extr
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">filename_of_image_file</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">figure_number</span><span class="plain-syntax">; </span><span class="comment-syntax"> resource number of this picture inside Blorb</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">alt_description</span><span class="plain-syntax">; </span><span class="comment-syntax"> word number of double-quoted description</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">as_instance</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">figures_data</span><span class="plain-syntax">;</span>
|
||||
|
||||
|
@ -258,6 +259,7 @@ manages to make a figure, a problem message is thrown.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">figd</span><span class="plain-syntax">-></span><span class="identifier-syntax">name</span><span class="plain-syntax"> = </span><span class="identifier-syntax">W</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">figd</span><span class="plain-syntax">-></span><span class="identifier-syntax">figure_number</span><span class="plain-syntax"> = </span><span class="identifier-syntax">id</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">figd</span><span class="plain-syntax">-></span><span class="identifier-syntax">alt_description</span><span class="plain-syntax"> = </span><span class="identifier-syntax">alt</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">figd</span><span class="plain-syntax">-></span><span class="identifier-syntax">as_instance</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">id</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">) </span><span class="identifier-syntax">F_cover_art</span><span class="plain-syntax"> = </span><span class="identifier-syntax">figd</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
|
|
@ -88,7 +88,7 @@ function togglePopup(material_id) {
|
|||
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Sounds::production_line</span><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">stage</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">debugging</span><span class="plain-syntax">, </span><span class="identifier-syntax">stopwatch_timer</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sequence_timer</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">stage</span><span class="plain-syntax"> == </span><span class="identifier-syntax">INTER1_CSEQ</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">BENCH</span><span class="plain-syntax">(</span><span class="identifier-syntax">RTSounds::compile_ResourceIDsOfSounds_array</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">BENCH</span><span class="plain-syntax">(</span><span class="identifier-syntax">RTSounds::compile_metadata</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
@ -226,6 +226,7 @@ detects that this has happened, and sets <span class="extract"><span class="extr
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">filename_of_sound_file</span><span class="plain-syntax">; </span><span class="comment-syntax"> relative to the Resources folder</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">sound_number</span><span class="plain-syntax">; </span><span class="comment-syntax"> resource number of this picture inside Blorb</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">alt_description</span><span class="plain-syntax">; </span><span class="comment-syntax"> word number of double-quoted description</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">as_instance</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">CLASS_DEFINITION</span>
|
||||
<span class="plain-syntax">} </span><span class="reserved-syntax">sounds_data</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
|
@ -248,6 +249,7 @@ manages to make a sound, a problem message is thrown.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">sd</span><span class="plain-syntax">-></span><span class="element-syntax">name</span><span class="plain-syntax"> = </span><span class="identifier-syntax">W</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">sd</span><span class="plain-syntax">-></span><span class="element-syntax">sound_number</span><span class="plain-syntax"> = </span><span class="identifier-syntax">id</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">sd</span><span class="plain-syntax">-></span><span class="element-syntax">alt_description</span><span class="plain-syntax"> = </span><span class="identifier-syntax">alt</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">sd</span><span class="plain-syntax">-></span><span class="element-syntax">as_instance</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
|
|
|
@ -92,7 +92,7 @@ enforced; it's fine to store arbitrary data with <span class="extract"><span cla
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="function-syntax">EmitArrays::begin</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">EmitArrays::begin</span></span>:<br/>List Literals - <a href="4-ll.html#SP1">§1</a>, <a href="4-ll.html#SP2">§2</a><br/>Text Literals - <a href="4-tl.html#SP1">§1</a><br/>Text Substitutions - <a href="4-ts.html#SP1">§1</a><br/>Responses - <a href="4-rsp.html#SP8_3">§8.3</a>, <a href="4-rsp.html#SP8_4">§8.4</a><br/>Box Quotations - <a href="4-bq.html#SP2">§2</a><br/>Rules - <a href="5-rls.html#SP7_1_1">§7.1.1</a>, <a href="5-rls.html#SP14_2">§14.2</a>, <a href="5-rls.html#SP14_3">§14.3</a>, <a href="5-rls.html#SP14_4">§14.4</a><br/>Activities - <a href="5-act.html#SP2_1">§2.1</a>, <a href="5-act.html#SP2_2">§2.2</a>, <a href="5-act.html#SP2_3">§2.3</a>, <a href="5-act.html#SP2_5">§2.5</a><br/>Runtime Support for Kinds - <a href="5-rsfk.html#SP18_1">§18.1</a><br/>Verbs at Run Time - <a href="5-vart.html#SP4">§4</a><br/>Relations at Run Time - <a href="5-rart.html#SP4_1">§4.1</a>, <a href="5-rart.html#SP5">§5</a>, <a href="5-rart.html#SP8">§8</a>, <a href="5-rart.html#SP8_3">§8.3</a><br/>Runtime Support for Tables - <a href="5-rsft.html#SP4_3">§4.3</a><br/>Chronology - <a href="5-chr.html#SP5_3">§5.3</a><br/>Naming - <a href="6-nmn.html#SP2">§2</a><br/>The Player - <a href="6-tp.html#SP1">§1</a><br/>The Map - <a href="6-tm.html#SP2_2">§2.2</a>, <a href="6-tm.html#SP3">§3</a><br/>Actions - <a href="7-act.html#SP1">§1</a>, <a href="7-act.html#SP6_4">§6.4</a>, <a href="7-act.html#SP6_5">§6.5</a><br/>Parsing - <a href="8-prs.html#SP2">§2</a><br/>Figures - <a href="9-fgr.html#SP1">§1</a><br/>Sound Effects - <a href="9-se.html#SP1">§1</a><br/>External Files - <a href="9-ef.html#SP1">§1</a><br/>Test Scripts - <a href="10-ts.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="function-syntax">EmitArrays::begin</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">EmitArrays::begin</span></span>:<br/>List Literals - <a href="4-ll.html#SP1">§1</a>, <a href="4-ll.html#SP2">§2</a><br/>Text Literals - <a href="4-tl.html#SP1">§1</a><br/>Text Substitutions - <a href="4-ts.html#SP1">§1</a><br/>Responses - <a href="4-rsp.html#SP8_3">§8.3</a>, <a href="4-rsp.html#SP8_4">§8.4</a><br/>Box Quotations - <a href="4-bq.html#SP2">§2</a><br/>Rules - <a href="5-rls.html#SP7_1_1">§7.1.1</a>, <a href="5-rls.html#SP14_2">§14.2</a>, <a href="5-rls.html#SP14_3">§14.3</a>, <a href="5-rls.html#SP14_4">§14.4</a><br/>Activities - <a href="5-act.html#SP2_1">§2.1</a>, <a href="5-act.html#SP2_2">§2.2</a>, <a href="5-act.html#SP2_3">§2.3</a>, <a href="5-act.html#SP2_5">§2.5</a><br/>Runtime Support for Kinds - <a href="5-rsfk.html#SP18_1">§18.1</a><br/>Verbs at Run Time - <a href="5-vart.html#SP4">§4</a><br/>Relations at Run Time - <a href="5-rart.html#SP4_1">§4.1</a>, <a href="5-rart.html#SP5">§5</a>, <a href="5-rart.html#SP8">§8</a>, <a href="5-rart.html#SP8_3">§8.3</a><br/>Runtime Support for Tables - <a href="5-rsft.html#SP7_1">§7.1</a><br/>Chronology - <a href="5-chr.html#SP5_3">§5.3</a><br/>Naming - <a href="6-nmn.html#SP2">§2</a><br/>The Player - <a href="6-tp.html#SP1">§1</a><br/>The Map - <a href="6-tm.html#SP2_2">§2.2</a>, <a href="6-tm.html#SP3">§3</a><br/>Actions - <a href="7-act.html#SP1">§1</a>, <a href="7-act.html#SP6_4">§6.4</a>, <a href="7-act.html#SP6_5">§6.5</a><br/>Parsing - <a href="8-prs.html#SP2">§2</a><br/>Figures - <a href="9-fgr.html#SP1">§1</a><br/>Sound Effects - <a href="9-se.html#SP1">§1</a><br/>External Files - <a href="9-ef.html#SP1">§1</a><br/>Test Scripts - <a href="10-ts.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Packaging::enter_home_of</span><span class="plain-syntax">(</span><span class="identifier-syntax">name</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP9" class="function-link"><span class="function-syntax">EmitArrays::begin_inner</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax">;</span>
|
||||
|
@ -105,7 +105,7 @@ enforced; it's fine to store arbitrary data with <span class="extract"><span cla
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="function-syntax">EmitArrays::begin_byte</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">EmitArrays::begin_byte</span></span>:<br/>Activities - <a href="5-act.html#SP2_4">§2.4</a><br/>Relations at Run Time - <a href="5-rart.html#SP8_3">§8.3</a><br/>Runtime Support for Tables - <a href="5-rsft.html#SP4_2">§4.2</a><br/>Test Scripts - <a href="10-ts.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="function-syntax">EmitArrays::begin_byte</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">EmitArrays::begin_byte</span></span>:<br/>Activities - <a href="5-act.html#SP2_4">§2.4</a><br/>Relations at Run Time - <a href="5-rart.html#SP8_3">§8.3</a><br/>Runtime Support for Tables - <a href="5-rsft.html#SP4_2">§4.2</a>, <a href="5-rsft.html#SP7_2">§7.2</a><br/>Test Scripts - <a href="10-ts.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Packaging::enter_home_of</span><span class="plain-syntax">(</span><span class="identifier-syntax">name</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP9" class="function-link"><span class="function-syntax">EmitArrays::begin_inner</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::annotate_iname_i</span><span class="plain-syntax">(</span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">BYTEARRAY_IANN</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
|
@ -158,7 +158,7 @@ which would be a typesafe list in I7, so they can be absolutely any data,
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">EmitArrays::numeric_entry</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">EmitArrays::numeric_entry</span></span>:<br/>List Literals - <a href="4-ll.html#SP1">§1</a>, <a href="4-ll.html#SP2">§2</a>, <a href="4-ll.html#SP7_1">§7.1</a><br/>Box Quotations - <a href="4-bq.html#SP2">§2</a><br/>Relation Literals - <a href="4-rl.html#SP1">§1</a><br/>Stored Action Literals - <a href="4-sal.html#SP1">§1</a><br/>Rules - <a href="5-rls.html#SP7_1_1">§7.1.1</a>, <a href="5-rls.html#SP7_1_2">§7.1.2</a><br/>Runtime Support for Kinds - <a href="5-rsfk.html#SP11">§11</a>, <a href="5-rsfk.html#SP18_1_1_1">§18.1.1.1</a>, <a href="5-rsfk.html#SP18_1_1_2">§18.1.1.2</a>, <a href="5-rsfk.html#SP22">§22</a><br/>Verbs at Run Time - <a href="5-vart.html#SP4">§4</a><br/>Relations at Run Time - <a href="5-rart.html#SP4_1">§4.1</a>, <a href="5-rart.html#SP4_1_3">§4.1.3</a>, <a href="5-rart.html#SP5">§5</a>, <a href="5-rart.html#SP7">§7</a>, <a href="5-rart.html#SP8_2">§8.2</a>, <a href="5-rart.html#SP8_3">§8.3</a><br/>Runtime Support for Tables - <a href="5-rsft.html#SP4_1_1_1_1_3">§4.1.1.1.1.3</a>, <a href="5-rsft.html#SP4_1_1_1_1_4">§4.1.1.1.1.4</a>, <a href="5-rsft.html#SP4_2_3">§4.2.3</a><br/>The Player - <a href="6-tp.html#SP1">§1</a><br/>The Map - <a href="6-tm.html#SP2_2">§2.2</a><br/>Actions - <a href="7-act.html#SP1">§1</a><br/>Figures - <a href="9-fgr.html#SP1">§1</a><br/>Sound Effects - <a href="9-se.html#SP1">§1</a><br/>External Files - <a href="9-ef.html#SP1">§1</a><br/>Test Scripts - <a href="10-ts.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">N</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">EmitArrays::numeric_entry</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">EmitArrays::numeric_entry</span></span>:<br/>List Literals - <a href="4-ll.html#SP1">§1</a>, <a href="4-ll.html#SP2">§2</a>, <a href="4-ll.html#SP7_1">§7.1</a><br/>Box Quotations - <a href="4-bq.html#SP2">§2</a><br/>Relation Literals - <a href="4-rl.html#SP1">§1</a><br/>Stored Action Literals - <a href="4-sal.html#SP1">§1</a><br/>Rules - <a href="5-rls.html#SP7_1_1">§7.1.1</a>, <a href="5-rls.html#SP7_1_2">§7.1.2</a><br/>Runtime Support for Kinds - <a href="5-rsfk.html#SP11">§11</a>, <a href="5-rsfk.html#SP18_1_1_1">§18.1.1.1</a>, <a href="5-rsfk.html#SP18_1_1_2">§18.1.1.2</a>, <a href="5-rsfk.html#SP22">§22</a><br/>Verbs at Run Time - <a href="5-vart.html#SP4">§4</a><br/>Relations at Run Time - <a href="5-rart.html#SP4_1">§4.1</a>, <a href="5-rart.html#SP4_1_3">§4.1.3</a>, <a href="5-rart.html#SP5">§5</a>, <a href="5-rart.html#SP7">§7</a>, <a href="5-rart.html#SP8_2">§8.2</a>, <a href="5-rart.html#SP8_3">§8.3</a><br/>Runtime Support for Tables - <a href="5-rsft.html#SP4_1_1_1_1_4">§4.1.1.1.1.4</a>, <a href="5-rsft.html#SP4_2_3">§4.2.3</a><br/>The Player - <a href="6-tp.html#SP1">§1</a><br/>The Map - <a href="6-tm.html#SP2_2">§2.2</a><br/>Actions - <a href="7-act.html#SP1">§1</a><br/>External Files - <a href="9-ef.html#SP1">§1</a><br/>Test Scripts - <a href="10-ts.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">N</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP10" class="function-link"><span class="function-syntax">EmitArrays::entry_inner</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">LITERAL_IVAL</span><span class="plain-syntax">, </span><span class="identifier-syntax">N</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
|
@ -213,7 +213,7 @@ difference to compiled code.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">EmitArrays::end</span><button class="popup" onclick="togglePopup('usagePopup16')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup16">Usage of <span class="code-font"><span class="function-syntax">EmitArrays::end</span></span>:<br/>List Literals - <a href="4-ll.html#SP1">§1</a>, <a href="4-ll.html#SP2">§2</a><br/>Text Literals - <a href="4-tl.html#SP1">§1</a><br/>Text Substitutions - <a href="4-ts.html#SP1">§1</a><br/>Responses - <a href="4-rsp.html#SP8_3">§8.3</a>, <a href="4-rsp.html#SP8_4">§8.4</a><br/>Box Quotations - <a href="4-bq.html#SP2">§2</a><br/>Relation Literals - <a href="4-rl.html#SP1">§1</a><br/>Stored Action Literals - <a href="4-sal.html#SP1">§1</a><br/>Rules - <a href="5-rls.html#SP7_1_5">§7.1.5</a>, <a href="5-rls.html#SP14_2">§14.2</a>, <a href="5-rls.html#SP14_3">§14.3</a>, <a href="5-rls.html#SP14_4">§14.4</a><br/>Activities - <a href="5-act.html#SP2_1">§2.1</a>, <a href="5-act.html#SP2_2">§2.2</a>, <a href="5-act.html#SP2_3">§2.3</a>, <a href="5-act.html#SP2_4">§2.4</a>, <a href="5-act.html#SP2_5">§2.5</a><br/>Runtime Support for Kinds - <a href="5-rsfk.html#SP18_1">§18.1</a><br/>Verbs at Run Time - <a href="5-vart.html#SP4">§4</a><br/>Relations at Run Time - <a href="5-rart.html#SP4_1">§4.1</a>, <a href="5-rart.html#SP4_1_2">§4.1.2</a>, <a href="5-rart.html#SP5">§5</a>, <a href="5-rart.html#SP8">§8</a>, <a href="5-rart.html#SP8_3">§8.3</a><br/>Runtime Support for Tables - <a href="5-rsft.html#SP4_1_1_1">§4.1.1.1</a>, <a href="5-rsft.html#SP4_1_1_1_1">§4.1.1.1.1</a>, <a href="5-rsft.html#SP4_2">§4.2</a>, <a href="5-rsft.html#SP4_3">§4.3</a><br/>Chronology - <a href="5-chr.html#SP5_1">§5.1</a>, <a href="5-chr.html#SP5_2">§5.2</a>, <a href="5-chr.html#SP5_3">§5.3</a><br/>Naming - <a href="6-nmn.html#SP2">§2</a><br/>The Player - <a href="6-tp.html#SP1">§1</a><br/>The Map - <a href="6-tm.html#SP2_2">§2.2</a>, <a href="6-tm.html#SP3">§3</a><br/>Actions - <a href="7-act.html#SP1">§1</a>, <a href="7-act.html#SP6_2">§6.2</a>, <a href="7-act.html#SP6_4">§6.4</a>, <a href="7-act.html#SP6_5">§6.5</a><br/>Parsing - <a href="8-prs.html#SP2">§2</a><br/>Command Grammars - <a href="8-cg.html#SP7">§7</a><br/>Figures - <a href="9-fgr.html#SP1">§1</a><br/>Sound Effects - <a href="9-se.html#SP1">§1</a><br/>External Files - <a href="9-ef.html#SP1">§1</a><br/>Test Scripts - <a href="10-ts.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">EmitArrays::end</span><button class="popup" onclick="togglePopup('usagePopup16')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup16">Usage of <span class="code-font"><span class="function-syntax">EmitArrays::end</span></span>:<br/>List Literals - <a href="4-ll.html#SP1">§1</a>, <a href="4-ll.html#SP2">§2</a><br/>Text Literals - <a href="4-tl.html#SP1">§1</a><br/>Text Substitutions - <a href="4-ts.html#SP1">§1</a><br/>Responses - <a href="4-rsp.html#SP8_3">§8.3</a>, <a href="4-rsp.html#SP8_4">§8.4</a><br/>Box Quotations - <a href="4-bq.html#SP2">§2</a><br/>Relation Literals - <a href="4-rl.html#SP1">§1</a><br/>Stored Action Literals - <a href="4-sal.html#SP1">§1</a><br/>Rules - <a href="5-rls.html#SP7_1_5">§7.1.5</a>, <a href="5-rls.html#SP14_2">§14.2</a>, <a href="5-rls.html#SP14_3">§14.3</a>, <a href="5-rls.html#SP14_4">§14.4</a><br/>Activities - <a href="5-act.html#SP2_1">§2.1</a>, <a href="5-act.html#SP2_2">§2.2</a>, <a href="5-act.html#SP2_3">§2.3</a>, <a href="5-act.html#SP2_4">§2.4</a>, <a href="5-act.html#SP2_5">§2.5</a><br/>Runtime Support for Kinds - <a href="5-rsfk.html#SP18_1">§18.1</a><br/>Verbs at Run Time - <a href="5-vart.html#SP4">§4</a><br/>Relations at Run Time - <a href="5-rart.html#SP4_1">§4.1</a>, <a href="5-rart.html#SP4_1_2">§4.1.2</a>, <a href="5-rart.html#SP5">§5</a>, <a href="5-rart.html#SP8">§8</a>, <a href="5-rart.html#SP8_3">§8.3</a><br/>Runtime Support for Tables - <a href="5-rsft.html#SP4_1_1_1">§4.1.1.1</a>, <a href="5-rsft.html#SP4_1_1_1_1">§4.1.1.1.1</a>, <a href="5-rsft.html#SP4_2">§4.2</a>, <a href="5-rsft.html#SP7_1">§7.1</a>, <a href="5-rsft.html#SP7_2">§7.2</a><br/>Chronology - <a href="5-chr.html#SP5_1">§5.1</a>, <a href="5-chr.html#SP5_2">§5.2</a>, <a href="5-chr.html#SP5_3">§5.3</a><br/>Naming - <a href="6-nmn.html#SP2">§2</a><br/>The Player - <a href="6-tp.html#SP1">§1</a><br/>The Map - <a href="6-tm.html#SP2_2">§2.2</a>, <a href="6-tm.html#SP3">§3</a><br/>Actions - <a href="7-act.html#SP1">§1</a>, <a href="7-act.html#SP6_2">§6.2</a>, <a href="7-act.html#SP6_4">§6.4</a>, <a href="7-act.html#SP6_5">§6.5</a><br/>Parsing - <a href="8-prs.html#SP2">§2</a><br/>Command Grammars - <a href="8-cg.html#SP7">§7</a><br/>Figures - <a href="9-fgr.html#SP1">§1</a><br/>Sound Effects - <a href="9-se.html#SP1">§1</a><br/>External Files - <a href="9-ef.html#SP1">§1</a><br/>Test Scripts - <a href="10-ts.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP11" class="function-link"><span class="function-syntax">EmitArrays::end_inner</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Packaging::exit</span><span class="plain-syntax">(</span><a href="2-emt.html#SP1" class="function-link"><span class="function-syntax">Emit::tree</span></a><span class="plain-syntax">(), </span><span class="identifier-syntax">save</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
|
|
@ -140,7 +140,7 @@ start of a function.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">EmitCode::comment</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">EmitCode::comment</span></span>:<br/>Extensions - <a href="3-ext.html#SP1_1">§1.1</a>, <a href="3-ext.html#SP1_2">§1.2</a>, <a href="3-ext.html#SP1_3">§1.3</a><br/>Responses - <a href="4-rsp.html#SP8_1">§8.1</a><br/>Rules - <a href="5-rls.html#SP5">§5</a>, <a href="5-rls.html#SP14_4">§14.4</a>, <a href="5-rls.html#SP14_5">§14.5</a><br/>Runtime Support for Kinds - <a href="5-rsfk.html#SP26_1">§26.1</a><br/>Literal Patterns at Run Time - <a href="5-lpart.html#SP2">§2</a>, <a href="5-lpart.html#SP4">§4</a><br/>Adjectives - <a href="5-adj.html#SP3_2">§3.2</a><br/>Verbs at Run Time - <a href="5-vart.html#SP4_2">§4.2</a><br/>Relations at Run Time - <a href="5-rart.html#SP22_2">§22.2</a>, <a href="5-rart.html#SP22_3">§22.3</a>, <a href="5-rart.html#SP22_4">§22.4</a><br/>Runtime Support for Tables - <a href="5-rsft.html#SP2">§2</a>, <a href="5-rsft.html#SP5">§5</a><br/>Chronology - <a href="5-chr.html#SP5_6">§5.6</a><br/>Scenes - <a href="6-scn.html#SP8_1">§8.1</a>, <a href="6-scn.html#SP8_2">§8.2</a><br/>Actions - <a href="7-act.html#SP6_6">§6.6</a><br/>General Parsing Routines - <a href="8-gpr.html#SP11">§11</a>, <a href="8-gpr.html#SP13">§13</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">EmitCode::comment</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">EmitCode::comment</span></span>:<br/>Extensions - <a href="3-ext.html#SP1_1">§1.1</a>, <a href="3-ext.html#SP1_2">§1.2</a>, <a href="3-ext.html#SP1_3">§1.3</a><br/>Responses - <a href="4-rsp.html#SP8_1">§8.1</a><br/>Rules - <a href="5-rls.html#SP5">§5</a>, <a href="5-rls.html#SP14_4">§14.4</a>, <a href="5-rls.html#SP14_5">§14.5</a><br/>Runtime Support for Kinds - <a href="5-rsfk.html#SP26_1">§26.1</a><br/>Literal Patterns at Run Time - <a href="5-lpart.html#SP2">§2</a>, <a href="5-lpart.html#SP4">§4</a><br/>Adjectives - <a href="5-adj.html#SP3_2">§3.2</a><br/>Verbs at Run Time - <a href="5-vart.html#SP4_2">§4.2</a><br/>Relations at Run Time - <a href="5-rart.html#SP22_2">§22.2</a>, <a href="5-rart.html#SP22_3">§22.3</a>, <a href="5-rart.html#SP22_4">§22.4</a><br/>Runtime Support for Tables - <a href="5-rsft.html#SP5">§5</a>, <a href="5-rsft.html#SP7_3">§7.3</a><br/>Chronology - <a href="5-chr.html#SP5_6">§5.6</a><br/>Scenes - <a href="6-scn.html#SP8_1">§8.1</a>, <a href="6-scn.html#SP8_2">§8.2</a><br/>Actions - <a href="7-act.html#SP6_6">§6.6</a><br/>General Parsing Routines - <a href="8-gpr.html#SP11">§11</a>, <a href="8-gpr.html#SP13">§13</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Functions::a_function_is_being_compiled</span><span class="plain-syntax">() == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"code comment emitted outside function"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">ID</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Inter::Warehouse::create_text</span><span class="plain-syntax">(</span><a href="2-emt.html#SP1" class="function-link"><span class="function-syntax">Emit::warehouse</span></a><span class="plain-syntax">(), </span><a href="2-emt.html#SP1" class="function-link"><span class="function-syntax">Emit::package</span></a><span class="plain-syntax">());</span>
|
||||
|
|
|
@ -331,7 +331,7 @@ it represents an actual number at run-time, the second if not:
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="function-syntax">Emit::numeric_constant</span><button class="popup" onclick="togglePopup('usagePopup18')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup18">Usage of <span class="code-font"><span class="function-syntax">Emit::numeric_constant</span></span>:<br/>Hierarchy - <a href="2-hrr.html#SP23">§23</a><br/>Compilation Units - <a href="2-cu.html#SP2_1_2">§2.1.2</a><br/>Fundamental Constants - <a href="3-fc.html#SP2">§2</a><br/>Use Options - <a href="3-uo.html#SP1_1">§1.1</a>, <a href="3-uo.html#SP1_3">§1.3</a><br/>Responses - <a href="4-rsp.html#SP6">§6</a>, <a href="4-rsp.html#SP8_2">§8.2</a><br/>Rules - <a href="5-rls.html#SP10">§10</a>, <a href="5-rls.html#SP14_1">§14.1</a><br/>Activities - <a href="5-act.html#SP2">§2</a><br/>Runtime Support for Kinds - <a href="5-rsfk.html#SP14">§14</a>, <a href="5-rsfk.html#SP26">§26</a>, <a href="5-rsfk.html#SP30">§30</a><br/>Properties - <a href="5-prp.html#SP6">§6</a>, <a href="5-prp.html#SP13_1">§13.1</a><br/>Relations at Run Time - <a href="5-rart.html#SP4_1">§4.1</a>, <a href="5-rart.html#SP8_3">§8.3</a>, <a href="5-rart.html#SP22_1">§22.1</a><br/>Runtime Support for Tables - <a href="5-rsft.html#SP1">§1</a>, <a href="5-rsft.html#SP4_1_1_1_1_3">§4.1.1.1.1.3</a>, <a href="5-rsft.html#SP4_1_2">§4.1.2</a><br/>Chronology - <a href="5-chr.html#SP2">§2</a>, <a href="5-chr.html#SP3">§3</a>, <a href="5-chr.html#SP5_4">§5.4</a>, <a href="5-chr.html#SP5_5">§5.5</a><br/>The Player - <a href="6-tp.html#SP1">§1</a><br/>The Map - <a href="6-tm.html#SP2_1">§2.1</a><br/>The Score - <a href="6-ts.html#SP1">§1</a><br/>Actions - <a href="7-act.html#SP1">§1</a>, <a href="7-act.html#SP6_1">§6.1</a>, <a href="7-act.html#SP6_3">§6.3</a><br/>Command Grammars - <a href="8-cg.html#SP1">§1</a>, <a href="8-cg.html#SP2">§2</a><br/>External Files - <a href="9-ef.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">con_iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">val</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="function-syntax">Emit::numeric_constant</span><button class="popup" onclick="togglePopup('usagePopup18')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup18">Usage of <span class="code-font"><span class="function-syntax">Emit::numeric_constant</span></span>:<br/>Hierarchy - <a href="2-hrr.html#SP23">§23</a><br/>Compilation Units - <a href="2-cu.html#SP2_1_2">§2.1.2</a><br/>Fundamental Constants - <a href="3-fc.html#SP2">§2</a><br/>Use Options - <a href="3-uo.html#SP1_1">§1.1</a>, <a href="3-uo.html#SP1_3">§1.3</a><br/>Responses - <a href="4-rsp.html#SP6">§6</a>, <a href="4-rsp.html#SP8_2">§8.2</a><br/>Rules - <a href="5-rls.html#SP10">§10</a>, <a href="5-rls.html#SP14_1">§14.1</a><br/>Activities - <a href="5-act.html#SP2">§2</a><br/>Runtime Support for Kinds - <a href="5-rsfk.html#SP14">§14</a>, <a href="5-rsfk.html#SP26">§26</a>, <a href="5-rsfk.html#SP30">§30</a><br/>Properties - <a href="5-prp.html#SP6">§6</a>, <a href="5-prp.html#SP13_1">§13.1</a><br/>Relations at Run Time - <a href="5-rart.html#SP4_1">§4.1</a>, <a href="5-rart.html#SP8_3">§8.3</a>, <a href="5-rart.html#SP22_1">§22.1</a><br/>Runtime Support for Tables - <a href="5-rsft.html#SP1">§1</a>, <a href="5-rsft.html#SP4_1_1_1_1_3">§4.1.1.1.1.3</a>, <a href="5-rsft.html#SP4_1_2">§4.1.2</a><br/>Chronology - <a href="5-chr.html#SP2">§2</a>, <a href="5-chr.html#SP3">§3</a>, <a href="5-chr.html#SP5_4">§5.4</a>, <a href="5-chr.html#SP5_5">§5.5</a><br/>The Player - <a href="6-tp.html#SP1">§1</a><br/>The Map - <a href="6-tm.html#SP2_1">§2.1</a><br/>The Score - <a href="6-ts.html#SP1">§1</a><br/>Actions - <a href="7-act.html#SP1">§1</a>, <a href="7-act.html#SP6_1">§6.1</a>, <a href="7-act.html#SP6_3">§6.3</a><br/>Command Grammars - <a href="8-cg.html#SP1">§1</a>, <a href="8-cg.html#SP2">§2</a><br/>Figures - <a href="9-fgr.html#SP1">§1</a><br/>Sound Effects - <a href="9-se.html#SP1">§1</a><br/>External Files - <a href="9-ef.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">con_iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax"> </span><span class="identifier-syntax">val</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="2-emt.html#SP9" class="function-link"><span class="function-syntax">Emit::numeric_constant_inner</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">con_iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="identifier-syntax">int_interk</span><span class="plain-syntax">, </span><span class="identifier-syntax">INVALID_IANN</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
|
@ -381,7 +381,7 @@ it represents an actual number at run-time, the second if not:
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="function-syntax">Emit::iname_constant</span><button class="popup" onclick="togglePopup('usagePopup24')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup24">Usage of <span class="code-font"><span class="function-syntax">Emit::iname_constant</span></span>:<br/>Hierarchy - <a href="2-hrr.html#SP23">§23</a><br/>Responses - <a href="4-rsp.html#SP6">§6</a><br/>Rules - <a href="5-rls.html#SP2">§2</a>, <a href="5-rls.html#SP7">§7</a>, <a href="5-rls.html#SP10">§10</a>, <a href="5-rls.html#SP12">§12</a><br/>Activities - <a href="5-act.html#SP2">§2</a><br/>Runtime Support for Kinds - <a href="5-rsfk.html#SP14">§14</a><br/>Instance Counting - <a href="5-ic.html#SP9">§9</a><br/>Relations at Run Time - <a href="5-rart.html#SP1">§1</a>, <a href="5-rart.html#SP4">§4</a>, <a href="5-rart.html#SP4_1">§4.1</a><br/>Runtime Support for Tables - <a href="5-rsft.html#SP4_1_1_1_1_3">§4.1.1.1.1.3</a><br/>Chronology - <a href="5-chr.html#SP3">§3</a>, <a href="5-chr.html#SP4">§4</a><br/>Naming - <a href="6-nmn.html#SP2">§2</a><br/>Spatial - <a href="6-spt.html#SP1">§1</a><br/>The Map - <a href="6-tm.html#SP2_1">§2.1</a><br/>The Score - <a href="6-ts.html#SP1">§1</a><br/>Scenes - <a href="6-scn.html#SP2">§2</a>, <a href="6-scn.html#SP6">§6</a><br/>Actions - <a href="7-act.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">con_iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val_iname</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="function-syntax">Emit::iname_constant</span><button class="popup" onclick="togglePopup('usagePopup24')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup24">Usage of <span class="code-font"><span class="function-syntax">Emit::iname_constant</span></span>:<br/>Hierarchy - <a href="2-hrr.html#SP23">§23</a><br/>Responses - <a href="4-rsp.html#SP6">§6</a><br/>Rules - <a href="5-rls.html#SP2">§2</a>, <a href="5-rls.html#SP7">§7</a>, <a href="5-rls.html#SP10">§10</a>, <a href="5-rls.html#SP12">§12</a><br/>Activities - <a href="5-act.html#SP2">§2</a><br/>Runtime Support for Kinds - <a href="5-rsfk.html#SP14">§14</a><br/>Instance Counting - <a href="5-ic.html#SP9">§9</a><br/>Relations at Run Time - <a href="5-rart.html#SP1">§1</a>, <a href="5-rart.html#SP4">§4</a>, <a href="5-rart.html#SP4_1">§4.1</a><br/>Runtime Support for Tables - <a href="5-rsft.html#SP4_1_1_1_1_3">§4.1.1.1.1.3</a><br/>Chronology - <a href="5-chr.html#SP3">§3</a>, <a href="5-chr.html#SP4">§4</a><br/>Naming - <a href="6-nmn.html#SP2">§2</a><br/>Spatial - <a href="6-spt.html#SP1">§1</a><br/>The Map - <a href="6-tm.html#SP2_1">§2.1</a><br/>The Score - <a href="6-ts.html#SP1">§1</a><br/>Scenes - <a href="6-scn.html#SP2">§2</a>, <a href="6-scn.html#SP6">§6</a><br/>Actions - <a href="7-act.html#SP1">§1</a><br/>External Files - <a href="9-ef.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">con_iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val_iname</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Packaging::enter_home_of</span><span class="plain-syntax">(</span><span class="identifier-syntax">con_iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">con_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Produce::define_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">con_iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">kind_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Produce::kind_to_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">K</span><span class="plain-syntax">);</span>
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -105,6 +105,15 @@ function togglePopup(material_id) {
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">K_scene</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">Kinds::eq</span><span class="plain-syntax">(</span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_scene</span><span class="plain-syntax">)))</span>
|
||||
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata_from_number</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="identifier-syntax">icd</span><span class="plain-syntax">.</span><span class="element-syntax">instance_package</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">INSTANCE_IS_SCENE_METADATA_HL</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">K_sound_name</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">Kinds::eq</span><span class="plain-syntax">(</span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_sound_name</span><span class="plain-syntax">)))</span>
|
||||
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata_from_number</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="identifier-syntax">icd</span><span class="plain-syntax">.</span><span class="element-syntax">instance_package</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">INSTANCE_IS_SOUND_METADATA_HL</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">K_figure_name</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">Kinds::eq</span><span class="plain-syntax">(</span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_figure_name</span><span class="plain-syntax">)))</span>
|
||||
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata_from_number</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="identifier-syntax">icd</span><span class="plain-syntax">.</span><span class="element-syntax">instance_package</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">INSTANCE_IS_FIGURE_METADATA_HL</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">K_external_file</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">Kinds::eq</span><span class="plain-syntax">(</span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_external_file</span><span class="plain-syntax">)))</span>
|
||||
<span class="plain-syntax"> </span><a href="2-hrr.html#SP23" class="function-link"><span class="function-syntax">Hierarchy::apply_metadata_from_number</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="identifier-syntax">icd</span><span class="plain-syntax">.</span><span class="element-syntax">instance_package</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><span class="constant-syntax">INSTANCE_IS_EXF_METADATA_HL</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
|
@ -169,7 +178,7 @@ declarations) and finally return <span class="extract"><span class="extract-synt
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">iname</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="function-syntax">RTInstances::package</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">RTInstances::package</span></span>:<br/>Emit Property Values - <a href="5-epv.html#SP2">§2</a><br/>Naming - <a href="6-nmn.html#SP2">§2</a><br/>Backdrops - <a href="6-bck.html#SP1">§1</a><br/>Regions - <a href="6-rgn.html#SP1">§1</a><br/>The Map - <a href="6-tm.html#SP3">§3</a><br/>Scenes - <a href="6-scn.html#SP2">§2</a>, <a href="6-scn.html#SP6">§6</a><br/>Actions - <a href="7-act.html#SP1">§1</a><br/>Parsing - <a href="8-prs.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="function-syntax">RTInstances::package</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">RTInstances::package</span></span>:<br/>Emit Property Values - <a href="5-epv.html#SP2">§2</a><br/>Naming - <a href="6-nmn.html#SP2">§2</a><br/>Backdrops - <a href="6-bck.html#SP1">§1</a><br/>Regions - <a href="6-rgn.html#SP1">§1</a><br/>The Map - <a href="6-tm.html#SP3">§3</a><br/>Scenes - <a href="6-scn.html#SP2">§2</a>, <a href="6-scn.html#SP6">§6</a><br/>Actions - <a href="7-act.html#SP1">§1</a><br/>Parsing - <a href="8-prs.html#SP2">§2</a><br/>Figures - <a href="9-fgr.html#SP1">§1</a><br/>Sound Effects - <a href="9-se.html#SP1">§1</a><br/>External Files - <a href="9-ef.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">instance</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="5-ins.html#SP1" class="function-link"><span class="function-syntax">RTInstances::iname</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">); </span><span class="comment-syntax"> Thus forcing this to exist...</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="plain-syntax">-></span><span class="identifier-syntax">icd</span><span class="plain-syntax">.</span><span class="element-syntax">instance_package</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
|
|
@ -72,7 +72,7 @@ function togglePopup(material_id) {
|
|||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inform7</a></li><li><a href="index.html">runtime</a></li><li><a href="index.html#5">Chapter 5: Miscellany</a></li><li><b>Runtime Support for Tables</b></li></ul></div>
|
||||
<p class="purpose">To compile run-time data structures holding tables.</p>
|
||||
|
||||
<ul class="toc"><li><a href="5-rsft.html#SP1">§1. Columns</a></li><li><a href="5-rsft.html#SP3">§3. Tables</a></li></ul><hr class="tocbar">
|
||||
<ul class="toc"><li><a href="5-rsft.html#SP1">§1. Columns</a></li><li><a href="5-rsft.html#SP3">§3. Tables</a></li><li><a href="5-rsft.html#SP7">§7. Synoptic resources</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. Columns. </b>The run-time code uses a range of unique ID numbers to represent table columns;
|
||||
these can't simply be addresses of the data because two uses of columns called
|
||||
|
@ -124,20 +124,6 @@ kind as a strong kind ID.
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RTTables::column_introspection_routine</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">RTTables::column_introspection_routine</span></span>:<br/><a href="5-rsft.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP11" class="function-link"><span class="function-syntax">Hierarchy::find</span></a><span class="plain-syntax">(</span><span class="constant-syntax">TC_KOV_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::annotate_i</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">SYNOPTIC_IANN</span><span class="plain-syntax">, </span><span class="identifier-syntax">TC_KOV_SYNID</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Functions::begin</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tcv_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">LocalVariables::new_other_as_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"tc"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">unk_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterSymbolsTables::create_with_unique_name</span><span class="plain-syntax">(</span><span class="identifier-syntax">tcv_s</span><span class="plain-syntax">-></span><span class="identifier-syntax">owning_table</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"unk"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">unk_iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Kinds::Constructors::UNKNOWN_iname</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::equate</span><span class="plain-syntax">(</span><span class="identifier-syntax">unk_s</span><span class="plain-syntax">, </span><span class="identifier-syntax">InterNames::to_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">unk_iname</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ec.html#SP6" class="function-link"><span class="function-syntax">EmitCode::comment</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"This function is consolidated"</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Functions::end</span><span class="plain-syntax">(</span><span class="identifier-syntax">save</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-hrr.html#SP17" class="function-link"><span class="function-syntax">Hierarchy::make_available</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">typedef</span><span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">table_column_usage_compilation_data</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">super_package</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tcu_package</span><span class="plain-syntax">;</span>
|
||||
|
@ -152,14 +138,14 @@ kind as a strong kind ID.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">tcucd</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="function-syntax">RTTables::tcu_package</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">RTTables::tcu_package</span></span>:<br/><a href="5-rsft.html#SP4_1_1_1_1_3">§4.1.1.1.1.3</a>, <a href="5-rsft.html#SP4_2">§4.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">table_column_usage</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tcu</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">package_request</span><span class="plain-syntax"> *</span><span class="function-syntax">RTTables::tcu_package</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">RTTables::tcu_package</span></span>:<br/><a href="5-rsft.html#SP4_1_1_1_1_3">§4.1.1.1.1.3</a>, <a href="5-rsft.html#SP4_2">§4.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">table_column_usage</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tcu</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">tcu</span><span class="plain-syntax">-></span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">tcu_package</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">tcu</span><span class="plain-syntax">-></span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">tcu_package</span><span class="plain-syntax"> =</span>
|
||||
<span class="plain-syntax"> </span><a href="2-hrr.html#SP21" class="function-link"><span class="function-syntax">Hierarchy::package_within</span></a><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_COLUMN_USAGES_HAP</span><span class="plain-syntax">, </span><span class="identifier-syntax">tcu</span><span class="plain-syntax">-></span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">super_package</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">tcu</span><span class="plain-syntax">-></span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="identifier-syntax">tcu_package</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="function-syntax">RTTables::tcu_iname</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">RTTables::tcu_iname</span></span>:<br/><a href="5-rsft.html#SP4_1_1_1">§4.1.1.1</a>, <a href="5-rsft.html#SP4_1_1_1_1">§4.1.1.1.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">table_column_usage</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tcu</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="function-syntax">RTTables::tcu_iname</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">RTTables::tcu_iname</span></span>:<br/><a href="5-rsft.html#SP4_1_1_1">§4.1.1.1</a>, <a href="5-rsft.html#SP4_1_1_1_1">§4.1.1.1.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">table_column_usage</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tcu</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">tcu</span><span class="plain-syntax">-></span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">tcu_iname</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">tcu</span><span class="plain-syntax">-></span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">tcu_iname</span><span class="plain-syntax"> =</span>
|
||||
<span class="plain-syntax"> </span><a href="2-hrr.html#SP12" class="function-link"><span class="function-syntax">Hierarchy::make_iname_in</span></a><span class="plain-syntax">(</span><span class="constant-syntax">COLUMN_DATA_HL</span><span class="plain-syntax">, </span><a href="5-rsft.html#SP2" class="function-link"><span class="function-syntax">RTTables::tcu_package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tcu</span><span class="plain-syntax">));</span>
|
||||
|
@ -187,7 +173,7 @@ kind as a strong kind ID.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax">-></span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">name_for_metadata</span><span class="plain-syntax"> = </span><span class="identifier-syntax">W</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="function-syntax">RTTables::identifier</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">RTTables::identifier</span></span>:<br/><a href="5-rsft.html#SP1">§1</a>, <a href="5-rsft.html#SP4_1_1_1">§4.1.1.1</a><br/>The Score - <a href="6-ts.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">table</span><span class="plain-syntax"> *</span><span class="identifier-syntax">t</span><span class="plain-syntax">) {</span>
|
||||
<span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="function-syntax">RTTables::identifier</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">RTTables::identifier</span></span>:<br/><a href="5-rsft.html#SP1">§1</a>, <a href="5-rsft.html#SP4_1_1_1">§4.1.1.1</a><br/>The Score - <a href="6-ts.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">table</span><span class="plain-syntax"> *</span><span class="identifier-syntax">t</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">t</span><span class="plain-syntax">-></span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">table_identifier</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">t</span><span class="plain-syntax">-></span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">table_identifier</span><span class="plain-syntax"> =</span>
|
||||
<span class="plain-syntax"> </span><a href="2-hrr.html#SP12" class="function-link"><span class="function-syntax">Hierarchy::make_iname_in</span></a><span class="plain-syntax">(</span><span class="constant-syntax">TABLE_DATA_HL</span><span class="plain-syntax">, </span><span class="identifier-syntax">t</span><span class="plain-syntax">-></span><span class="identifier-syntax">compilation_data</span><span class="plain-syntax">.</span><span class="element-syntax">table_package</span><span class="plain-syntax">);</span>
|
||||
|
@ -201,8 +187,6 @@ kind as a strong kind ID.
|
|||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RTTables::compile</span><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-rsft.html#SP4_1" class="named-paragraph-link"><span class="named-paragraph">Compile the data structures for entry storage</span><span class="named-paragraph-number">4.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-rsft.html#SP4_2" class="named-paragraph-link"><span class="named-paragraph">Compile the blanks bitmap table</span><span class="named-paragraph-number">4.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-rsft.html#SP4_3" class="named-paragraph-link"><span class="named-paragraph">Compile the Table of Tables</span><span class="named-paragraph-number">4.3</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="5-rsft.html#SP2" class="function-link"><span class="function-syntax">RTTables::column_introspection_routine</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP4_1" class="paragraph-anchor"></a><b>§4.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Compile the data structures for entry storage</span><span class="named-paragraph-number">4.1</span></span><span class="comment-syntax"> =</span>
|
||||
|
@ -363,15 +347,12 @@ the values given there.
|
|||
<span class="plain-syntax"> </span><a href="2-ea.html#SP4" class="function-link"><span class="function-syntax">EmitArrays::iname_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">bits_iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">identity_iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP12" class="function-link"><span class="function-syntax">Hierarchy::make_iname_in</span></a><span class="plain-syntax">(</span><span class="constant-syntax">COLUMN_IDENTITY_HL</span><span class="plain-syntax">, </span><a href="5-rsft.html#SP2" class="function-link"><span class="function-syntax">RTTables::tcu_package</span></a><span class="plain-syntax">(&(</span><span class="identifier-syntax">t</span><span class="plain-syntax">-></span><span class="identifier-syntax">columns</span><span class="plain-syntax">[</span><span class="identifier-syntax">j</span><span class="plain-syntax">])));</span>
|
||||
<span class="plain-syntax"> </span><a href="2-emt.html#SP11" class="function-link"><span class="function-syntax">Emit::iname_constant</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">identity_iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_value</span><span class="plain-syntax">, </span><a href="5-rsft.html#SP1" class="function-link"><span class="function-syntax">RTTables::column_id</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tc</span><span class="plain-syntax">));</span>
|
||||
<span class="comment-syntax">FIXME</span>
|
||||
<span class="comment-syntax"> EmitArrays::numeric_entry((inter_ti) (RTTables::column_id(tc) + bits));</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">bits</span><span class="plain-syntax"> & </span><span class="constant-syntax">TB_COLUMN_NOBLANKBITS</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">bits</span><span class="plain-syntax"> & </span><span class="constant-syntax">TB_COLUMN_NOBLANKBITS</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP4" class="function-link"><span class="function-syntax">EmitArrays::null_entry</span></a><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">blanks_iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP12" class="function-link"><span class="function-syntax">Hierarchy::make_iname_in</span></a><span class="plain-syntax">(</span><span class="constant-syntax">COLUMN_BLANKS_HL</span><span class="plain-syntax">, </span><a href="5-rsft.html#SP2" class="function-link"><span class="function-syntax">RTTables::tcu_package</span></a><span class="plain-syntax">(&(</span><span class="identifier-syntax">t</span><span class="plain-syntax">-></span><span class="identifier-syntax">columns</span><span class="plain-syntax">[</span><span class="identifier-syntax">j</span><span class="plain-syntax">])));</span>
|
||||
<span class="plain-syntax"> </span><a href="2-emt.html#SP9" class="function-link"><span class="function-syntax">Emit::numeric_constant</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">blanks_iname</span><span class="plain-syntax">, (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">blanks_array_hwm</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP4" class="function-link"><span class="function-syntax">EmitArrays::iname_entry</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">blanks_iname</span><span class="plain-syntax">);</span>
|
||||
<span class="comment-syntax"> EmitArrays::numeric_entry((inter_ti) blanks_array_hwm);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">words_used</span><span class="plain-syntax"> += </span><span class="constant-syntax">2</span><span class="plain-syntax">;</span>
|
||||
</pre>
|
||||
|
@ -442,12 +423,6 @@ case.)
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP11" class="function-link"><span class="function-syntax">Hierarchy::find</span></a><span class="plain-syntax">(</span><span class="constant-syntax">TB_BLANKS_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::annotate_i</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">SYNOPTIC_IANN</span><span class="plain-syntax">, </span><span class="identifier-syntax">TB_BLANKS_SYNID</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><a href="2-ea.html#SP2" class="function-link"><span class="function-syntax">EmitArrays::begin_byte</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_number</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP6" class="function-link"><span class="function-syntax">EmitArrays::end</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">save</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-hrr.html#SP17" class="function-link"><span class="function-syntax">Hierarchy::make_available</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">table</span><span class="plain-syntax"> *</span><span class="identifier-syntax">t</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="identifier-syntax">table</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">t</span><span class="plain-syntax">-></span><span class="identifier-syntax">amendment_of</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) {</span>
|
||||
|
@ -515,26 +490,6 @@ case.)
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">)</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-rsft.html#SP4_1">§4.1</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP4_3" class="paragraph-anchor"></a><b>§4.3. </b>We need a default value for the "table" kind, but it's not obvious what
|
||||
it should be. So <span class="extract"><span class="extract-syntax">TheEmptyTable</span></span> is a stunted form of the above data
|
||||
structure: a table with no columns and no rows, which would otherwise be
|
||||
against the rules. (The Template file "Tables.i6t" defines it.)
|
||||
</p>
|
||||
|
||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Compile the Table of Tables</span><span class="named-paragraph-number">4.3</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP11" class="function-link"><span class="function-syntax">Hierarchy::find</span></a><span class="plain-syntax">(</span><span class="constant-syntax">TABLEOFTABLES_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterNames::to_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">empty_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterSymbolsTables::create_with_unique_name</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname_s</span><span class="plain-syntax">-></span><span class="identifier-syntax">owning_table</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"empty"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">empty_iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP11" class="function-link"><span class="function-syntax">Hierarchy::find</span></a><span class="plain-syntax">(</span><span class="constant-syntax">THEEMPTYTABLE_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::equate</span><span class="plain-syntax">(</span><span class="identifier-syntax">empty_s</span><span class="plain-syntax">, </span><span class="identifier-syntax">InterNames::to_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">empty_iname</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><a href="2-ea.html#SP2" class="function-link"><span class="function-syntax">EmitArrays::begin</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_value</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::annotate_i</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">SYNOPTIC_IANN</span><span class="plain-syntax">, </span><span class="identifier-syntax">TABLEOFTABLES_SYNID</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP6" class="function-link"><span class="function-syntax">EmitArrays::end</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">save</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-rsft.html#SP4">§4</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP5" class="paragraph-anchor"></a><b>§5. </b>The following allows tables to be said: it's a routine which switches on
|
||||
table values and prints the (title-cased) name of the one which matches.
|
||||
</p>
|
||||
|
@ -558,13 +513,64 @@ should return <span class="extract"><span class="extract-syntax">FALSE</span></s
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">RTTables::requires_blanks_bitmap</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">RTTables::requires_blanks_bitmap</span></span>:<br/><a href="5-rsft.html#SP4_1_1_1_1_3">§4.1.1.1.1.3</a>, <a href="5-rsft.html#SP4_2">§4.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">) {</span>
|
||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">RTTables::requires_blanks_bitmap</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">RTTables::requires_blanks_bitmap</span></span>:<br/><a href="5-rsft.html#SP4_1_1_1_1_3">§4.1.1.1.1.3</a>, <a href="5-rsft.html#SP4_2">§4.2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">kind</span><span class="plain-syntax"> *</span><span class="identifier-syntax">K</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">K</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Kinds::Behaviour::is_object</span><span class="plain-syntax">(</span><span class="identifier-syntax">K</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Kinds::Behaviour::is_an_enumeration</span><span class="plain-syntax">(</span><span class="identifier-syntax">K</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP7" class="paragraph-anchor"></a><b>§7. Synoptic resources. </b></p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RTTables::compile_synoptic_resources</span><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-rsft.html#SP7_1" class="named-paragraph-link"><span class="named-paragraph">Provide placeholder for the TABLEOFTABLES array</span><span class="named-paragraph-number">7.1</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-rsft.html#SP7_2" class="named-paragraph-link"><span class="named-paragraph">Provide placeholder for the TB_BLANKS array</span><span class="named-paragraph-number">7.2</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-rsft.html#SP7_3" class="named-paragraph-link"><span class="named-paragraph">Provide placeholder for the TC_KOV function</span><span class="named-paragraph-number">7.3</span></a></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<p class="commentary firstcommentary"><a id="SP7_1" class="paragraph-anchor"></a><b>§7.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Provide placeholder for the TABLEOFTABLES array</span><span class="named-paragraph-number">7.1</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP11" class="function-link"><span class="function-syntax">Hierarchy::find</span></a><span class="plain-syntax">(</span><span class="constant-syntax">TABLEOFTABLES_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterNames::to_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">empty_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterSymbolsTables::create_with_unique_name</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname_s</span><span class="plain-syntax">-></span><span class="identifier-syntax">owning_table</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"empty"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">empty_iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP11" class="function-link"><span class="function-syntax">Hierarchy::find</span></a><span class="plain-syntax">(</span><span class="constant-syntax">THEEMPTYTABLE_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::equate</span><span class="plain-syntax">(</span><span class="identifier-syntax">empty_s</span><span class="plain-syntax">, </span><span class="identifier-syntax">InterNames::to_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">empty_iname</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><a href="2-ea.html#SP2" class="function-link"><span class="function-syntax">EmitArrays::begin</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_value</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::annotate_i</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">SYNOPTIC_IANN</span><span class="plain-syntax">, </span><span class="identifier-syntax">TABLEOFTABLES_SYNID</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP6" class="function-link"><span class="function-syntax">EmitArrays::end</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">save</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-hrr.html#SP17" class="function-link"><span class="function-syntax">Hierarchy::make_available</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-rsft.html#SP7">§7</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP7_2" class="paragraph-anchor"></a><b>§7.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Provide placeholder for the TB_BLANKS array</span><span class="named-paragraph-number">7.2</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP11" class="function-link"><span class="function-syntax">Hierarchy::find</span></a><span class="plain-syntax">(</span><span class="constant-syntax">TB_BLANKS_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::annotate_i</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">SYNOPTIC_IANN</span><span class="plain-syntax">, </span><span class="identifier-syntax">TB_BLANKS_SYNID</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><a href="2-ea.html#SP2" class="function-link"><span class="function-syntax">EmitArrays::begin_byte</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_number</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP6" class="function-link"><span class="function-syntax">EmitArrays::end</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">save</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-hrr.html#SP17" class="function-link"><span class="function-syntax">Hierarchy::make_available</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-rsft.html#SP7">§7</a>.</li></ul>
|
||||
<p class="commentary firstcommentary"><a id="SP7_3" class="paragraph-anchor"></a><b>§7.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Provide placeholder for the TC_KOV function</span><span class="named-paragraph-number">7.3</span></span><span class="comment-syntax"> =</span>
|
||||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP11" class="function-link"><span class="function-syntax">Hierarchy::find</span></a><span class="plain-syntax">(</span><span class="constant-syntax">TC_KOV_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::annotate_i</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">SYNOPTIC_IANN</span><span class="plain-syntax">, </span><span class="identifier-syntax">TC_KOV_SYNID</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Functions::begin</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tcv_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">LocalVariables::new_other_as_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"tc"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">unk_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterSymbolsTables::create_with_unique_name</span><span class="plain-syntax">(</span><span class="identifier-syntax">tcv_s</span><span class="plain-syntax">-></span><span class="identifier-syntax">owning_table</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"unk"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">unk_iname</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Kinds::Constructors::UNKNOWN_iname</span><span class="plain-syntax">();</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::equate</span><span class="plain-syntax">(</span><span class="identifier-syntax">unk_s</span><span class="plain-syntax">, </span><span class="identifier-syntax">InterNames::to_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">unk_iname</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ec.html#SP6" class="function-link"><span class="function-syntax">EmitCode::comment</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"This function is consolidated"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Functions::end</span><span class="plain-syntax">(</span><span class="identifier-syntax">save</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-hrr.html#SP17" class="function-link"><span class="function-syntax">Hierarchy::make_available</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="5-rsft.html#SP7">§7</a>.</li></ul>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
<ul class="progressbar"><li class="progressprev"><a href="5-rart.html">❮</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-rm.html">1</a></li><li class="progresschapter"><a href="2-hrr.html">2</a></li><li class="progresschapter"><a href="3-fc.html">3</a></li><li class="progresschapter"><a href="4-enc.html">4</a></li><li class="progresscurrentchapter">5</li><li class="progresssection"><a href="5-rls.html">rls</a></li><li class="progresssection"><a href="5-act.html">act</a></li><li class="progresssection"><a href="5-rsfk.html">rsfk</a></li><li class="progresssection"><a href="5-lpart.html">lpart</a></li><li class="progresssection"><a href="5-es.html">es</a></li><li class="progresssection"><a href="5-tv.html">tv</a></li><li class="progresssection"><a href="5-vrb.html">vrb</a></li><li class="progresssection"><a href="5-prp.html">prp</a></li><li class="progresssection"><a href="5-msr.html">msr</a></li><li class="progresssection"><a href="5-epv.html">epv</a></li><li class="progresssection"><a href="5-ins.html">ins</a></li><li class="progresssection"><a href="5-ic.html">ic</a></li><li class="progresssection"><a href="5-adj.html">adj</a></li><li class="progresssection"><a href="5-ni.html">ni</a></li><li class="progresssection"><a href="5-vart.html">vart</a></li><li class="progresssection"><a href="5-rart.html">rart</a></li><li class="progresscurrent">rsft</li><li class="progresssection"><a href="5-chr.html">chr</a></li><li class="progresschapter"><a href="6-nmn.html">6</a></li><li class="progresschapter"><a href="7-act.html">7</a></li><li class="progresschapter"><a href="8-prs.html">8</a></li><li class="progresschapter"><a href="9-fgr.html">9</a></li><li class="progresschapter"><a href="10-sc.html">10</a></li><li class="progressnext"><a href="5-chr.html">❯</a></li></ul></div>
|
||||
</nav><!--End of weave-->
|
||||
|
|
|
@ -751,10 +751,8 @@ actually running:
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::annotate_i</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">SYNOPTIC_IANN</span><span class="plain-syntax">, </span><span class="identifier-syntax">DETECTSCENECHANGE_SYNID</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Functions::begin</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LocalVariables::new_internal_commented_as_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"chs"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"count of changes made"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ch_s</span><span class="plain-syntax"> =</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LocalVariables::new_internal_commented_as_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"ch"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"flag: change made"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_symbol</span><span class="plain-syntax"> *</span><span class="identifier-syntax">myself_s</span><span class="plain-syntax"> = </span><span class="identifier-syntax">InterSymbolsTables::create_with_unique_name</span><span class="plain-syntax">(</span><span class="identifier-syntax">ch_s</span><span class="plain-syntax">-></span><span class="identifier-syntax">owning_table</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"myself"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">InterSymbolsTables::equate</span><span class="plain-syntax">(</span><span class="identifier-syntax">myself_s</span><span class="plain-syntax">, </span><span class="identifier-syntax">InterNames::to_symbol</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">));</span>
|
||||
<span class="comment-syntax"> inter_symbol *ch_s =</span>
|
||||
<span class="comment-syntax"> LocalVariables::new_internal_commented_as_symbol(I"ch", I"flag: change made");</span>
|
||||
|
||||
<span class="plain-syntax"> </span><a href="2-ec.html#SP6" class="function-link"><span class="function-syntax">EmitCode::comment</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"This function is consolidated"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Functions::end</span><span class="plain-syntax">(</span><span class="identifier-syntax">save</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -80,10 +80,6 @@
|
|||
<span class="plain-syntax">}</span>
|
||||
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RTExternalFiles::arrays</span><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP11" class="function-link"><span class="function-syntax">Hierarchy::find</span></a><span class="plain-syntax">(</span><span class="constant-syntax">NO_EXTERNAL_FILES_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-emt.html#SP9" class="function-link"><span class="function-syntax">Emit::numeric_constant</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) (</span><span class="identifier-syntax">NUMBER_CREATED</span><span class="plain-syntax">(</span><span class="identifier-syntax">files_data</span><span class="plain-syntax">)));</span>
|
||||
<span class="plain-syntax"> </span><a href="2-hrr.html#SP17" class="function-link"><span class="function-syntax">Hierarchy::make_available</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">files_data</span><span class="plain-syntax"> *</span><span class="identifier-syntax">exf</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">exf</span><span class="plain-syntax">, </span><span class="identifier-syntax">files_data</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">exf</span><span class="plain-syntax">-></span><span class="identifier-syntax">file_ownership</span><span class="plain-syntax"> == </span><span class="identifier-syntax">OWNED_BY_SPECIFIC_PROJECT</span><span class="plain-syntax">) {</span>
|
||||
|
@ -118,11 +114,20 @@
|
|||
<span class="string-syntax"> EmitArrays::end(save);</span>
|
||||
<span class="string-syntax"> }</span>
|
||||
|
||||
<span class="string-syntax"> LOOP_OVER(exf, files_data) {</span>
|
||||
<span class="string-syntax"> inter_name *md_iname = Hierarchy::make_iname_in(INSTANCE_FILE_VALUE_METADATA_HL,</span>
|
||||
<span class="string-syntax"> RTInstances::package(exf->as_instance));</span>
|
||||
<span class="string-syntax"> Emit::iname_constant(md_iname, K_value, exf->compilation_data.exf_iname);</span>
|
||||
<span class="string-syntax"> }</span>
|
||||
|
||||
<span class="string-syntax"> inter_name *iname = Hierarchy::find(NO_EXTERNAL_FILES_HL);</span>
|
||||
<span class="string-syntax"> Produce::annotate_i(iname, SYNOPTIC_IANN, NO_EXTERNAL_FILES_SYNID);</span>
|
||||
<span class="string-syntax"> Emit::numeric_constant(iname, (inter_ti) 0);</span>
|
||||
<span class="string-syntax"> Hierarchy::make_available(iname);</span>
|
||||
|
||||
<span class="string-syntax"> iname = Hierarchy::find(TABLEOFEXTERNALFILES_HL);</span>
|
||||
<span class="string-syntax"> Produce::annotate_i(iname, SYNOPTIC_IANN, TABLEOFEXTERNALFILES_SYNID);</span>
|
||||
<span class="string-syntax"> packaging_state save = EmitArrays::begin(iname, K_value);</span>
|
||||
<span class="string-syntax"> EmitArrays::numeric_entry(0);</span>
|
||||
<span class="string-syntax"> LOOP_OVER(exf, files_data) EmitArrays::iname_entry(exf->compilation_data.exf_iname);</span>
|
||||
<span class="string-syntax"> EmitArrays::numeric_entry(0);</span>
|
||||
<span class="string-syntax"> EmitArrays::end(save);</span>
|
||||
<span class="string-syntax"> Hierarchy::make_available(iname);</span>
|
||||
<span class="string-syntax">}</span>
|
||||
|
|
|
@ -66,14 +66,19 @@
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RTFigures::compile_ResourceIDsOfFigures_array</span><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP11" class="function-link"><span class="function-syntax">Hierarchy::find</span></a><span class="plain-syntax">(</span><span class="constant-syntax">RESOURCEIDSOFFIGURES_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><a href="2-ea.html#SP2" class="function-link"><span class="function-syntax">EmitArrays::begin</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_number</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP4" class="function-link"><span class="function-syntax">EmitArrays::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RTFigures::compile_metadata</span><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">figures_data</span><span class="plain-syntax"> *</span><span class="identifier-syntax">bf</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">bf</span><span class="plain-syntax">, </span><span class="identifier-syntax">figures_data</span><span class="plain-syntax">) </span><a href="2-ea.html#SP4" class="function-link"><span class="function-syntax">EmitArrays::numeric_entry</span></a><span class="plain-syntax">((</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">bf</span><span class="plain-syntax">-></span><span class="identifier-syntax">figure_number</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP4" class="function-link"><span class="function-syntax">EmitArrays::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">bf</span><span class="plain-syntax">, </span><span class="identifier-syntax">figures_data</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">md_iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP12" class="function-link"><span class="function-syntax">Hierarchy::make_iname_in</span></a><span class="plain-syntax">(</span><span class="constant-syntax">INSTANCE_FIGURE_ID_METADATA_HL</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="5-ins.html#SP4" class="function-link"><span class="function-syntax">RTInstances::package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">bf</span><span class="plain-syntax">-></span><span class="identifier-syntax">as_instance</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="2-emt.html#SP9" class="function-link"><span class="function-syntax">Emit::numeric_constant</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">md_iname</span><span class="plain-syntax">, (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">bf</span><span class="plain-syntax">-></span><span class="identifier-syntax">figure_number</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP11" class="function-link"><span class="function-syntax">Hierarchy::find</span></a><span class="plain-syntax">(</span><span class="constant-syntax">RESOURCEIDSOFFIGURES_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::annotate_i</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">SYNOPTIC_IANN</span><span class="plain-syntax">, </span><span class="identifier-syntax">RESOURCEIDSOFFIGURES_SYNID</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><a href="2-ea.html#SP2" class="function-link"><span class="function-syntax">EmitArrays::begin</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_value</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP6" class="function-link"><span class="function-syntax">EmitArrays::end</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">save</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-hrr.html#SP17" class="function-link"><span class="function-syntax">Hierarchy::make_available</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
|
|
|
@ -66,14 +66,18 @@
|
|||
</p>
|
||||
|
||||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RTSounds::compile_ResourceIDsOfSounds_array</span><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP11" class="function-link"><span class="function-syntax">Hierarchy::find</span></a><span class="plain-syntax">(</span><span class="constant-syntax">RESOURCEIDSOFSOUNDS_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><a href="2-ea.html#SP2" class="function-link"><span class="function-syntax">EmitArrays::begin</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_number</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP4" class="function-link"><span class="function-syntax">EmitArrays::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">RTSounds::compile_metadata</span><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">sounds_data</span><span class="plain-syntax"> *</span><span class="identifier-syntax">bs</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">bs</span><span class="plain-syntax">, </span><span class="identifier-syntax">sounds_data</span><span class="plain-syntax">) </span><a href="2-ea.html#SP4" class="function-link"><span class="function-syntax">EmitArrays::numeric_entry</span></a><span class="plain-syntax">((</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">bs</span><span class="plain-syntax">-></span><span class="identifier-syntax">sound_number</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP4" class="function-link"><span class="function-syntax">EmitArrays::numeric_entry</span></a><span class="plain-syntax">(0);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">bs</span><span class="plain-syntax">, </span><span class="identifier-syntax">sounds_data</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">md_iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP12" class="function-link"><span class="function-syntax">Hierarchy::make_iname_in</span></a><span class="plain-syntax">(</span><span class="constant-syntax">INSTANCE_SOUND_ID_METADATA_HL</span><span class="plain-syntax">,</span>
|
||||
<span class="plain-syntax"> </span><a href="5-ins.html#SP4" class="function-link"><span class="function-syntax">RTInstances::package</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">bs</span><span class="plain-syntax">-></span><span class="identifier-syntax">as_instance</span><span class="plain-syntax">));</span>
|
||||
<span class="plain-syntax"> </span><a href="2-emt.html#SP9" class="function-link"><span class="function-syntax">Emit::numeric_constant</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">md_iname</span><span class="plain-syntax">, (</span><span class="identifier-syntax">inter_ti</span><span class="plain-syntax">) </span><span class="identifier-syntax">bs</span><span class="plain-syntax">-></span><span class="identifier-syntax">sound_number</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">inter_name</span><span class="plain-syntax"> *</span><span class="identifier-syntax">iname</span><span class="plain-syntax"> = </span><a href="2-hrr.html#SP11" class="function-link"><span class="function-syntax">Hierarchy::find</span></a><span class="plain-syntax">(</span><span class="constant-syntax">RESOURCEIDSOFSOUNDS_HL</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Produce::annotate_i</span><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">SYNOPTIC_IANN</span><span class="plain-syntax">, </span><span class="identifier-syntax">RESOURCEIDSOFSOUNDS_SYNID</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">packaging_state</span><span class="plain-syntax"> </span><span class="identifier-syntax">save</span><span class="plain-syntax"> = </span><a href="2-ea.html#SP2" class="function-link"><span class="function-syntax">EmitArrays::begin</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_value</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-ea.html#SP6" class="function-link"><span class="function-syntax">EmitArrays::end</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">save</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><a href="2-hrr.html#SP17" class="function-link"><span class="function-syntax">Hierarchy::make_available</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">iname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
<nav role="progress"><div class="progresscontainer">
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
Total memory consumption was 298905K = 292 MB
|
||||
Total memory consumption was 298912K = 292 MB
|
||||
|
||||
63.9% was used for 1469154 objects, in 316296 frames in 239 x 800K = 191200K = 186 MB:
|
||||
63.9% was used for 1469174 objects, in 316316 frames in 239 x 800K = 191200K = 186 MB:
|
||||
|
||||
9.4% inter_tree_node_array 40 x 8192 = 327680 objects, 28837120 bytes
|
||||
5.9% text_stream_array 3258 x 100 = 325800 objects, 18349056 bytes
|
||||
5.3% linked_list 29092 objects, 16291520 bytes
|
||||
5.3% linked_list 29093 objects, 16292080 bytes
|
||||
3.3% parse_node 129367 objects, 10349360 bytes
|
||||
2.7% inter_symbol_array 85 x 1024 = 87040 objects, 8358560 bytes
|
||||
2.4% verb_conjugation 160 objects, 7425280 bytes
|
||||
|
@ -18,18 +18,18 @@ Total memory consumption was 298905K = 292 MB
|
|||
0.4% match_trie_array 10 x 1000 = 10000 objects, 1360320 bytes
|
||||
0.4% i6_schema_array 21 x 100 = 2100 objects, 1260672 bytes
|
||||
0.3% id_body 940 objects, 1075360 bytes
|
||||
0.3% inter_package 14899 objects, 1072728 bytes
|
||||
0.3% inter_package 14900 objects, 1072800 bytes
|
||||
0.3% adjective_meaning 202 objects, 1000304 bytes
|
||||
0.3% excerpt_meaning 3098 objects, 966576 bytes
|
||||
0.3% inter_name_generator_array 24 x 1000 = 24000 objects, 960768 bytes
|
||||
0.3% inter_symbols_table 14899 objects, 953536 bytes
|
||||
0.3% dictionary 19542 objects, 938016 bytes
|
||||
0.3% inter_symbols_table 14900 objects, 953600 bytes
|
||||
0.3% dictionary 19544 objects, 938112 bytes
|
||||
0.2% production 3885 objects, 901320 bytes
|
||||
0.2% dict_entry_array 273 x 100 = 27300 objects, 882336 bytes
|
||||
0.2% ptoken 8390 objects, 872560 bytes
|
||||
0.2% grammatical_usage 3610 objects, 866400 bytes
|
||||
0.2% individual_form 2560 objects, 860160 bytes
|
||||
0.2% package_request 9540 objects, 839520 bytes
|
||||
0.2% package_request 9541 objects, 839608 bytes
|
||||
0.2% inter_schema_node 8663 objects, 831648 bytes
|
||||
0.2% unary_predicate_array 16 x 1000 = 16000 objects, 640512 bytes
|
||||
0.1% local_variable_array 46 x 100 = 4600 objects, 443072 bytes
|
||||
|
@ -47,14 +47,14 @@ Total memory consumption was 298905K = 292 MB
|
|||
---- nonterminal 759 objects, 139656 bytes
|
||||
---- compilation_subtask 1664 objects, 133120 bytes
|
||||
---- nascent_array 1969 objects, 126016 bytes
|
||||
---- hierarchy_location 812 objects, 116928 bytes
|
||||
---- hierarchy_location 818 objects, 117792 bytes
|
||||
---- documentation_ref 1274 objects, 112112 bytes
|
||||
---- inference 1703 objects, 108992 bytes
|
||||
---- imperative_defn 1376 objects, 99072 bytes
|
||||
---- anl_entry_array 2 x 1000 = 2000 objects, 96064 bytes
|
||||
---- noun_usage 2401 objects, 96040 bytes
|
||||
---- preposition 273 objects, 87360 bytes
|
||||
---- inter_tree 6 objects, 82464 bytes
|
||||
---- inter_tree 6 objects, 82752 bytes
|
||||
---- lexical_cluster 2516 objects, 80512 bytes
|
||||
---- pcalc_term_array 2 x 1000 = 2000 objects, 80064 bytes
|
||||
---- kind_variable_declaration 1652 objects, 79296 bytes
|
||||
|
@ -110,10 +110,10 @@ Total memory consumption was 298905K = 292 MB
|
|||
---- booking_list 407 objects, 13024 bytes
|
||||
---- adjective_iname_holder 320 objects, 12800 bytes
|
||||
---- pathname 292 objects, 11680 bytes
|
||||
---- stopwatch_timer 140 objects, 11200 bytes
|
||||
---- stopwatch_timer 141 objects, 11280 bytes
|
||||
---- filename 208 objects, 8320 bytes
|
||||
---- equation_node 68 objects, 7616 bytes
|
||||
---- uniqueness_count 306 objects, 7344 bytes
|
||||
---- uniqueness_count 308 objects, 7392 bytes
|
||||
---- understanding_item_array 3 x 100 = 300 objects, 7296 bytes
|
||||
---- shared_variable_array 1 x 100 objects, 7232 bytes
|
||||
---- determiner 22 objects, 7216 bytes
|
||||
|
@ -141,7 +141,7 @@ Total memory consumption was 298905K = 292 MB
|
|||
---- inform_extension 19 objects, 3040 bytes
|
||||
---- either_or_property_data 62 objects, 2976 bytes
|
||||
---- property_of_value_storage 93 objects, 2976 bytes
|
||||
---- submodule_request 73 objects, 2920 bytes
|
||||
---- submodule_request 74 objects, 2960 bytes
|
||||
---- part_of_inference_data 79 objects, 2528 bytes
|
||||
---- parentage_inference_data 79 objects, 2528 bytes
|
||||
---- kind_constructor_casting_rule_array 1 x 100 objects, 2432 bytes
|
||||
|
@ -174,13 +174,13 @@ Total memory consumption was 298905K = 292 MB
|
|||
---- runtime_kind_structure 13 objects, 832 bytes
|
||||
---- phrase_option_array 1 x 100 objects, 824 bytes
|
||||
---- target_vm 6 objects, 816 bytes
|
||||
---- submodule_identity 25 objects, 800 bytes
|
||||
---- generated_segment 25 objects, 800 bytes
|
||||
---- inter_data_type 14 objects, 784 bytes
|
||||
---- submodule_identity 24 objects, 768 bytes
|
||||
---- inter_tree_location_list 19 objects, 760 bytes
|
||||
---- inform_language 6 objects, 672 bytes
|
||||
---- inter_warehouse_room 10 objects, 640 bytes
|
||||
---- relation_guard 5 objects, 640 bytes
|
||||
---- inter_tree_location_list 16 objects, 640 bytes
|
||||
---- I6T_intervention 8 objects, 640 bytes
|
||||
---- named_rulebook_outcome 15 objects, 600 bytes
|
||||
---- inbuild_search_result 15 objects, 600 bytes
|
||||
|
@ -228,9 +228,9 @@ Total memory consumption was 298905K = 292 MB
|
|||
---- article 2 objects, 80 bytes
|
||||
---- group_together_function 2 objects, 80 bytes
|
||||
---- build_methodology 1 object, 56 bytes
|
||||
---- figures_data 1 object, 56 bytes
|
||||
---- inter_warehouse 1 object, 56 bytes
|
||||
---- HTML_file_state 1 object, 48 bytes
|
||||
---- figures_data 1 object, 48 bytes
|
||||
---- star_invention 1 object, 48 bytes
|
||||
---- loop_over_scope 1 object, 40 bytes
|
||||
---- by_routine_bp_data 1 object, 40 bytes
|
||||
|
@ -239,22 +239,22 @@ Total memory consumption was 298905K = 292 MB
|
|||
|
||||
36.0% was used for memory not allocated for objects:
|
||||
|
||||
16.6% text stream storage 51038332 bytes in 336609 claims
|
||||
3.5% dictionary storage 10921984 bytes in 19542 claims
|
||||
---- sorting 968 bytes in 3 claims
|
||||
16.6% text stream storage 51040320 bytes in 336633 claims
|
||||
3.5% dictionary storage 10923008 bytes in 19544 claims
|
||||
---- sorting 976 bytes in 3 claims
|
||||
2.3% source text 7200000 bytes in 3 claims
|
||||
3.5% source text details 10800000 bytes in 2 claims
|
||||
---- linguistic stock array 81920 bytes in 2 claims
|
||||
---- small word set array 105600 bytes in 22 claims
|
||||
0.8% inter symbols storage 2568752 bytes in 15723 claims
|
||||
0.8% inter symbols storage 2568880 bytes in 15724 claims
|
||||
5.4% inter bytecode storage 16802776 bytes in 14 claims
|
||||
2.8% inter links storage 8750208 bytes in 246 claims
|
||||
---- inter tree location list storage 122112 bytes in 18 claims
|
||||
---- inter tree location list storage 126208 bytes in 19 claims
|
||||
0.5% instance-of-kind counting 1695204 bytes in 1 claim
|
||||
---- compilation workspace for objects 21856 bytes in 25 claims
|
||||
---- lists for type-checking invocations 16000 bytes in 1 claim
|
||||
---- emitter array storage 155664 bytes in 2042 claims
|
||||
---- emitter array storage 155472 bytes in 2039 claims
|
||||
---- code generation workspace for objects 9192 bytes in 9 claims
|
||||
|
||||
20.6% was overhead - 63283368 bytes = 61800K = 60 MB
|
||||
20.6% was overhead - 63281008 bytes = 61797K = 60 MB
|
||||
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
100.0% in inform7 run
|
||||
53.3% in compilation to Inter
|
||||
32.2% in //Sequence::undertake_queued_tasks//
|
||||
5.5% in //InferenceSubjects::emit_all//
|
||||
3.3% in //MajorNodes::pre_pass//
|
||||
3.0% in //MajorNodes::pass_1//
|
||||
53.9% in compilation to Inter
|
||||
32.8% in //Sequence::undertake_queued_tasks//
|
||||
5.4% in //InferenceSubjects::emit_all//
|
||||
3.2% in //MajorNodes::pre_pass//
|
||||
3.1% in //MajorNodes::pass_1//
|
||||
1.5% in //ImperativeDefinitions::assess_all//
|
||||
1.5% in //ImperativeDefinitions::compile_first_block//
|
||||
0.9% in //RTVerbs::ConjugateVerb//
|
||||
0.6% in //RTRules::compile_rulebooks//
|
||||
0.3% in //MajorNodes::pass_2//
|
||||
0.3% in //World::stage_V//
|
||||
0.4% in //MajorNodes::pass_2//
|
||||
0.4% in //World::stage_V//
|
||||
0.1% in //RTActions::compile_functions//
|
||||
0.1% in //RTCommandGrammars::compile_all//
|
||||
0.1% in //RTKinds::compile_data_type_support_routines//
|
||||
|
@ -18,21 +18,21 @@
|
|||
0.1% in //RTTables::compile//
|
||||
0.1% in //Task::make_built_in_kind_constructors//
|
||||
0.1% in //World::stages_II_and_III//
|
||||
2.6% not specifically accounted for
|
||||
44.7% in running Inter pipeline
|
||||
14.2% in inter step 10/14: consolidate-text
|
||||
10.7% in step preparation
|
||||
2.4% not specifically accounted for
|
||||
44.0% in running Inter pipeline
|
||||
13.9% in inter step 10/14: consolidate-text
|
||||
10.4% in step preparation
|
||||
8.5% in inter step 2/14: link
|
||||
6.7% in inter step 14/14: generate inform6 -> auto.inf
|
||||
0.6% in inter step 9/14: make-identifiers-unique
|
||||
0.3% in inter step 11/14: reconcile-verbs
|
||||
0.3% in inter step 13/14: eliminate-redundant-operations
|
||||
0.3% in inter step 6/14: assimilate
|
||||
0.1% in inter step 12/14: eliminate-redundant-labels
|
||||
0.1% in inter step 4/14: parse-linked-matter
|
||||
0.1% in inter step 5/14: resolve-conditional-compilation
|
||||
0.1% in inter step 6/14: assimilate
|
||||
0.1% in inter step 7/14: resolve-external-symbols
|
||||
0.1% in inter step 8/14: inspect-plugs
|
||||
2.1% not specifically accounted for
|
||||
2.2% not specifically accounted for
|
||||
1.7% in supervisor
|
||||
0.2% not specifically accounted for
|
||||
0.4% not specifically accounted for
|
||||
|
|
|
@ -230,6 +230,7 @@ so on. Those absolute basics are made here.
|
|||
BENCH(RTRelations::compile_defined_relations)
|
||||
BENCH(RTRelations::compile_synoptic_resources)
|
||||
BENCH(Chronology::compile_synoptic_resources)
|
||||
BENCH(RTTables::compile_synoptic_resources)
|
||||
BENCH(RTMeasurements::compile_test_functions)
|
||||
BENCH(Sequence::undertake_queued_tasks)
|
||||
|
||||
|
|
|
@ -230,6 +230,7 @@ typedef struct files_data {
|
|||
int file_ownership; /* one of the |OWNED_BY_*| values above */
|
||||
struct text_stream *IFID_of_owner; /* if we know that */
|
||||
struct external_file_compilation_data compilation_data;
|
||||
struct instance *as_instance;
|
||||
CLASS_DEFINITION
|
||||
} files_data;
|
||||
|
||||
|
@ -253,6 +254,7 @@ instance *ExternalFiles::files_create(wording W, int binary, int ownership,
|
|||
fd->file_ownership = ownership;
|
||||
fd->IFID_of_owner = Str::duplicate(ifid_of_file);
|
||||
fd->compilation_data = RTExternalFiles::new_data(W);
|
||||
fd->as_instance = I;
|
||||
return I;
|
||||
}
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ void Figures::start(void) {
|
|||
|
||||
int Figures::production_line(int stage, int debugging, stopwatch_timer *sequence_timer) {
|
||||
if (stage == INTER1_CSEQ) {
|
||||
BENCH(RTFigures::compile_ResourceIDsOfFigures_array);
|
||||
BENCH(RTFigures::compile_metadata);
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -147,6 +147,7 @@ typedef struct figures_data {
|
|||
struct filename *filename_of_image_file;
|
||||
int figure_number; /* resource number of this picture inside Blorb */
|
||||
int alt_description; /* word number of double-quoted description */
|
||||
struct instance *as_instance;
|
||||
CLASS_DEFINITION
|
||||
} figures_data;
|
||||
|
||||
|
@ -169,6 +170,7 @@ instance *Figures::figures_create(wording W, int id, filename *figure_file, int
|
|||
figd->name = W;
|
||||
figd->figure_number = id;
|
||||
figd->alt_description = alt;
|
||||
figd->as_instance = I;
|
||||
if (id == 1) F_cover_art = figd;
|
||||
return I;
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ void Sounds::start(void) {
|
|||
|
||||
int Sounds::production_line(int stage, int debugging, stopwatch_timer *sequence_timer) {
|
||||
if (stage == INTER1_CSEQ) {
|
||||
BENCH(RTSounds::compile_ResourceIDsOfSounds_array);
|
||||
BENCH(RTSounds::compile_metadata);
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -139,6 +139,7 @@ typedef struct sounds_data {
|
|||
struct filename *filename_of_sound_file; /* relative to the Resources folder */
|
||||
int sound_number; /* resource number of this picture inside Blorb */
|
||||
int alt_description; /* word number of double-quoted description */
|
||||
struct instance *as_instance;
|
||||
CLASS_DEFINITION
|
||||
} sounds_data;
|
||||
|
||||
|
@ -159,6 +160,7 @@ instance *Sounds::sounds_create(wording W, int id, filename *sound_file, int alt
|
|||
sd->name = W;
|
||||
sd->sound_number = id;
|
||||
sd->alt_description = alt;
|
||||
sd->as_instance = I;
|
||||
return I;
|
||||
}
|
||||
|
||||
|
|
|
@ -186,6 +186,7 @@ void Hierarchy::establish(void) {
|
|||
@<Establish instances@>;
|
||||
@<Establish int-fiction@>;
|
||||
@<Establish kinds@>;
|
||||
@<Establish multimedia@>;
|
||||
@<Establish phrases@>;
|
||||
@<Establish properties@>;
|
||||
@<Establish relations@>;
|
||||
|
@ -708,6 +709,12 @@ void Hierarchy::establish(void) {
|
|||
@e INSTANCE_VALUE_METADATA_HL
|
||||
@e INSTANCE_KIND_METADATA_HL
|
||||
@e INSTANCE_IS_SCENE_METADATA_HL
|
||||
@e INSTANCE_IS_EXF_METADATA_HL
|
||||
@e INSTANCE_FILE_VALUE_METADATA_HL
|
||||
@e INSTANCE_IS_FIGURE_METADATA_HL
|
||||
@e INSTANCE_FIGURE_ID_METADATA_HL
|
||||
@e INSTANCE_IS_SOUND_METADATA_HL
|
||||
@e INSTANCE_SOUND_ID_METADATA_HL
|
||||
@e INSTANCE_SSF_METADATA_HL
|
||||
@e INSTANCE_SCF_METADATA_HL
|
||||
@e INSTANCE_HL
|
||||
|
@ -733,6 +740,12 @@ void Hierarchy::establish(void) {
|
|||
H_C_U(INSTANCE_IS_SCENE_METADATA_HL, I"^is_scene")
|
||||
H_C_U(INSTANCE_SSF_METADATA_HL, I"^scene_status_fn")
|
||||
H_C_U(INSTANCE_SCF_METADATA_HL, I"^scene_change_fn")
|
||||
H_C_U(INSTANCE_IS_EXF_METADATA_HL, I"^is_file")
|
||||
H_C_U(INSTANCE_FILE_VALUE_METADATA_HL, I"^file_value")
|
||||
H_C_U(INSTANCE_IS_FIGURE_METADATA_HL, I"^is_figure")
|
||||
H_C_U(INSTANCE_FIGURE_ID_METADATA_HL, I"^resource_id");
|
||||
H_C_U(INSTANCE_IS_SOUND_METADATA_HL, I"^is_sound")
|
||||
H_C_U(INSTANCE_SOUND_ID_METADATA_HL, I"^resource_id");
|
||||
H_C_U(INSTANCE_HL, I"I")
|
||||
H_F_U(SCENE_STATUS_FN_HL, I"scene_status_fn")
|
||||
H_F_U(SCENE_CHANGE_FN_HL, I"scene_change_fn")
|
||||
|
@ -899,6 +912,23 @@ void Hierarchy::establish(void) {
|
|||
H_F_T(SHOWMEDETAILS_HL, I"showmedetails_fn", I"ShowMeDetails")
|
||||
H_END
|
||||
|
||||
@h Multimedia.
|
||||
|
||||
@e RESOURCEIDSOFFIGURES_HL
|
||||
@e RESOURCEIDSOFSOUNDS_HL
|
||||
@e NO_EXTERNAL_FILES_HL
|
||||
@e TABLEOFEXTERNALFILES_HL
|
||||
|
||||
@<Establish multimedia@> =
|
||||
submodule_identity *multimedia = Packaging::register_submodule(I"multimedia");
|
||||
|
||||
H_BEGIN(HierarchyLocations::synoptic_submodule(I, multimedia))
|
||||
H_C_T(RESOURCEIDSOFFIGURES_HL, I"ResourceIDsOfFigures")
|
||||
H_C_T(RESOURCEIDSOFSOUNDS_HL, I"ResourceIDsOfSounds")
|
||||
H_C_T(NO_EXTERNAL_FILES_HL, I"NO_EXTERNAL_FILES")
|
||||
H_C_T(TABLEOFEXTERNALFILES_HL, I"TableOfExternalFiles")
|
||||
H_END
|
||||
|
||||
@h Phrases.
|
||||
|
||||
@e CLOSURES_HAP
|
||||
|
@ -1226,6 +1256,7 @@ void Hierarchy::establish(void) {
|
|||
H_END
|
||||
|
||||
H_BEGIN(HierarchyLocations::synoptic_submodule(I, tables))
|
||||
H_C_T(TABLEOFTABLES_HL, I"TableOfTables")
|
||||
H_C_T(TB_BLANKS_HL, I"TB_Blanks")
|
||||
H_END
|
||||
|
||||
|
@ -1324,8 +1355,6 @@ void Hierarchy::establish(void) {
|
|||
@e COMMANDPROMPTTEXT_HL
|
||||
@e DECIMAL_TOKEN_INNER_HL
|
||||
@e NO_USE_OPTIONS_HL
|
||||
@e RESOURCEIDSOFFIGURES_HL
|
||||
@e RESOURCEIDSOFSOUNDS_HL
|
||||
@e TIME_TOKEN_INNER_HL
|
||||
@e TRUTH_STATE_TOKEN_INNER_HL
|
||||
|
||||
|
@ -1335,8 +1364,6 @@ void Hierarchy::establish(void) {
|
|||
@e PRINT_FIGURE_NAME_HL
|
||||
@e PRINT_SOUND_NAME_HL
|
||||
@e PRINT_EXTERNAL_FILE_NAME_HL
|
||||
@e NO_EXTERNAL_FILES_HL
|
||||
@e TABLEOFEXTERNALFILES_HL
|
||||
@e PRINT_SCENE_HL
|
||||
|
||||
@<The rest@> =
|
||||
|
@ -1357,7 +1384,6 @@ void Hierarchy::establish(void) {
|
|||
H_END
|
||||
|
||||
H_BEGIN(HierarchyLocations::this_exotic_package(K_TABLE_XPACKAGE))
|
||||
H_C_T(TABLEOFTABLES_HL, I"TableOfTables")
|
||||
H_F_T(PRINT_TABLE_HL, I"print_fn", I"PrintTableName")
|
||||
H_END
|
||||
|
||||
|
@ -1366,12 +1392,10 @@ void Hierarchy::establish(void) {
|
|||
H_END
|
||||
|
||||
H_BEGIN(HierarchyLocations::this_exotic_package(K_FIGURE_NAME_XPACKAGE))
|
||||
H_C_T(RESOURCEIDSOFFIGURES_HL, I"ResourceIDsOfFigures")
|
||||
H_F_T(PRINT_FIGURE_NAME_HL, I"print_fn", I"PrintFigureName")
|
||||
H_END
|
||||
|
||||
H_BEGIN(HierarchyLocations::this_exotic_package(K_SOUND_NAME_XPACKAGE))
|
||||
H_C_T(RESOURCEIDSOFSOUNDS_HL, I"ResourceIDsOfSounds")
|
||||
H_F_T(PRINT_SOUND_NAME_HL, I"print_fn", I"PrintSoundName")
|
||||
H_END
|
||||
|
||||
|
@ -1386,8 +1410,6 @@ void Hierarchy::establish(void) {
|
|||
H_END
|
||||
|
||||
H_BEGIN(HierarchyLocations::this_exotic_package(K_EXTERNAL_FILE_XPACKAGE))
|
||||
H_C_T(NO_EXTERNAL_FILES_HL, I"NO_EXTERNAL_FILES")
|
||||
H_C_T(TABLEOFEXTERNALFILES_HL, I"TableOfExternalFiles")
|
||||
H_F_T(PRINT_EXTERNAL_FILE_NAME_HL, I"print_fn", I"PrintExternalFileName")
|
||||
H_END
|
||||
|
||||
|
|
|
@ -35,6 +35,15 @@ void RTInstances::compile_metadata(void) {
|
|||
if ((K_scene) && (Kinds::eq(K, K_scene)))
|
||||
Hierarchy::apply_metadata_from_number(I->icd.instance_package,
|
||||
INSTANCE_IS_SCENE_METADATA_HL, 1);
|
||||
if ((K_sound_name) && (Kinds::eq(K, K_sound_name)))
|
||||
Hierarchy::apply_metadata_from_number(I->icd.instance_package,
|
||||
INSTANCE_IS_SOUND_METADATA_HL, 1);
|
||||
if ((K_figure_name) && (Kinds::eq(K, K_figure_name)))
|
||||
Hierarchy::apply_metadata_from_number(I->icd.instance_package,
|
||||
INSTANCE_IS_FIGURE_METADATA_HL, 1);
|
||||
if ((K_external_file) && (Kinds::eq(K, K_external_file)))
|
||||
Hierarchy::apply_metadata_from_number(I->icd.instance_package,
|
||||
INSTANCE_IS_EXF_METADATA_HL, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -50,20 +50,6 @@ void RTTables::compile_table_column_metadata(void) {
|
|||
kind as a strong kind ID.
|
||||
|
||||
=
|
||||
void RTTables::column_introspection_routine(void) {
|
||||
inter_name *iname = Hierarchy::find(TC_KOV_HL);
|
||||
Produce::annotate_i(iname, SYNOPTIC_IANN, TC_KOV_SYNID);
|
||||
packaging_state save = Functions::begin(iname);
|
||||
inter_symbol *tcv_s = LocalVariables::new_other_as_symbol(I"tc");
|
||||
inter_symbol *unk_s = InterSymbolsTables::create_with_unique_name(tcv_s->owning_table, I"unk");
|
||||
inter_name *unk_iname = Kinds::Constructors::UNKNOWN_iname();
|
||||
InterSymbolsTables::equate(unk_s, InterNames::to_symbol(unk_iname));
|
||||
EmitCode::comment(I"This function is consolidated");
|
||||
|
||||
Functions::end(save);
|
||||
Hierarchy::make_available(iname);
|
||||
}
|
||||
|
||||
typedef struct table_column_usage_compilation_data {
|
||||
struct package_request *super_package;
|
||||
struct package_request *tcu_package;
|
||||
|
@ -125,8 +111,6 @@ inter_name *RTTables::identifier(table *t) {
|
|||
void RTTables::compile(void) {
|
||||
@<Compile the data structures for entry storage@>;
|
||||
@<Compile the blanks bitmap table@>;
|
||||
@<Compile the Table of Tables@>;
|
||||
RTTables::column_introspection_routine();
|
||||
}
|
||||
|
||||
@<Compile the data structures for entry storage@> =
|
||||
|
@ -253,15 +237,12 @@ the values given there.
|
|||
EmitArrays::iname_entry(bits_iname);
|
||||
inter_name *identity_iname = Hierarchy::make_iname_in(COLUMN_IDENTITY_HL, RTTables::tcu_package(&(t->columns[j])));
|
||||
Emit::iname_constant(identity_iname, K_value, RTTables::column_id(tc));
|
||||
//FIXME
|
||||
// EmitArrays::numeric_entry((inter_ti) (RTTables::column_id(tc) + bits));
|
||||
if (bits & TB_COLUMN_NOBLANKBITS)
|
||||
if (bits & TB_COLUMN_NOBLANKBITS) {
|
||||
EmitArrays::null_entry();
|
||||
else {
|
||||
} else {
|
||||
inter_name *blanks_iname = Hierarchy::make_iname_in(COLUMN_BLANKS_HL, RTTables::tcu_package(&(t->columns[j])));
|
||||
Emit::numeric_constant(blanks_iname, (inter_ti) blanks_array_hwm);
|
||||
EmitArrays::iname_entry(blanks_iname);
|
||||
// EmitArrays::numeric_entry((inter_ti) blanks_array_hwm);
|
||||
}
|
||||
words_used += 2;
|
||||
|
||||
|
@ -317,12 +298,6 @@ case.)
|
|||
else RTKinds::emit_default_value(K, EMPTY_WORDING, "table entry");
|
||||
|
||||
@<Compile the blanks bitmap table@> =
|
||||
inter_name *iname = Hierarchy::find(TB_BLANKS_HL);
|
||||
Produce::annotate_i(iname, SYNOPTIC_IANN, TB_BLANKS_SYNID);
|
||||
packaging_state save = EmitArrays::begin_byte(iname, K_number);
|
||||
EmitArrays::end(save);
|
||||
Hierarchy::make_available(iname);
|
||||
|
||||
table *t;
|
||||
LOOP_OVER(t, table)
|
||||
if (t->amendment_of == FALSE) {
|
||||
|
@ -373,21 +348,6 @@ case.)
|
|||
Hierarchy::apply_metadata(t->compilation_data.table_package, TABLE_PNAME_METADATA_HL, S);
|
||||
DISCARD_TEXT(S)
|
||||
|
||||
@ We need a default value for the "table" kind, but it's not obvious what
|
||||
it should be. So |TheEmptyTable| is a stunted form of the above data
|
||||
structure: a table with no columns and no rows, which would otherwise be
|
||||
against the rules. (The Template file "Tables.i6t" defines it.)
|
||||
|
||||
@<Compile the Table of Tables@> =
|
||||
inter_name *iname = Hierarchy::find(TABLEOFTABLES_HL);
|
||||
inter_symbol *iname_s = InterNames::to_symbol(iname);
|
||||
inter_symbol *empty_s = InterSymbolsTables::create_with_unique_name(iname_s->owning_table, I"empty");
|
||||
inter_name *empty_iname = Hierarchy::find(THEEMPTYTABLE_HL);
|
||||
InterSymbolsTables::equate(empty_s, InterNames::to_symbol(empty_iname));
|
||||
packaging_state save = EmitArrays::begin(iname, K_value);
|
||||
Produce::annotate_i(iname, SYNOPTIC_IANN, TABLEOFTABLES_SYNID);
|
||||
EmitArrays::end(save);
|
||||
|
||||
@ The following allows tables to be said: it's a routine which switches on
|
||||
table values and prints the (title-cased) name of the one which matches.
|
||||
|
||||
|
@ -415,3 +375,42 @@ int RTTables::requires_blanks_bitmap(kind *K) {
|
|||
if (Kinds::Behaviour::is_an_enumeration(K)) return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@h Synoptic resources.
|
||||
|
||||
=
|
||||
void RTTables::compile_synoptic_resources(void) {
|
||||
@<Provide placeholder for the TABLEOFTABLES array@>;
|
||||
@<Provide placeholder for the TB_BLANKS array@>;
|
||||
@<Provide placeholder for the TC_KOV function@>;
|
||||
}
|
||||
|
||||
@<Provide placeholder for the TABLEOFTABLES array@> =
|
||||
inter_name *iname = Hierarchy::find(TABLEOFTABLES_HL);
|
||||
inter_symbol *iname_s = InterNames::to_symbol(iname);
|
||||
inter_symbol *empty_s = InterSymbolsTables::create_with_unique_name(iname_s->owning_table, I"empty");
|
||||
inter_name *empty_iname = Hierarchy::find(THEEMPTYTABLE_HL);
|
||||
InterSymbolsTables::equate(empty_s, InterNames::to_symbol(empty_iname));
|
||||
packaging_state save = EmitArrays::begin(iname, K_value);
|
||||
Produce::annotate_i(iname, SYNOPTIC_IANN, TABLEOFTABLES_SYNID);
|
||||
EmitArrays::end(save);
|
||||
Hierarchy::make_available(iname);
|
||||
|
||||
@<Provide placeholder for the TB_BLANKS array@> =
|
||||
inter_name *iname = Hierarchy::find(TB_BLANKS_HL);
|
||||
Produce::annotate_i(iname, SYNOPTIC_IANN, TB_BLANKS_SYNID);
|
||||
packaging_state save = EmitArrays::begin_byte(iname, K_number);
|
||||
EmitArrays::end(save);
|
||||
Hierarchy::make_available(iname);
|
||||
|
||||
@<Provide placeholder for the TC_KOV function@> =
|
||||
inter_name *iname = Hierarchy::find(TC_KOV_HL);
|
||||
Produce::annotate_i(iname, SYNOPTIC_IANN, TC_KOV_SYNID);
|
||||
packaging_state save = Functions::begin(iname);
|
||||
inter_symbol *tcv_s = LocalVariables::new_other_as_symbol(I"tc");
|
||||
inter_symbol *unk_s = InterSymbolsTables::create_with_unique_name(tcv_s->owning_table, I"unk");
|
||||
inter_name *unk_iname = Kinds::Constructors::UNKNOWN_iname();
|
||||
InterSymbolsTables::equate(unk_s, InterNames::to_symbol(unk_iname));
|
||||
EmitCode::comment(I"This function is consolidated");
|
||||
Functions::end(save);
|
||||
Hierarchy::make_available(iname);
|
||||
|
|
|
@ -608,10 +608,8 @@ void RTScenes::compile_synoptic_resources(void) {
|
|||
Produce::annotate_i(iname, SYNOPTIC_IANN, DETECTSCENECHANGE_SYNID);
|
||||
packaging_state save = Functions::begin(iname);
|
||||
LocalVariables::new_internal_commented_as_symbol(I"chs", I"count of changes made");
|
||||
inter_symbol *ch_s =
|
||||
LocalVariables::new_internal_commented_as_symbol(I"ch", I"flag: change made");
|
||||
inter_symbol *myself_s = InterSymbolsTables::create_with_unique_name(ch_s->owning_table, I"myself");
|
||||
InterSymbolsTables::equate(myself_s, InterNames::to_symbol(iname));
|
||||
// inter_symbol *ch_s =
|
||||
// LocalVariables::new_internal_commented_as_symbol(I"ch", I"flag: change made");
|
||||
|
||||
EmitCode::comment(I"This function is consolidated");
|
||||
Functions::end(save);
|
||||
|
|
|
@ -17,10 +17,6 @@ external_file_compilation_data RTExternalFiles::new_data(wording W) {
|
|||
}
|
||||
|
||||
void RTExternalFiles::arrays(void) {
|
||||
inter_name *iname = Hierarchy::find(NO_EXTERNAL_FILES_HL);
|
||||
Emit::numeric_constant(iname, (inter_ti) (NUMBER_CREATED(files_data)));
|
||||
Hierarchy::make_available(iname);
|
||||
|
||||
files_data *exf;
|
||||
LOOP_OVER(exf, files_data) {
|
||||
if (exf->file_ownership == OWNED_BY_SPECIFIC_PROJECT) {
|
||||
|
@ -55,11 +51,20 @@ void RTExternalFiles::arrays(void) {
|
|||
EmitArrays::end(save);
|
||||
}
|
||||
|
||||
LOOP_OVER(exf, files_data) {
|
||||
inter_name *md_iname = Hierarchy::make_iname_in(INSTANCE_FILE_VALUE_METADATA_HL,
|
||||
RTInstances::package(exf->as_instance));
|
||||
Emit::iname_constant(md_iname, K_value, exf->compilation_data.exf_iname);
|
||||
}
|
||||
|
||||
inter_name *iname = Hierarchy::find(NO_EXTERNAL_FILES_HL);
|
||||
Produce::annotate_i(iname, SYNOPTIC_IANN, NO_EXTERNAL_FILES_SYNID);
|
||||
Emit::numeric_constant(iname, (inter_ti) 0);
|
||||
Hierarchy::make_available(iname);
|
||||
|
||||
iname = Hierarchy::find(TABLEOFEXTERNALFILES_HL);
|
||||
Produce::annotate_i(iname, SYNOPTIC_IANN, TABLEOFEXTERNALFILES_SYNID);
|
||||
packaging_state save = EmitArrays::begin(iname, K_value);
|
||||
EmitArrays::numeric_entry(0);
|
||||
LOOP_OVER(exf, files_data) EmitArrays::iname_entry(exf->compilation_data.exf_iname);
|
||||
EmitArrays::numeric_entry(0);
|
||||
EmitArrays::end(save);
|
||||
Hierarchy::make_available(iname);
|
||||
}
|
||||
|
|
|
@ -3,12 +3,17 @@
|
|||
@ Just one array will do us:
|
||||
|
||||
=
|
||||
void RTFigures::compile_ResourceIDsOfFigures_array(void) {
|
||||
inter_name *iname = Hierarchy::find(RESOURCEIDSOFFIGURES_HL);
|
||||
packaging_state save = EmitArrays::begin(iname, K_number);
|
||||
EmitArrays::numeric_entry(0);
|
||||
void RTFigures::compile_metadata(void) {
|
||||
figures_data *bf;
|
||||
LOOP_OVER(bf, figures_data) EmitArrays::numeric_entry((inter_ti) bf->figure_number);
|
||||
EmitArrays::numeric_entry(0);
|
||||
LOOP_OVER(bf, figures_data) {
|
||||
inter_name *md_iname = Hierarchy::make_iname_in(INSTANCE_FIGURE_ID_METADATA_HL,
|
||||
RTInstances::package(bf->as_instance));
|
||||
Emit::numeric_constant(md_iname, (inter_ti) bf->figure_number);
|
||||
}
|
||||
|
||||
inter_name *iname = Hierarchy::find(RESOURCEIDSOFFIGURES_HL);
|
||||
Produce::annotate_i(iname, SYNOPTIC_IANN, RESOURCEIDSOFFIGURES_SYNID);
|
||||
packaging_state save = EmitArrays::begin(iname, K_value);
|
||||
EmitArrays::end(save);
|
||||
Hierarchy::make_available(iname);
|
||||
}
|
||||
|
|
|
@ -3,12 +3,16 @@
|
|||
@ Just one array will do us:
|
||||
|
||||
=
|
||||
void RTSounds::compile_ResourceIDsOfSounds_array(void) {
|
||||
inter_name *iname = Hierarchy::find(RESOURCEIDSOFSOUNDS_HL);
|
||||
packaging_state save = EmitArrays::begin(iname, K_number);
|
||||
EmitArrays::numeric_entry(0);
|
||||
void RTSounds::compile_metadata(void) {
|
||||
sounds_data *bs;
|
||||
LOOP_OVER(bs, sounds_data) EmitArrays::numeric_entry((inter_ti) bs->sound_number);
|
||||
EmitArrays::numeric_entry(0);
|
||||
LOOP_OVER(bs, sounds_data) {
|
||||
inter_name *md_iname = Hierarchy::make_iname_in(INSTANCE_SOUND_ID_METADATA_HL,
|
||||
RTInstances::package(bs->as_instance));
|
||||
Emit::numeric_constant(md_iname, (inter_ti) bs->sound_number);
|
||||
}
|
||||
inter_name *iname = Hierarchy::find(RESOURCEIDSOFSOUNDS_HL);
|
||||
Produce::annotate_i(iname, SYNOPTIC_IANN, RESOURCEIDSOFSOUNDS_SYNID);
|
||||
packaging_state save = EmitArrays::begin(iname, K_value);
|
||||
EmitArrays::end(save);
|
||||
Hierarchy::make_available(iname);
|
||||
}
|
||||
|
|
91
inter/codegen-module/Chapter 3/Multimedia.w
Normal file
91
inter/codegen-module/Chapter 3/Multimedia.w
Normal file
|
@ -0,0 +1,91 @@
|
|||
[SynopticMultimedia::] Multimedia.
|
||||
|
||||
To construct suitable functions and arrays for figures, sounds, and external files.
|
||||
|
||||
@ Before this runs, instances of these are scattered all over the Inter tree.
|
||||
|
||||
As this is called, //Synoptic Utilities// has already formed lists of |sound_nodes|
|
||||
of instances having the kind |K_sound_name|, and so on.
|
||||
|
||||
=
|
||||
void SynopticMultimedia::renumber(inter_tree *I) {
|
||||
if (TreeLists::len(figure_nodes) > 0) {
|
||||
TreeLists::sort(figure_nodes, Synoptic::module_order);
|
||||
}
|
||||
if (TreeLists::len(sound_nodes) > 0) {
|
||||
TreeLists::sort(sound_nodes, Synoptic::module_order);
|
||||
}
|
||||
if (TreeLists::len(file_nodes) > 0) {
|
||||
TreeLists::sort(file_nodes, Synoptic::module_order);
|
||||
}
|
||||
}
|
||||
|
||||
@ There are also resources to create in the |synoptic| module:
|
||||
|
||||
@e RESOURCEIDSOFFIGURES_SYNID
|
||||
@e RESOURCEIDSOFSOUNDS_SYNID
|
||||
@e NO_EXTERNAL_FILES_SYNID
|
||||
@e TABLEOFEXTERNALFILES_SYNID
|
||||
|
||||
=
|
||||
int SynopticMultimedia::redefine(inter_tree *I, inter_tree_node *P, inter_symbol *con_s, int synid) {
|
||||
inter_package *pack = Inter::Packages::container(P);
|
||||
inter_tree_node *Q = NULL;
|
||||
inter_bookmark IBM = Inter::Bookmarks::at_end_of_this_package(pack);
|
||||
switch (synid) {
|
||||
case RESOURCEIDSOFFIGURES_SYNID:
|
||||
Inter::Symbols::strike_definition(con_s);
|
||||
Q = Synoptic::begin_array(con_s, &IBM);
|
||||
@<Define the new RESOURCEIDSOFFIGURES array as Q@>;
|
||||
Synoptic::end_array(Q, &IBM);
|
||||
break;
|
||||
case RESOURCEIDSOFSOUNDS_SYNID:
|
||||
Inter::Symbols::strike_definition(con_s);
|
||||
Q = Synoptic::begin_array(con_s, &IBM);
|
||||
@<Define the new RESOURCEIDSOFSOUNDS array as Q@>;
|
||||
Synoptic::end_array(Q, &IBM);
|
||||
break;
|
||||
case NO_EXTERNAL_FILES_SYNID:
|
||||
Inter::Symbols::strike_definition(con_s);
|
||||
@<Define NO_EXTERNAL_FILES@>;
|
||||
break;
|
||||
case TABLEOFEXTERNALFILES_SYNID:
|
||||
Inter::Symbols::strike_definition(con_s);
|
||||
Q = Synoptic::begin_array(con_s, &IBM);
|
||||
@<Define the new TABLEOFEXTERNALFILES array as Q@>;
|
||||
Synoptic::end_array(Q, &IBM);
|
||||
break;
|
||||
default: return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@<Define the new RESOURCEIDSOFFIGURES array as Q@> =
|
||||
Synoptic::numeric_entry(Q, 0);
|
||||
for (int i=0; i<TreeLists::len(figure_nodes); i++) {
|
||||
inter_package *pack = Inter::Package::defined_by_frame(figure_nodes->list[i].node);
|
||||
inter_ti id = Metadata::read_numeric(pack, I"^resource_id");
|
||||
Synoptic::numeric_entry(Q, id);
|
||||
}
|
||||
Synoptic::numeric_entry(Q, 0);
|
||||
|
||||
@<Define the new RESOURCEIDSOFSOUNDS array as Q@> =
|
||||
Synoptic::numeric_entry(Q, 0);
|
||||
for (int i=0; i<TreeLists::len(sound_nodes); i++) {
|
||||
inter_package *pack = Inter::Package::defined_by_frame(sound_nodes->list[i].node);
|
||||
inter_ti id = Metadata::read_numeric(pack, I"^resource_id");
|
||||
Synoptic::numeric_entry(Q, id);
|
||||
}
|
||||
Synoptic::numeric_entry(Q, 0);
|
||||
|
||||
@<Define NO_EXTERNAL_FILES@> =
|
||||
Synoptic::def_numeric_constant(con_s, (inter_ti) TreeLists::len(file_nodes), &IBM);
|
||||
|
||||
@<Define the new TABLEOFEXTERNALFILES array as Q@> =
|
||||
Synoptic::numeric_entry(Q, 0);
|
||||
for (int i=0; i<TreeLists::len(file_nodes); i++) {
|
||||
inter_package *pack = Inter::Package::defined_by_frame(file_nodes->list[i].node);
|
||||
inter_symbol *vc_s = Metadata::read_symbol(pack, I"^file_value");
|
||||
Synoptic::symbol_entry(Q, vc_s);
|
||||
}
|
||||
Synoptic::numeric_entry(Q, 0);
|
|
@ -2,11 +2,10 @@
|
|||
|
||||
To renumber the scenes and construct suitable functions and arrays.
|
||||
|
||||
@ Before this runs, property packages are scattered all over the Inter tree.
|
||||
We must allocate each one a unique ID.
|
||||
@ Before this runs, instances of scenes are scattered all over the Inter tree.
|
||||
|
||||
As this is called, //Synoptic Utilities// has already formed a list |property_nodes|
|
||||
of packages of type |_activity|.
|
||||
As this is called, //Synoptic Utilities// has already formed a list |scene_nodes|
|
||||
of instances having the kind |K_scene|.
|
||||
|
||||
=
|
||||
void SynopticScenes::renumber(inter_tree *I, inter_tree_location_list *scene_nodes) {
|
||||
|
@ -66,7 +65,6 @@ whether any change in status has or has not occurred.
|
|||
|
||||
@<Add a body of code to the DETECTSCENECHANGE function@> =
|
||||
inter_symbol *chs_s = Synoptic::get_local(I, I"chs");
|
||||
inter_symbol *myself_s = Synoptic::get_local(I, I"myself");
|
||||
inter_symbol *Again_l = Produce::reserve_label(I, I".Again");
|
||||
inter_symbol *CScene_l = Produce::reserve_label(I, I".CScene");
|
||||
Produce::place_label(I, Again_l);
|
||||
|
@ -109,14 +107,6 @@ whether any change in status has or has not occurred.
|
|||
Produce::down(I);
|
||||
Produce::ref_symbol(I, K_value, chs_s);
|
||||
Produce::up(I);
|
||||
// Produce::inv_call(I, myself_s);
|
||||
// Produce::down(I);
|
||||
// Produce::inv_primitive(I, PREINCREMENT_BIP);
|
||||
// Produce::down(I);
|
||||
// Produce::ref_symbol(I, K_value, chs_s);
|
||||
// Produce::up(I);
|
||||
// Produce::up(I);
|
||||
// Produce::rtrue(I);
|
||||
Produce::inv_primitive(I, JUMP_BIP);
|
||||
Produce::down(I);
|
||||
Produce::lab(I, Again_l);
|
||||
|
|
|
@ -28,6 +28,9 @@ inter_tree_location_list *past_tense_action_nodes = NULL;
|
|||
inter_tree_location_list *past_tense_condition_nodes = NULL;
|
||||
inter_tree_location_list *instance_nodes = NULL;
|
||||
inter_tree_location_list *scene_nodes = NULL;
|
||||
inter_tree_location_list *file_nodes = NULL;
|
||||
inter_tree_location_list *figure_nodes = NULL;
|
||||
inter_tree_location_list *sound_nodes = NULL;
|
||||
|
||||
int Synoptic::go(pipeline_step *step) {
|
||||
text_nodes = TreeLists::new();
|
||||
|
@ -46,6 +49,9 @@ int Synoptic::go(pipeline_step *step) {
|
|||
past_tense_condition_nodes = TreeLists::new();
|
||||
instance_nodes = TreeLists::new();
|
||||
scene_nodes = TreeLists::new();
|
||||
file_nodes = TreeLists::new();
|
||||
figure_nodes = TreeLists::new();
|
||||
sound_nodes = TreeLists::new();
|
||||
InterTree::traverse(step->repository, Synoptic::visitor, NULL, NULL, 0);
|
||||
SynopticText::alphabetise(step->repository, text_nodes);
|
||||
|
||||
|
@ -61,6 +67,7 @@ int Synoptic::go(pipeline_step *step) {
|
|||
SynopticChronology::renumber(step->repository, past_tense_action_nodes);
|
||||
SynopticInstances::renumber(step->repository, instance_nodes);
|
||||
SynopticScenes::renumber(step->repository, scene_nodes);
|
||||
SynopticMultimedia::renumber(step->repository);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
@ -107,6 +114,12 @@ void Synoptic::visitor(inter_tree *I, inter_tree_node *P, void *state) {
|
|||
inter_package *pack = Inter::Package::defined_by_frame(P);
|
||||
if (Metadata::exists(pack, I"^is_scene"))
|
||||
TreeLists::add(scene_nodes, P);
|
||||
if (Metadata::exists(pack, I"^is_file"))
|
||||
TreeLists::add(file_nodes, P);
|
||||
if (Metadata::exists(pack, I"^is_figure"))
|
||||
TreeLists::add(figure_nodes, P);
|
||||
if (Metadata::exists(pack, I"^is_sound"))
|
||||
TreeLists::add(sound_nodes, P);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -133,6 +146,7 @@ void Synoptic::syn_visitor(inter_tree *I, inter_tree_node *P, void *state) {
|
|||
if (SynopticTables::redefine(I, P, con_s, synid)) return;
|
||||
if (SynopticChronology::redefine(I, P, con_s, synid)) return;
|
||||
if (SynopticScenes::redefine(I, P, con_s, synid)) return;
|
||||
if (SynopticMultimedia::redefine(I, P, con_s, synid)) return;
|
||||
LOG("Couldn't consolidate $3\n", con_s);
|
||||
internal_error("symbol cannot be consolidated");
|
||||
}
|
||||
|
|
|
@ -39,6 +39,7 @@ Chapter 3: Synoptic Resources
|
|||
Tables
|
||||
Chronology
|
||||
Scenes
|
||||
Multimedia
|
||||
|
||||
Chapter 4: Inter to Final Code
|
||||
Code Generation
|
||||
|
|
Loading…
Reference in a new issue