index.html (17555B)
1 <!DOCTYPE html> 2 <html> 3 <!-- Created by GNU Texinfo 7.1, https://www.gnu.org/software/texinfo/ --> 4 <head> 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 6 <!-- Released 2023 under AGPL3 --> 7 <title>Top (vise)</title> 8 9 <meta name="description" content="Top (vise)"> 10 <meta name="keywords" content="Top (vise)"> 11 <meta name="resource-type" content="document"> 12 <meta name="distribution" content="global"> 13 <meta name="Generator" content="makeinfo"> 14 <meta name="viewport" content="width=device-width,initial-scale=1"> 15 16 <link href="#Top" rel="start" title="Top"> 17 <link href="#SEC_Contents" rel="contents" title="Table of Contents"> 18 <link href="overview.html" rel="next" title="overview"> 19 <style type="text/css"> 20 <!-- 21 a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em} 22 span:hover a.copiable-link {visibility: visible} 23 ul.toc-numbered-mark {list-style: none} 24 --> 25 </style> 26 27 28 </head> 29 30 <body lang="en"> 31 32 33 34 35 <div class="top-level-extent" id="Top"> 36 <div class="nav-panel"> 37 <p> 38 Next: <a href="overview.html" accesskey="n" rel="next">Overview</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p> 39 </div> 40 <hr> 41 <h1 class="top" id="Introduction"><span>Introduction<a class="copiable-link" href="#Introduction"> ¶</a></span></h1> 42 43 <div class="element-contents" id="SEC_Contents"> 44 <h2 class="contents-heading">Table of Contents</h2> 45 46 <div class="contents"> 47 48 <ul class="toc-numbered-mark"> 49 <li><a id="toc-Overview" href="overview.html">1 Overview</a> 50 <ul class="toc-numbered-mark"> 51 <li><a id="toc-Features" href="overview.html#Features">1.1 Features</a></li> 52 </ul></li> 53 <li><a id="toc-An-example-vise-implementation" href="sim.html">2 An example vise implementation</a> 54 <ul class="toc-numbered-mark"> 55 <li><a id="toc-Templates" href="sim.html#Templates">2.1 Templates</a> 56 <ul class="toc-numbered-mark"> 57 <li><a id="toc-root" href="sim.html#root">2.1.1 root</a></li> 58 <li><a id="toc-foo" href="sim.html#foo">2.1.2 foo</a></li> 59 <li><a id="toc-bar" href="sim.html#bar">2.1.3 bar</a></li> 60 <li><a id="toc-ouch" href="sim.html#ouch">2.1.4 ouch</a></li> 61 </ul></li> 62 <li><a id="toc-Scripts" href="sim.html#Scripts">2.2 Scripts</a> 63 <ul class="toc-numbered-mark"> 64 <li><a id="toc-root-1" href="sim.html#root-1">2.2.1 root</a></li> 65 <li><a id="toc-foo-1" href="sim.html#foo-1">2.2.2 foo</a></li> 66 <li><a id="toc-bar-1" href="sim.html#bar-1">2.2.3 bar</a></li> 67 <li><a id="toc-ouch-1" href="sim.html#ouch-1">2.2.4 ouch</a></li> 68 </ul></li> 69 <li><a id="toc-External-code-handlers" href="sim.html#External-code-handlers">2.3 External code handlers</a></li> 70 <li><a id="toc-Handling-long-values" href="sim.html#Handling-long-values">2.4 Handling long values</a></li> 71 <li><a id="toc-Working-example" href="sim.html#Working-example">2.5 Working example</a></li> 72 </ul></li> 73 <li><a id="toc-Nomenclature" href="nomenclature.html">3 Nomenclature</a> 74 <ul class="toc-numbered-mark"> 75 <li><a id="toc-Common" href="nomenclature.html#Common">3.1 Common</a></li> 76 <li><a id="toc-Instructions-and-navigation" href="nomenclature.html#Instructions-and-navigation">3.2 Instructions and navigation</a></li> 77 </ul></li> 78 <li><a id="toc-Signal-flags" href="signals.html">4 Signal flags</a> 79 <ul class="toc-numbered-mark"> 80 <li><a id="toc-Client_002ddefined-signal-flags" href="signals.html#Client_002ddefined-signal-flags">4.1 Client-defined signal flags</a> 81 <ul class="toc-numbered-mark"> 82 <li><a id="toc-Flow-control" href="signals.html#Flow-control">4.1.1 Flow control</a></li> 83 </ul></li> 84 <li><a id="toc-Built_002din-signal-flags" href="signals.html#Built_002din-signal-flags">4.2 Built-in signal flags</a></li> 85 </ul></li> 86 <li><a id="toc-Instructions" href="instructions.html">5 Instructions</a> 87 <ul class="toc-numbered-mark"> 88 <li><a id="toc-Data-types" href="instructions.html#Data-types">5.1 Data types</a> 89 <ul class="toc-numbered-mark"> 90 <li><a id="toc-node" href="instructions.html#node">5.1.1 node</a> 91 <ul class="toc-numbered-mark"> 92 <li><a id="toc-Regular-node" href="instructions.html#Regular-node">5.1.1.1 Regular node</a></li> 93 <li><a id="toc-Special-node" href="instructions.html#Special-node">5.1.1.2 Special node</a></li> 94 </ul></li> 95 <li><a id="toc-label" href="instructions.html#label">5.1.2 label</a></li> 96 <li><a id="toc-size" href="instructions.html#size">5.1.3 size</a></li> 97 <li><a id="toc-selector" href="instructions.html#selector">5.1.4 selector</a></li> 98 <li><a id="toc-symbol" href="instructions.html#symbol">5.1.5 symbol</a></li> 99 <li><a id="toc-signal" href="instructions.html#signal">5.1.6 signal</a></li> 100 <li><a id="toc-matchmode" href="instructions.html#matchmode">5.1.7 matchmode</a></li> 101 </ul></li> 102 <li><a id="toc-Instruction-list" href="instructions.html#Instruction-list">5.2 Instruction list</a> 103 <ul class="toc-numbered-mark"> 104 <li><a id="toc-CATCH-_003cnode_003e-_003csignal_003e-_003cmatchmode_003e" href="instructions.html#CATCH-_003cnode_003e-_003csignal_003e-_003cmatchmode_003e">5.2.1 CATCH <node> <signal> <matchmode></a></li> 105 <li><a id="toc-CROAK-_003csignal_003e-_003cmatchmode_003e" href="instructions.html#CROAK-_003csignal_003e-_003cmatchmode_003e">5.2.2 CROAK <signal> <matchmode></a></li> 106 <li><a id="toc-HALT" href="instructions.html#HALT">5.2.3 HALT</a></li> 107 <li><a id="toc-INCMP-_003cnode_003e-_003cselector_003e" href="instructions.html#INCMP-_003cnode_003e-_003cselector_003e">5.2.4 INCMP <node> <selector></a></li> 108 <li><a id="toc-LOAD-_003csymbol_003e-_003csize_003e" href="instructions.html#LOAD-_003csymbol_003e-_003csize_003e">5.2.5 LOAD <symbol> <size></a></li> 109 <li><a id="toc-MAP-_003csymbol_003e" href="instructions.html#MAP-_003csymbol_003e">5.2.6 MAP <symbol></a></li> 110 <li><a id="toc-MNEXT-_003clabel_003e-_003cselector_003e" href="instructions.html#MNEXT-_003clabel_003e-_003cselector_003e">5.2.7 MNEXT <label> <selector></a></li> 111 <li><a id="toc-MOUT-_003clabel_003e-_003cselector_003e" href="instructions.html#MOUT-_003clabel_003e-_003cselector_003e">5.2.8 MOUT <label> <selector></a></li> 112 <li><a id="toc-MOVE-_003cnode_003e" href="instructions.html#MOVE-_003cnode_003e">5.2.9 MOVE <node></a></li> 113 <li><a id="toc-MPREV-_003clabel_003e-_003cselector_003e" href="instructions.html#MPREV-_003clabel_003e-_003cselector_003e">5.2.10 MPREV <label> <selector></a></li> 114 <li><a id="toc-MSINK" href="instructions.html#MSINK">5.2.11 MSINK</a></li> 115 <li><a id="toc-RELOAD-_003csymbol_003e" href="instructions.html#RELOAD-_003csymbol_003e">5.2.12 RELOAD <symbol></a></li> 116 </ul></li> 117 <li><a id="toc-Batch-instructions" href="instructions.html#Batch-instructions">5.3 Batch instructions</a> 118 <ul class="toc-numbered-mark"> 119 <li><a id="toc-Batch-menu-expansion" href="instructions.html#Batch-menu-expansion">5.3.1 Batch menu expansion</a></li> 120 </ul></li> 121 </ul></li> 122 <li><a id="toc-Navigation" href="navigation.html">6 Navigation</a> 123 <ul class="toc-numbered-mark"> 124 <li><a id="toc-Entry-point" href="navigation.html#Entry-point">6.1 Entry point</a></li> 125 <li><a id="toc-Lateral-navigation" href="navigation.html#Lateral-navigation">6.2 Lateral navigation</a></li> 126 <li><a id="toc-Node-names" href="navigation.html#Node-names">6.3 Node names</a> 127 <ul class="toc-numbered-mark"> 128 <li><a id="toc-Special-node-names" href="navigation.html#Special-node-names">6.3.1 Special node names</a></li> 129 <li><a id="toc-Builtin-node-names" href="navigation.html#Builtin-node-names">6.3.2 Builtin node names</a></li> 130 </ul></li> 131 <li><a id="toc-Navigation-stack" href="navigation.html#Navigation-stack">6.4 Navigation stack</a></li> 132 </ul></li> 133 <li><a id="toc-External-data" href="cache.html">7 External data</a> 134 <ul class="toc-numbered-mark"> 135 <li><a id="toc-The-LOAD-handler" href="cache.html#The-LOAD-handler">7.1 The <code class="code">LOAD</code> handler</a></li> 136 <li><a id="toc-Size-limits" href="cache.html#Size-limits">7.2 Size limits</a> 137 <ul class="toc-numbered-mark"> 138 <li><a id="toc-_0022Sink_0022-symbols" href="cache.html#g_t_0022Sink_0022-symbols">7.2.1 "Sink" symbols</a></li> 139 </ul></li> 140 <li><a id="toc-Scope" href="cache.html#Scope">7.3 Scope</a> 141 <ul class="toc-numbered-mark"> 142 <li><a id="toc-Duplicate-LOAD" href="cache.html#Duplicate-LOAD">7.3.1 Duplicate <code class="code">LOAD</code></a></li> 143 </ul></li> 144 <li><a id="toc-Refreshing-cache-contents" href="cache.html#Refreshing-cache-contents">7.4 Refreshing cache contents</a></li> 145 </ul></li> 146 <li><a id="toc-Rendering" href="render.html">8 Rendering</a> 147 <ul class="toc-numbered-mark"> 148 <li><a id="toc-Dynamic-templates" href="render.html#Dynamic-templates">8.1 Dynamic templates</a> 149 <ul class="toc-numbered-mark"> 150 <li><a id="toc-Examples" href="render.html#Examples">8.1.1 Examples</a></li> 151 </ul></li> 152 <li><a id="toc-Rendering-pipeline" href="render.html#Rendering-pipeline">8.2 Rendering pipeline</a> 153 <ul class="toc-numbered-mark"> 154 <li><a id="toc-No-sink" href="render.html#No-sink">8.2.1 No sink</a></li> 155 <li><a id="toc-MAP-sink" href="render.html#MAP-sink">8.2.2 MAP sink</a></li> 156 <li><a id="toc-Menu-sink" href="render.html#Menu-sink">8.2.3 Menu sink</a></li> 157 </ul></li> 158 <li><a id="toc-Multiple_002dpage-rendering" href="render.html#Multiple_002dpage-rendering">8.3 Multiple-page rendering</a> 159 <ul class="toc-numbered-mark"> 160 <li><a id="toc-Missing-navigation" href="render.html#Missing-navigation">8.3.1 Missing navigation</a></li> 161 <li><a id="toc-Multi_002dpage-example" href="render.html#Multi_002dpage-example">8.3.2 Multi-page example</a> 162 <ul class="toc-numbered-mark"> 163 <li><a id="toc-Data-accounting" href="render.html#Data-accounting">8.3.2.1 Data accounting</a></li> 164 <li><a id="toc-Rendering-logic" href="render.html#Rendering-logic">8.3.2.2 Rendering logic</a></li> 165 </ul></li> 166 </ul></li> 167 </ul></li> 168 <li><a id="toc-Handling-languages" href="language.html">9 Handling languages</a> 169 <ul class="toc-numbered-mark"> 170 <li><a id="toc-Defining-language" href="language.html#Defining-language">9.1 Defining language</a></li> 171 </ul></li> 172 <li><a id="toc-Exceptional-states" href="exceptions.html">10 Exceptional states</a> 173 <ul class="toc-numbered-mark"> 174 <li><a id="toc-Ending-execution" href="exceptions.html#Ending-execution">10.1 Ending execution</a> 175 <ul class="toc-numbered-mark"> 176 <li><a id="toc-Halting" href="exceptions.html#Halting">10.1.1 Halting</a></li> 177 <li><a id="toc-Termination" href="exceptions.html#Termination">10.1.2 Termination</a></li> 178 <li><a id="toc-Default-error-case" href="exceptions.html#Default-error-case">10.1.3 Default error case</a></li> 179 <li><a id="toc-The-CROAK-instruction" href="exceptions.html#The-CROAK-instruction">10.1.4 The <code class="code">CROAK</code> instruction</a></li> 180 </ul></li> 181 <li><a id="toc-Resuming-execution" href="exceptions.html#Resuming-execution">10.2 Resuming execution</a> 182 <ul class="toc-numbered-mark"> 183 <li><a id="toc-Graceful-exit" href="exceptions.html#Graceful-exit">10.2.1 Graceful exit</a></li> 184 <li><a id="toc-After-termination" href="exceptions.html#After-termination">10.2.2 After termination</a></li> 185 </ul></li> 186 </ul></li> 187 <li><a id="toc-Developing-with-vise" href="dev.html">11 Developing with vise</a> 188 <ul class="toc-numbered-mark"> 189 <li><a id="toc-Code-repository-structure" href="dev.html#Code-repository-structure">11.1 Code repository structure</a></li> 190 <li><a id="toc-Interacting-with-vise" href="dev.html#Interacting-with-vise">11.2 Interacting with <code class="code">vise</code></a> 191 <ul class="toc-numbered-mark"> 192 <li><a id="toc-Modes-of-operation" href="dev.html#Modes-of-operation">11.2.1 Modes of operation</a> 193 <ul class="toc-numbered-mark"> 194 <li><a id="toc-Manual-operation" href="dev.html#Manual-operation">11.2.1.1 Manual operation</a></li> 195 <li><a id="toc-Synchronous-loop" href="dev.html#Synchronous-loop">11.2.1.2 Synchronous loop</a></li> 196 <li><a id="toc-Asynchronous-one_002dshot" href="dev.html#Asynchronous-one_002dshot">11.2.1.3 Asynchronous one-shot</a></li> 197 </ul></li> 198 <li><a id="toc-Configuration" href="dev.html#Configuration">11.2.2 Configuration</a></li> 199 <li><a id="toc-Sessions" href="dev.html#Sessions">11.2.3 Sessions</a></li> 200 <li><a id="toc-Execution-context" href="dev.html#Execution-context">11.2.4 Execution context</a></li> 201 <li><a id="toc-Blocking-execution" href="dev.html#Blocking-execution">11.2.5 Blocking execution</a></li> 202 </ul></li> 203 <li><a id="toc-Resolving-resources" href="dev.html#Resolving-resources">11.3 Resolving resources</a> 204 <ul class="toc-numbered-mark"> 205 <li><a id="toc-Memory-resource-implementation" href="dev.html#Memory-resource-implementation">11.3.1 Memory resource implementation</a></li> 206 <li><a id="toc-Filesystem-resource-implementation" href="dev.html#Filesystem-resource-implementation">11.3.2 Filesystem resource implementation</a> 207 <ul class="toc-numbered-mark"> 208 <li><a id="toc-Bytecode-_0028resource_002eResource_002eGetCode_0029" href="dev.html#Bytecode-_0028resource_002eResource_002eGetCode_0029">11.3.2.1 Bytecode (<code class="code">resource.Resource.GetCode</code>)</a></li> 209 <li><a id="toc-Templates-_0028resource_002eResource_002eGetTemplate_0029" href="dev.html#Templates-_0028resource_002eResource_002eGetTemplate_0029">11.3.2.2 Templates (<code class="code">resource.Resource.GetTemplate</code>)</a></li> 210 <li><a id="toc-Menus-_0028resource_002eResource_002eGetMenu_0029" href="dev.html#Menus-_0028resource_002eResource_002eGetMenu_0029">11.3.2.3 Menus (<code class="code">resource.Resource.GetMenu</code>)</a></li> 211 <li><a id="toc-External-symbols-_0028resource_002eResource_002eFuncFor_0029" href="dev.html#External-symbols-_0028resource_002eResource_002eFuncFor_0029">11.3.2.4 External symbols (<code class="code">resource.Resource.FuncFor</code>)</a></li> 212 </ul></li> 213 </ul></li> 214 <li><a id="toc-Data-provider" href="dev.html#Data-provider">11.4 Data provider</a> 215 <ul class="toc-numbered-mark"> 216 <li><a id="toc-Uses" href="dev.html#Uses">11.4.1 Uses</a></li> 217 <li><a id="toc-Using-data-provider-with-resources" href="dev.html#Using-data-provider-with-resources">11.4.2 Using data provider with resources</a></li> 218 <li><a id="toc-State-persistence" href="dev.html#State-persistence">11.4.3 State persistence</a></li> 219 </ul></li> 220 <li><a id="toc-Logging" href="dev.html#Logging">11.5 Logging</a></li> 221 <li><a id="toc-Tools" href="dev.html#Tools">11.6 Tools</a> 222 <ul class="toc-numbered-mark"> 223 <li><a id="toc-Test-data-generation" href="dev.html#Test-data-generation">11.6.1 Test data generation</a></li> 224 <li><a id="toc-Interactive-runner" href="dev.html#Interactive-runner">11.6.2 Interactive runner</a></li> 225 <li><a id="toc-Assembler" href="dev.html#Assembler">11.6.3 Assembler</a></li> 226 <li><a id="toc-Disassembler" href="dev.html#Disassembler">11.6.4 Disassembler</a></li> 227 <li><a id="toc-Interactive-case-examples" href="dev.html#Interactive-case-examples">11.6.5 Interactive case examples</a></li> 228 </ul></li> 229 <li><a id="toc-Assembly-examples" href="dev.html#Assembly-examples">11.7 Assembly examples</a></li> 230 <li><a id="toc-Bytecode-example" href="dev.html#Bytecode-example">11.8 Bytecode example</a> 231 <ul class="toc-numbered-mark"> 232 <li><a id="toc-Example" href="dev.html#Example">11.8.1 Example</a></li> 233 </ul></li> 234 </ul></li> 235 <li><a id="toc-Common-patterns" href="cookbook.html">12 Common patterns</a> 236 <ul class="toc-numbered-mark"> 237 <li><a id="toc-Hello-world" href="cookbook.html#Hello-world">12.1 Hello world</a></li> 238 <li><a id="toc-Handling-menus-and-inputs" href="cookbook.html#Handling-menus-and-inputs">12.2 Handling menus and inputs</a> 239 <ul class="toc-numbered-mark"> 240 <li><a id="toc-Menu-batch-version" href="cookbook.html#Menu-batch-version">12.2.1 Menu batch version</a></li> 241 </ul></li> 242 <li><a id="toc-Signal-flow-control" href="cookbook.html#Signal-flow-control">12.3 Signal flow control</a></li> 243 <li><a id="toc-Multiple-pages" href="cookbook.html#Multiple-pages">12.4 Multiple pages</a> 244 <ul class="toc-numbered-mark"> 245 <li><a id="toc-Menu-batch-version-1" href="cookbook.html#Menu-batch-version-1">12.4.1 Menu batch version</a></li> 246 </ul></li> 247 <li><a id="toc-Multi_002dpage-menus" href="cookbook.html#Multi_002dpage-menus">12.5 Multi-page menus</a> 248 <ul class="toc-numbered-mark"> 249 <li><a id="toc-Menu-batch-version-2" href="cookbook.html#Menu-batch-version-2">12.5.1 Menu batch version</a></li> 250 </ul></li> 251 <li><a id="toc-Default-input-handler" href="cookbook.html#Default-input-handler">12.6 Default input handler</a></li> 252 <li><a id="toc-Graceful-quit" href="cookbook.html#Graceful-quit">12.7 Graceful quit</a></li> 253 </ul></li> 254 </ul> 255 </div> 256 </div> 257 </div> 258 <hr> 259 <div class="nav-panel"> 260 <p> 261 Next: <a href="overview.html" accesskey="n" rel="next">Overview</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p> 262 </div> 263 264 265 266 </body> 267 </html>