overview.html (2856B)
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>overview (vise)</title> 8 9 <meta name="description" content="overview (vise)"> 10 <meta name="keywords" content="overview (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="index.html" rel="start" title="Top"> 17 <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> 18 <link href="index.html" rel="up" title="Top"> 19 <link href="sim.html" rel="next" title="sim"> 20 <link href="index.html" rel="prev" title="Top"> 21 <style type="text/css"> 22 <!-- 23 a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em} 24 span:hover a.copiable-link {visibility: visible} 25 ul.mark-bullet {list-style-type: disc} 26 --> 27 </style> 28 29 30 </head> 31 32 <body lang="en"> 33 <div class="chapter-level-extent" id="overview"> 34 <div class="nav-panel"> 35 <p> 36 Next: <a href="sim.html" accesskey="n" rel="next">An example vise implementation</a>, Previous: <a href="index.html" accesskey="p" rel="prev">Introduction</a>, Up: <a href="index.html" accesskey="u" rel="up">Introduction</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p> 37 </div> 38 <hr> 39 <h2 class="chapter" id="Overview"><span>1 Overview<a class="copiable-link" href="#Overview"> ¶</a></span></h2> 40 41 <p><code class="code">vise</code> is a virtual machine specialized for generating output for clients that have strict output size constaints. 42 </p> 43 <p>Specifically, the original target enviromnent was USSD menu navigation and session handling. 44 </p> 45 <ul class="mini-toc"> 46 <li><a href="#Features" accesskey="1">Features</a></li> 47 </ul> 48 <div class="section-level-extent" id="Features"> 49 <h3 class="section"><span>1.1 Features<a class="copiable-link" href="#Features"> ¶</a></span></h3> 50 51 <ul class="itemize mark-bullet"> 52 <li>Define and enforce max output size for every individual output. 53 </li><li>Allow one single data entry to fill remaining available size capacity. 54 </li><li>An assembly-like mini-language to define: 55 <ul class="itemize mark-bullet"> 56 <li>external code execution. 57 </li><li>input validation and routing. 58 </li><li>menu definitions. 59 </li><li>flow control. 60 </li><li>exception handling. 61 </li></ul> 62 </li><li>templated output from results of external code execution. 63 </li><li>generate and navigate pages where data symbol contents are too long to display on a single page. 64 </li><li>pluggable function design for handling external code execution calls. 65 </li><li>Dedicated error string to prepend to template (e.g. on catch) 66 </li></ul> 67 </div> 68 </div> 69 70 71 72 </body> 73 </html>