removed generated
authorRalph Ronnquist <ralph.ronnquist@gmail.com>
Mon, 8 May 2023 02:33:36 +0000 (12:33 +1000)
committerRalph Ronnquist <ralph.ronnquist@gmail.com>
Mon, 8 May 2023 02:33:36 +0000 (12:33 +1000)
reference.html [deleted file]
rrqforth [deleted file]

diff --git a/reference.html b/reference.html
deleted file mode 100644 (file)
index 9137d07..0000000
+++ /dev/null
@@ -1,3932 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"\r
-    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">\r
-<head>\r
-<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />\r
-<meta name="generator" content="AsciiDoc 8.6.10" />\r
-<title>RRQFORTH Reference Documentation</title>\r
-<style type="text/css">\r
-/* Shared CSS for AsciiDoc xhtml11 and html5 backends */\r
-\r
-/* Default font. */\r
-body {\r
-  font-family: Georgia,serif;\r
-}\r
-\r
-/* Title font. */\r
-h1, h2, h3, h4, h5, h6,\r
-div.title, caption.title,\r
-thead, p.table.header,\r
-#toctitle,\r
-#author, #revnumber, #revdate, #revremark,\r
-#footer {\r
-  font-family: Arial,Helvetica,sans-serif;\r
-}\r
-\r
-body {\r
-  margin: 1em 5% 1em 5%;\r
-}\r
-\r
-a {\r
-  color: blue;\r
-  text-decoration: underline;\r
-}\r
-a:visited {\r
-  color: fuchsia;\r
-}\r
-\r
-em {\r
-  font-style: italic;\r
-  color: navy;\r
-}\r
-\r
-strong {\r
-  font-weight: bold;\r
-  color: #083194;\r
-}\r
-\r
-h1, h2, h3, h4, h5, h6 {\r
-  color: #527bbd;\r
-  margin-top: 1.2em;\r
-  margin-bottom: 0.5em;\r
-  line-height: 1.3;\r
-}\r
-\r
-h1, h2, h3 {\r
-  border-bottom: 2px solid silver;\r
-}\r
-h2 {\r
-  padding-top: 0.5em;\r
-}\r
-h3 {\r
-  float: left;\r
-}\r
-h3 + * {\r
-  clear: left;\r
-}\r
-h5 {\r
-  font-size: 1.0em;\r
-}\r
-\r
-div.sectionbody {\r
-  margin-left: 0;\r
-}\r
-\r
-hr {\r
-  border: 1px solid silver;\r
-}\r
-\r
-p {\r
-  margin-top: 0.5em;\r
-  margin-bottom: 0.5em;\r
-}\r
-\r
-ul, ol, li > p {\r
-  margin-top: 0;\r
-}\r
-ul > li     { color: #aaa; }\r
-ul > li > * { color: black; }\r
-\r
-.monospaced, code, pre {\r
-  font-family: "Courier New", Courier, monospace;\r
-  font-size: inherit;\r
-  color: navy;\r
-  padding: 0;\r
-  margin: 0;\r
-}\r
-pre {\r
-  white-space: pre-wrap;\r
-}\r
-\r
-#author {\r
-  color: #527bbd;\r
-  font-weight: bold;\r
-  font-size: 1.1em;\r
-}\r
-#email {\r
-}\r
-#revnumber, #revdate, #revremark {\r
-}\r
-\r
-#footer {\r
-  font-size: small;\r
-  border-top: 2px solid silver;\r
-  padding-top: 0.5em;\r
-  margin-top: 4.0em;\r
-}\r
-#footer-text {\r
-  float: left;\r
-  padding-bottom: 0.5em;\r
-}\r
-#footer-badges {\r
-  float: right;\r
-  padding-bottom: 0.5em;\r
-}\r
-\r
-#preamble {\r
-  margin-top: 1.5em;\r
-  margin-bottom: 1.5em;\r
-}\r
-div.imageblock, div.exampleblock, div.verseblock,\r
-div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,\r
-div.admonitionblock {\r
-  margin-top: 1.0em;\r
-  margin-bottom: 1.5em;\r
-}\r
-div.admonitionblock {\r
-  margin-top: 2.0em;\r
-  margin-bottom: 2.0em;\r
-  margin-right: 10%;\r
-  color: #606060;\r
-}\r
-\r
-div.content { /* Block element content. */\r
-  padding: 0;\r
-}\r
-\r
-/* Block element titles. */\r
-div.title, caption.title {\r
-  color: #527bbd;\r
-  font-weight: bold;\r
-  text-align: left;\r
-  margin-top: 1.0em;\r
-  margin-bottom: 0.5em;\r
-}\r
-div.title + * {\r
-  margin-top: 0;\r
-}\r
-\r
-td div.title:first-child {\r
-  margin-top: 0.0em;\r
-}\r
-div.content div.title:first-child {\r
-  margin-top: 0.0em;\r
-}\r
-div.content + div.title {\r
-  margin-top: 0.0em;\r
-}\r
-\r
-div.sidebarblock > div.content {\r
-  background: #ffffee;\r
-  border: 1px solid #dddddd;\r
-  border-left: 4px solid #f0f0f0;\r
-  padding: 0.5em;\r
-}\r
-\r
-div.listingblock > div.content {\r
-  border: 1px solid #dddddd;\r
-  border-left: 5px solid #f0f0f0;\r
-  background: #f8f8f8;\r
-  padding: 0.5em;\r
-}\r
-\r
-div.quoteblock, div.verseblock {\r
-  padding-left: 1.0em;\r
-  margin-left: 1.0em;\r
-  margin-right: 10%;\r
-  border-left: 5px solid #f0f0f0;\r
-  color: #888;\r
-}\r
-\r
-div.quoteblock > div.attribution {\r
-  padding-top: 0.5em;\r
-  text-align: right;\r
-}\r
-\r
-div.verseblock > pre.content {\r
-  font-family: inherit;\r
-  font-size: inherit;\r
-}\r
-div.verseblock > div.attribution {\r
-  padding-top: 0.75em;\r
-  text-align: left;\r
-}\r
-/* DEPRECATED: Pre version 8.2.7 verse style literal block. */\r
-div.verseblock + div.attribution {\r
-  text-align: left;\r
-}\r
-\r
-div.admonitionblock .icon {\r
-  vertical-align: top;\r
-  font-size: 1.1em;\r
-  font-weight: bold;\r
-  text-decoration: underline;\r
-  color: #527bbd;\r
-  padding-right: 0.5em;\r
-}\r
-div.admonitionblock td.content {\r
-  padding-left: 0.5em;\r
-  border-left: 3px solid #dddddd;\r
-}\r
-\r
-div.exampleblock > div.content {\r
-  border-left: 3px solid #dddddd;\r
-  padding-left: 0.5em;\r
-}\r
-\r
-div.imageblock div.content { padding-left: 0; }\r
-span.image img { border-style: none; vertical-align: text-bottom; }\r
-a.image:visited { color: white; }\r
-\r
-dl {\r
-  margin-top: 0.8em;\r
-  margin-bottom: 0.8em;\r
-}\r
-dt {\r
-  margin-top: 0.5em;\r
-  margin-bottom: 0;\r
-  font-style: normal;\r
-  color: navy;\r
-}\r
-dd > *:first-child {\r
-  margin-top: 0.1em;\r
-}\r
-\r
-ul, ol {\r
-    list-style-position: outside;\r
-}\r
-ol.arabic {\r
-  list-style-type: decimal;\r
-}\r
-ol.loweralpha {\r
-  list-style-type: lower-alpha;\r
-}\r
-ol.upperalpha {\r
-  list-style-type: upper-alpha;\r
-}\r
-ol.lowerroman {\r
-  list-style-type: lower-roman;\r
-}\r
-ol.upperroman {\r
-  list-style-type: upper-roman;\r
-}\r
-\r
-div.compact ul, div.compact ol,\r
-div.compact p, div.compact p,\r
-div.compact div, div.compact div {\r
-  margin-top: 0.1em;\r
-  margin-bottom: 0.1em;\r
-}\r
-\r
-tfoot {\r
-  font-weight: bold;\r
-}\r
-td > div.verse {\r
-  white-space: pre;\r
-}\r
-\r
-div.hdlist {\r
-  margin-top: 0.8em;\r
-  margin-bottom: 0.8em;\r
-}\r
-div.hdlist tr {\r
-  padding-bottom: 15px;\r
-}\r
-dt.hdlist1.strong, td.hdlist1.strong {\r
-  font-weight: bold;\r
-}\r
-td.hdlist1 {\r
-  vertical-align: top;\r
-  font-style: normal;\r
-  padding-right: 0.8em;\r
-  color: navy;\r
-}\r
-td.hdlist2 {\r
-  vertical-align: top;\r
-}\r
-div.hdlist.compact tr {\r
-  margin: 0;\r
-  padding-bottom: 0;\r
-}\r
-\r
-.comment {\r
-  background: yellow;\r
-}\r
-\r
-.footnote, .footnoteref {\r
-  font-size: 0.8em;\r
-}\r
-\r
-span.footnote, span.footnoteref {\r
-  vertical-align: super;\r
-}\r
-\r
-#footnotes {\r
-  margin: 20px 0 20px 0;\r
-  padding: 7px 0 0 0;\r
-}\r
-\r
-#footnotes div.footnote {\r
-  margin: 0 0 5px 0;\r
-}\r
-\r
-#footnotes hr {\r
-  border: none;\r
-  border-top: 1px solid silver;\r
-  height: 1px;\r
-  text-align: left;\r
-  margin-left: 0;\r
-  width: 20%;\r
-  min-width: 100px;\r
-}\r
-\r
-div.colist td {\r
-  padding-right: 0.5em;\r
-  padding-bottom: 0.3em;\r
-  vertical-align: top;\r
-}\r
-div.colist td img {\r
-  margin-top: 0.3em;\r
-}\r
-\r
-@media print {\r
-  #footer-badges { display: none; }\r
-}\r
-\r
-#toc {\r
-  margin-bottom: 2.5em;\r
-}\r
-\r
-#toctitle {\r
-  color: #527bbd;\r
-  font-size: 1.1em;\r
-  font-weight: bold;\r
-  margin-top: 1.0em;\r
-  margin-bottom: 0.1em;\r
-}\r
-\r
-div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {\r
-  margin-top: 0;\r
-  margin-bottom: 0;\r
-}\r
-div.toclevel2 {\r
-  margin-left: 2em;\r
-  font-size: 0.9em;\r
-}\r
-div.toclevel3 {\r
-  margin-left: 4em;\r
-  font-size: 0.9em;\r
-}\r
-div.toclevel4 {\r
-  margin-left: 6em;\r
-  font-size: 0.9em;\r
-}\r
-\r
-span.aqua { color: aqua; }\r
-span.black { color: black; }\r
-span.blue { color: blue; }\r
-span.fuchsia { color: fuchsia; }\r
-span.gray { color: gray; }\r
-span.green { color: green; }\r
-span.lime { color: lime; }\r
-span.maroon { color: maroon; }\r
-span.navy { color: navy; }\r
-span.olive { color: olive; }\r
-span.purple { color: purple; }\r
-span.red { color: red; }\r
-span.silver { color: silver; }\r
-span.teal { color: teal; }\r
-span.white { color: white; }\r
-span.yellow { color: yellow; }\r
-\r
-span.aqua-background { background: aqua; }\r
-span.black-background { background: black; }\r
-span.blue-background { background: blue; }\r
-span.fuchsia-background { background: fuchsia; }\r
-span.gray-background { background: gray; }\r
-span.green-background { background: green; }\r
-span.lime-background { background: lime; }\r
-span.maroon-background { background: maroon; }\r
-span.navy-background { background: navy; }\r
-span.olive-background { background: olive; }\r
-span.purple-background { background: purple; }\r
-span.red-background { background: red; }\r
-span.silver-background { background: silver; }\r
-span.teal-background { background: teal; }\r
-span.white-background { background: white; }\r
-span.yellow-background { background: yellow; }\r
-\r
-span.big { font-size: 2em; }\r
-span.small { font-size: 0.6em; }\r
-\r
-span.underline { text-decoration: underline; }\r
-span.overline { text-decoration: overline; }\r
-span.line-through { text-decoration: line-through; }\r
-\r
-div.unbreakable { page-break-inside: avoid; }\r
-\r
-\r
-/*\r
- * xhtml11 specific\r
- *\r
- * */\r
-\r
-div.tableblock {\r
-  margin-top: 1.0em;\r
-  margin-bottom: 1.5em;\r
-}\r
-div.tableblock > table {\r
-  border: 3px solid #527bbd;\r
-}\r
-thead, p.table.header {\r
-  font-weight: bold;\r
-  color: #527bbd;\r
-}\r
-p.table {\r
-  margin-top: 0;\r
-}\r
-/* Because the table frame attribute is overriden by CSS in most browsers. */\r
-div.tableblock > table[frame="void"] {\r
-  border-style: none;\r
-}\r
-div.tableblock > table[frame="hsides"] {\r
-  border-left-style: none;\r
-  border-right-style: none;\r
-}\r
-div.tableblock > table[frame="vsides"] {\r
-  border-top-style: none;\r
-  border-bottom-style: none;\r
-}\r
-\r
-\r
-/*\r
- * html5 specific\r
- *\r
- * */\r
-\r
-table.tableblock {\r
-  margin-top: 1.0em;\r
-  margin-bottom: 1.5em;\r
-}\r
-thead, p.tableblock.header {\r
-  font-weight: bold;\r
-  color: #527bbd;\r
-}\r
-p.tableblock {\r
-  margin-top: 0;\r
-}\r
-table.tableblock {\r
-  border-width: 3px;\r
-  border-spacing: 0px;\r
-  border-style: solid;\r
-  border-color: #527bbd;\r
-  border-collapse: collapse;\r
-}\r
-th.tableblock, td.tableblock {\r
-  border-width: 1px;\r
-  padding: 4px;\r
-  border-style: solid;\r
-  border-color: #527bbd;\r
-}\r
-\r
-table.tableblock.frame-topbot {\r
-  border-left-style: hidden;\r
-  border-right-style: hidden;\r
-}\r
-table.tableblock.frame-sides {\r
-  border-top-style: hidden;\r
-  border-bottom-style: hidden;\r
-}\r
-table.tableblock.frame-none {\r
-  border-style: hidden;\r
-}\r
-\r
-th.tableblock.halign-left, td.tableblock.halign-left {\r
-  text-align: left;\r
-}\r
-th.tableblock.halign-center, td.tableblock.halign-center {\r
-  text-align: center;\r
-}\r
-th.tableblock.halign-right, td.tableblock.halign-right {\r
-  text-align: right;\r
-}\r
-\r
-th.tableblock.valign-top, td.tableblock.valign-top {\r
-  vertical-align: top;\r
-}\r
-th.tableblock.valign-middle, td.tableblock.valign-middle {\r
-  vertical-align: middle;\r
-}\r
-th.tableblock.valign-bottom, td.tableblock.valign-bottom {\r
-  vertical-align: bottom;\r
-}\r
-\r
-\r
-/*\r
- * manpage specific\r
- *\r
- * */\r
-\r
-body.manpage h1 {\r
-  padding-top: 0.5em;\r
-  padding-bottom: 0.5em;\r
-  border-top: 2px solid silver;\r
-  border-bottom: 2px solid silver;\r
-}\r
-body.manpage h2 {\r
-  border-style: none;\r
-}\r
-body.manpage div.sectionbody {\r
-  margin-left: 3em;\r
-}\r
-\r
-@media print {\r
-  body.manpage div#toc { display: none; }\r
-}\r
-\r
-\r
-</style>\r
-<script type="text/javascript">\r
-/*<![CDATA[*/\r
-var asciidoc = {  // Namespace.\r
-\r
-/////////////////////////////////////////////////////////////////////\r
-// Table Of Contents generator\r
-/////////////////////////////////////////////////////////////////////\r
-\r
-/* Author: Mihai Bazon, September 2002\r
- * http://students.infoiasi.ro/~mishoo\r
- *\r
- * Table Of Content generator\r
- * Version: 0.4\r
- *\r
- * Feel free to use this script under the terms of the GNU General Public\r
- * License, as long as you do not remove or alter this notice.\r
- */\r
-\r
- /* modified by Troy D. Hanson, September 2006. License: GPL */\r
- /* modified by Stuart Rackham, 2006, 2009. License: GPL */\r
-\r
-// toclevels = 1..4.\r
-toc: function (toclevels) {\r
-\r
-  function getText(el) {\r
-    var text = "";\r
-    for (var i = el.firstChild; i != null; i = i.nextSibling) {\r
-      if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.\r
-        text += i.data;\r
-      else if (i.firstChild != null)\r
-        text += getText(i);\r
-    }\r
-    return text;\r
-  }\r
-\r
-  function TocEntry(el, text, toclevel) {\r
-    this.element = el;\r
-    this.text = text;\r
-    this.toclevel = toclevel;\r
-  }\r
-\r
-  function tocEntries(el, toclevels) {\r
-    var result = new Array;\r
-    var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');\r
-    // Function that scans the DOM tree for header elements (the DOM2\r
-    // nodeIterator API would be a better technique but not supported by all\r
-    // browsers).\r
-    var iterate = function (el) {\r
-      for (var i = el.firstChild; i != null; i = i.nextSibling) {\r
-        if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {\r
-          var mo = re.exec(i.tagName);\r
-          if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {\r
-            result[result.length] = new TocEntry(i, getText(i), mo[1]-1);\r
-          }\r
-          iterate(i);\r
-        }\r
-      }\r
-    }\r
-    iterate(el);\r
-    return result;\r
-  }\r
-\r
-  var toc = document.getElementById("toc");\r
-  if (!toc) {\r
-    return;\r
-  }\r
-\r
-  // Delete existing TOC entries in case we're reloading the TOC.\r
-  var tocEntriesToRemove = [];\r
-  var i;\r
-  for (i = 0; i < toc.childNodes.length; i++) {\r
-    var entry = toc.childNodes[i];\r
-    if (entry.nodeName.toLowerCase() == 'div'\r
-     && entry.getAttribute("class")\r
-     && entry.getAttribute("class").match(/^toclevel/))\r
-      tocEntriesToRemove.push(entry);\r
-  }\r
-  for (i = 0; i < tocEntriesToRemove.length; i++) {\r
-    toc.removeChild(tocEntriesToRemove[i]);\r
-  }\r
-\r
-  // Rebuild TOC entries.\r
-  var entries = tocEntries(document.getElementById("content"), toclevels);\r
-  for (var i = 0; i < entries.length; ++i) {\r
-    var entry = entries[i];\r
-    if (entry.element.id == "")\r
-      entry.element.id = "_toc_" + i;\r
-    var a = document.createElement("a");\r
-    a.href = "#" + entry.element.id;\r
-    a.appendChild(document.createTextNode(entry.text));\r
-    var div = document.createElement("div");\r
-    div.appendChild(a);\r
-    div.className = "toclevel" + entry.toclevel;\r
-    toc.appendChild(div);\r
-  }\r
-  if (entries.length == 0)\r
-    toc.parentNode.removeChild(toc);\r
-},\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////\r
-// Footnotes generator\r
-/////////////////////////////////////////////////////////////////////\r
-\r
-/* Based on footnote generation code from:\r
- * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html\r
- */\r
-\r
-footnotes: function () {\r
-  // Delete existing footnote entries in case we're reloading the footnodes.\r
-  var i;\r
-  var noteholder = document.getElementById("footnotes");\r
-  if (!noteholder) {\r
-    return;\r
-  }\r
-  var entriesToRemove = [];\r
-  for (i = 0; i < noteholder.childNodes.length; i++) {\r
-    var entry = noteholder.childNodes[i];\r
-    if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")\r
-      entriesToRemove.push(entry);\r
-  }\r
-  for (i = 0; i < entriesToRemove.length; i++) {\r
-    noteholder.removeChild(entriesToRemove[i]);\r
-  }\r
-\r
-  // Rebuild footnote entries.\r
-  var cont = document.getElementById("content");\r
-  var spans = cont.getElementsByTagName("span");\r
-  var refs = {};\r
-  var n = 0;\r
-  for (i=0; i<spans.length; i++) {\r
-    if (spans[i].className == "footnote") {\r
-      n++;\r
-      var note = spans[i].getAttribute("data-note");\r
-      if (!note) {\r
-        // Use [\s\S] in place of . so multi-line matches work.\r
-        // Because JavaScript has no s (dotall) regex flag.\r
-        note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];\r
-        spans[i].innerHTML =\r
-          "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +\r
-          "' title='View footnote' class='footnote'>" + n + "</a>]";\r
-        spans[i].setAttribute("data-note", note);\r
-      }\r
-      noteholder.innerHTML +=\r
-        "<div class='footnote' id='_footnote_" + n + "'>" +\r
-        "<a href='#_footnoteref_" + n + "' title='Return to text'>" +\r
-        n + "</a>. " + note + "</div>";\r
-      var id =spans[i].getAttribute("id");\r
-      if (id != null) refs["#"+id] = n;\r
-    }\r
-  }\r
-  if (n == 0)\r
-    noteholder.parentNode.removeChild(noteholder);\r
-  else {\r
-    // Process footnoterefs.\r
-    for (i=0; i<spans.length; i++) {\r
-      if (spans[i].className == "footnoteref") {\r
-        var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");\r
-        href = href.match(/#.*/)[0];  // Because IE return full URL.\r
-        n = refs[href];\r
-        spans[i].innerHTML =\r
-          "[<a href='#_footnote_" + n +\r
-          "' title='View footnote' class='footnote'>" + n + "</a>]";\r
-      }\r
-    }\r
-  }\r
-},\r
-\r
-install: function(toclevels) {\r
-  var timerId;\r
-\r
-  function reinstall() {\r
-    asciidoc.footnotes();\r
-    if (toclevels) {\r
-      asciidoc.toc(toclevels);\r
-    }\r
-  }\r
-\r
-  function reinstallAndRemoveTimer() {\r
-    clearInterval(timerId);\r
-    reinstall();\r
-  }\r
-\r
-  timerId = setInterval(reinstall, 500);\r
-  if (document.addEventListener)\r
-    document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);\r
-  else\r
-    window.onload = reinstallAndRemoveTimer;\r
-}\r
-\r
-}\r
-asciidoc.install();\r
-/*]]>*/\r
-</script>\r
-</head>\r
-<body class="article">\r
-<div id="header">\r
-<h1>RRQFORTH Reference Documentation</h1>\r
-<span id="author">Ralph Ronnquist &lt;ralph.ronnquist@gmail.com&gt;</span><br />\r
-</div>\r
-<div id="content">\r
-<div class="sect1">\r
-<h2 id="_word_index">Word Index</h2>\r
-<div class="sectionbody">\r
-<div class="paragraph"><p><a href="#p_lparen">( (left parenthesis)</a> &#160;\r
-<a href="#p_colon">: (colon)</a> &#160;\r
-<a href="#p_semicolon">: (semi-colon)</a> &#160;\r
-<a href="#p_comma">, (comma)</a> &#160;\r
-<a href="#p_dot">. (dot)</a> &#160;\r
-<a href="#p_double_quote">" (double-quote)</a> &#160;\r
-<a href="#p_quote">' (single-quote)</a> &#160;\r
-<a href="#p_left_bracket">[ (left bracket)</a> &#160;\r
-<a href="#p_right_bracket">] (right bracket)</a> &#160;</p></div>\r
-<div class="paragraph"><p><a href="#p_lessthan">&lt;</a> &#160;\r
-<a href="#p_lessequal">&lt;=</a> &#160;\r
-<a href="#p_equal">=</a> &#160;\r
-<a href="#p_unequal">!=</a> &#160;\r
-<a href="#p_greaterthan">&gt;</a> &#160;\r
-<a href="#p_greaterequal">&gt;= </a> &#160;\r
-<a href="#p_0equal">0=</a> &#160;\r
-<a href="#p_0less">0&lt;</a> &#160;\r
-<a href="#p_minus">-</a> &#160;\r
-<a href="#p_mult">*</a> &#160;\r
-<a href="#p_plus">&#43;</a> &#160;\r
-<a href="#p_div">/</a> &#160;\r
-<a href="#p_shift_left">&lt;&lt;</a> &#160;\r
-<a href="#p_shift_right">&gt;&gt;</a> &#160;\r
-<a href="#p_shift_signed_right">s&gt;&gt;</a> &#160;\r
-<a href="#p_bracketed_quote">[']</a> &#160;</p></div>\r
-<div class="paragraph"><p><a href="#p_get">@</a> &#160;\r
-<a href="#p_put">!</a> &#160;\r
-<a href="#p_Cget">C@</a> &#160;\r
-<a href="#p_Cput">C!</a> &#160;\r
-<a href="#p_Wget">W@</a> &#160;\r
-<a href="#p_Wput">W!</a> &#160;\r
-<a href="#p_Dget">D@</a> &#160;\r
-<a href="#p_Dput">D!</a> &#160;\r
-<a href="#p_2get">2@</a> &#160;\r
-<a href="#p_2put">2!</a> &#160;\r
-<a href="#p_put_plus">!&#43;</a> &#160;\r
-<a href="#p_get_n_increment">@n&#43;&#43;</a> &#160;\r
-<a href="#p_get_n_decrement">@n--</a> &#160;\r
-<a href="#p_Ccomma">C,</a> &#160;\r
-<a href="#p_Wcomma">W,</a> &#160;\r
-<a href="#p_Dcomma">D,</a> &#160;\r
-<a href="#p_literal_string_compile">S"</a> &#160;\r
-<a href="#p_gtR">&gt;R</a> &#160;\r
-<a href="#p_Rget">R@</a> &#160;\r
-<a href="#p_Rgt">R&gt;</a> &#160;\r
-<a href="#p_rbpn">R[n]</a> &#160;\r
-<a href="#p_dsp">D[n]</a> &#160;</p></div>\r
-<div class="paragraph"><p><a href="#data_stack">DATA-STACK</a> &#160;\r
-<a href="#return_stack">RETURN-STACK</a> &#160;\r
-&#160;\r
-<a href="#p_branch">BRANCH</a> &#160;\r
-<a href="#p_0branch">0BRANCH</a> &#160;\r
-<a href="#p_1branch">1BRANCH</a> &#160;\r
-&#160;\r
-<a href="#p_2drop">2DROP</a> &#160;\r
-<a href="#p_2dup">2DUP</a> &#160;\r
-<a href="#p_2over">2OVER</a> &#160;\r
-<a href="#p_2swap">2SWAP</a> &#160;</p></div>\r
-<div class="paragraph"><p><a href="#p_abs">ABS</a> &#160;\r
-<a href="#p_again">AGAIN</a> &#160;\r
-<a href="#p_allot">ALLOT</a> &#160;\r
-<a href="#p_and">AND</a> &#160;\r
-<a href="#inline_code">[ASM]</a> &#160;</p></div>\r
-<div class="paragraph"><p><a href="#p_base">BASE</a> &#160;\r
-<a href="#p_begin">BEGIN</a> &#160;\r
-<a href="#p_break">BREAK</a> &#160;</p></div>\r
-<div class="paragraph"><p><a href="#p_cfa2flags_get">CFA&gt;FLAGS@</a> &#160;\r
-<a href="#p_cfa2tfa">CFA&gt;TFA</a> &#160;\r
-<a href="#p_clear_stream">CLEAR-STREAM</a> &#160;\r
-<a href="#p_create">CREATE</a> &#160;\r
-<a href="#p_current_wordlist">CURRENT-WORDLIST</a> &#160;</p></div>\r
-<div class="paragraph"><p><a href="#p_decimal">DECIMAL</a> &#160;\r
-<a href="#p_definitions">DEFINITIONS</a> &#160;\r
-<a href="#p_depth">DEPTH</a> &#160;\r
-<a href="#p_digits">DIGITS</a> &#160;\r
-<a href="#p_divmod">/MOD</a> &#160;\r
-<a href="#p_dfa2tfa">DFA&gt;TFA</a> &#160;\r
-<a href="#p_dodoes">doDOES</a> &#160;\r
-<a href="#p_does">DOES&gt;</a> &#160;\r
-<a href="#p_dofasm">doFASM</a> &#160;\r
-<a href="#p_doforth">doFORTH</a> &#160;\r
-<a href="#p_dostring">doSTRING</a> &#160;\r
-<a href="#p_dovalue">doVALUE</a> &#160;\r
-<a href="#p_dovariable">doVARIABLE</a> &#160;\r
-<a href="#p_drop">DROP</a> &#160;\r
-<a href="#p_dup">DUP</a> &#160;</p></div>\r
-<div class="paragraph"><p><a href="#p_else">ELSE</a> &#160;\r
-<a href="#p_emit">EMIT</a> &#160;\r
-<a href="#p_end">END</a> &#160;\r
-<a href="#p_erase">ERASE</a> &#160;\r
-<a href="#p_evaluate_stream">EVALUATE-STREAM</a> &#160;\r
-<a href="#p_execute">EXECUTE</a> &#160;\r
-<a href="#p_exit">EXIT</a> &#160;</p></div>\r
-<div class="paragraph"><p><a href="#p_false">FALSE</a> &#160;\r
-<a href="#p_fdemit">FDEMIT</a> &#160;\r
-<a href="#p_fdtell">FDTELL</a> &#160;\r
-<a href="#p_find">FIND</a> &#160;\r
-<a href="#p_forth">FORTH</a> &#160;</p></div>\r
-<div class="paragraph"><p><a href="#p_here">HERE</a> &#160;\r
-<a href="#p_hex">HEX</a> &#160;</p></div>\r
-<div class="paragraph"><p><a href="#p_if">IF</a> &#160;\r
-<a href="#p_ifagain">IFAGAIN</a> &#160;\r
-<a href="#p_ifbreak">IFBREAK</a> &#160;\r
-<a href="#p_immediate">IMMEDIATE</a> &#160;\r
-<a href="#p_input">INPUT</a> &#160;</p></div>\r
-<div class="paragraph"><p><a href="#p_literal">LIT</a> &#160;\r
-<a href="#p_literal_string">LIT-STRING</a> &#160;\r
-<a href="#p_load_buffer_size">LOAD-BUFFER-SIZE</a> &#160;\r
-<a href="#p_load_file">LOAD-FILE</a> &#160;</p></div>\r
-<div class="paragraph"><p><a href="#p_args">MAIN-ARGS</a> &#160;\r
-<a href="#p_malloc">MALLOC</a> &#160;\r
-<a href="#p_min">MIN</a> &#160;\r
-<a href="#p_max">MAX</a> &#160;</p></div>\r
-<div class="paragraph"><p><a href="#p_negate">NEGATE</a> &#160;\r
-<a href="#p_nip">NIP</a> &#160;\r
-<a href="#p_nl">NL</a> &#160;\r
-<a href="#p_not">NOT</a> &#160;\r
-<a href="#p_number">NUMBER</a> &#160;</p></div>\r
-<div class="paragraph"><p><a href="#p_open_file">OPEN-FILE</a> &#160;\r
-<a href="#p_or">OR</a> &#160;\r
-<a href="#p_over">OVER</a> &#160;</p></div>\r
-<div class="paragraph"><p><a href="#p_pad">PAD</a> &#160;\r
-<a href="#p_pick">PICK</a> &#160;\r
-<a href="#p_program_version">PROGRAM_VERSION</a> &#160;</p></div>\r
-<div class="paragraph"><p><a href="#p_quit">QUIT</a> &#160;</p></div>\r
-<div class="paragraph"><p><a href="#p_read_stream_char">READ-STREAM-CHAR</a> &#160;\r
-<a href="#p_read_stream_char">READ-STREAM-LINE</a> &#160;\r
-<a href="#p_read_word">READ-WORD</a> &#160;\r
-<a href="#p_realloc">REALLOC</a> &#160;\r
-<a href="#p_return">RETURN</a> &#160;\r
-<a href="#p_roll">ROLL</a> &#160;\r
-<a href="#p_rot">ROT</a> &#160;\r
-<a href="#p_rbp">RSP</a> &#160;</p></div>\r
-<div class="paragraph"><p><a href="#p_sp">SP</a> &#160;\r
-<a href="#p_state">STATE</a> &#160;\r
-<a href="#p_stdin">STDIN</a> &#160;\r
-<a href="#p_stream">STREAM</a> &#160;\r
-<a href="#p_stream_nchars">STREAM-NCHARS</a> &#160;\r
-<a href="#p_str2temp">STR&gt;TEMP</a> &#160;\r
-<a href="#p_strlen">STRLEN</a> &#160;\r
-<a href="#p_strncmp">STRNCMP</a> &#160;\r
-<a href="#p_strncpy">STRNCPY</a> &#160;\r
-<a href="#p_swap">SWAP</a> &#160;\r
-<a href="#p_system">SYSTEM</a> &#160;</p></div>\r
-<div class="paragraph"><p><a href="#p_tell">TELL</a> &#160;\r
-<a href="#p_dot_temp">.TEMP</a> &#160;\r
-<a href="#p_temp.adoc">TEMP</a> &#160;\r
-<a href="#p_tempheld.adoc">TEMPHELD</a> &#160;\r
-<a href="#p_tempspace">TEMPSPACE</a> &#160;\r
-<a href="#p_tempused.adoc">TEMPUSED</a> &#160;\r
-<a href="#p_terminate0">TERMINATE0</a> &#160;\r
-<a href="#p_tfa2cfa">TFA&gt;CFA</a> &#160;\r
-<a href="#p_tfa2dfa">TFA&gt;DFA</a> &#160;\r
-<a href="#p_tfa2flags_get">TFA&gt;FLAGS@</a> &#160;\r
-<a href="#p_tfa2namez">TFA&gt;NAMEZ</a> &#160;\r
-<a href="#p_then">THEN</a> &#160;\r
-<a href="#p_this_word">THIS-WORD</a> &#160;\r
-<a href="#p_true">TRUE</a> &#160;\r
-<a href="#p_tuck">TUCK</a> &#160;</p></div>\r
-<div class="paragraph"><p><a href="#p_unstream">UNSTREAM</a> &#160;\r
-<a href="#p_use">USE</a> &#160;</p></div>\r
-<div class="paragraph"><p><a href="#p_verboseQ">VERBOSE?</a> &#160;</p></div>\r
-<div class="paragraph"><p><a href="#p_within">WITHIN</a> &#160;\r
-<a href="#p_words">WORDS</a> &#160;</p></div>\r
-<div class="paragraph"><p><a href="#p_xor">XOR</a> &#160;</p></div>\r
-<div class="paragraph"><p><a href="#p_calltrace">[calltrace]</a> &#160;\r
-<a href="#p_setup_signals">[setup_signals]</a> &#160;</p></div>\r
-</div>\r
-</div>\r
-<div class="sect1">\r
-<h2 id="_word_descriptions">Word Descriptions</h2>\r
-<div class="sectionbody">\r
-<div class="paragraph"><p><a id="inline_code"></a></p></div>\r
-<div class="sect2">\r
-<h3 id="_word_asm">Word: [ASM]</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>data stack: ( -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"[ASM]" is a function word that introduces inline assembly in an\r
-RRQFORTH definition. Such assembly code may return to subsequence\r
-RRQFORTH executon by means of the following instruction sequence:</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="listingblock">\r
-<div class="content">\r
-<pre><code>        mov rsi,forthcode\r
-        lodsq\r
-        jmp qword [rax]\r
-forthcode:</code></pre>\r
-</div></div>\r
-</div></div>\r
-<div class="paragraph"><p>Note that the FORTH compiler does not invoke an assembler so any\r
-inline assembly code must be provided in its binary form.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_0branch"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_0branch">Word: 0BRANCH</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"0BRANCH" is a function word that implements execution conditional by\r
-means of optionally adding the subsequent branch offset, or not, to\r
-the point of execution. If the value, v, is 0 then the branch offset\r
-is added, and otherwise execution continues with the cell following\r
-the branch offset in the definition.</p></div>\r
-<div class="paragraph"><p>Note that the branch offset is a byte count and each FORTH word of a\r
-definition take up a cell of 8 bytes. The offset is relative to the\r
-cell address immediately subsequent to the offset cell. In other\r
-words, offset 0 is not branching anywhere and an offset of -16 would\r
-make a tight loop back to the branch instruction itself. The latter\r
-would pull data stack values until and including the first non-zero\r
-value.</p></div>\r
-<div class="paragraph"><p>See also <a href="#p_1branch">1BRANCH</a>, <a href="#p_branch">BRANCH</a>, <a href="#p_if">IF</a>,\r
-<a href="#p_else">ELSE</a>, <a href="#p_ifbreak">IFBREAK</a> and <a href="#p_ifagain">IFAGAIN</a>.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_0equal"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_0">Word: 0=</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v -- 0/-1 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"0=" is a function word that replaces a value with its logical\r
-complement; the result is zero if the value non-zero, and the result\r
-is non-zero if the value is zero.</p></div>\r
-<div class="paragraph"><p>This is the same function as <a href="#p_not">NOT</a>.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_0less"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_0_lt">Word: 0&lt;</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v -- 0/-1 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"0&lt;" is a function word that replaces a value with -1 if the value is\r
-less than 0, and 0 otherwise.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for 0&lt;</div>\r
-<div class="paragraph"><p>( v&#8201;&#8212;&#8201;0/1 ) : 0= 0 SWAP &lt; ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div class="paragraph"><p>See also <a href="#p_swap">SWAP</a> and <a href="#p_lessthan">&lt;</a>.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_1branch"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_1branch">Word: 1BRANCH</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"1BRANCH" is a function word that implements execution conditional by\r
-means of optionally adding the subsequent branch offset, or not, to\r
-the point of execution. If the value, v, is non-zero then the branch\r
-offset is added, and otherwise execution continues with the cell\r
-following the branch offset in the definition.</p></div>\r
-<div class="paragraph"><p>Note that the branch offset is a byte count and each FORTH word of a\r
-definition take up a cell of 8 bytes. The offset is relative to the\r
-cell address immediately subsequent to the offset cell. In other\r
-words, offset 0 is not branching anywhere and an offset of -16 would\r
-make a tight loop back to the branch instruction itself. The latter\r
-would pull data stack values until and including the first zero value.</p></div>\r
-<div class="paragraph"><p>See also <a href="#p_0branch">0BRANCH</a>, <a href="#p_branch">BRANCH</a>, <a href="#p_if">IF</a>,\r
-<a href="#p_else">ELSE</a>, <a href="#p_ifbreak">IFBREAK</a> and <a href="#p_ifagain">IFAGAIN</a>.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_2drop"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_2drop">Word: 2DROP</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 v2 -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"2DROP" is a function word that plainly discards the top 2 cells from\r
-the data stack.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_2dup"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_2dup">Word: 2DUP</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 v2 -- v1 v2 v1 v2 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"2DUP" is a function word that duplicates the top 2 cells on the data\r
-stack.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for 2DUP</div>\r
-<div class="paragraph"><p>( v1 v2&#8201;&#8212;&#8201;v1 v2 v1 v2 ) : 2DUP OVER OVER ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_2get"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_2">Word: 2@</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( a -- v2 v1 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"2@" is a function word that pushes the two concecutive values v1 and\r
-v2 from the address a onto the data stack. Value v1 is from address a\r
-and value v2 is from address a + 8.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_2over"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_2over">Word: 2OVER</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 v2 v3 v4 -- v1 v2 v3 v4 v1 v2 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"2OVER" is a function word that replicates the second duble-cell pair\r
-onto the top of the data stack. This is similar to <a href="#p_over">OVER</a> but\r
-working with cell pairs rather than single cells.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for 2OVER</div>\r
-<div class="paragraph"><p>( v1 v2 v3 v4&#8201;&#8212;&#8201;v1 v2 v3 v4 v1 v2 ) : 2OVER 3 PICK 3 PICK ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_2put"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_2_2">Word: 2!</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v2 v1 a -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"2!" is a function word that stors two concecutive values v1 and v2 to\r
-the address a from the data stack. Value v1 is stored at address a and\r
-value v2 is stored at address a + 8.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_2swap"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_2swap">Word: 2SWAP</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 v2 v3 v4 -- v3 v4 v1 v2 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"2SWAP" is a function word the reorgnizes the top 4 cells swappping\r
-the upper and lower pair. This is similar to <a href="#p_swap">SWAP</a> but\r
-working with cell pairs rather than single cells.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for 2SWAP</div>\r
-<div class="paragraph"><p>( v1 v2 v3 v4&#8201;&#8212;&#8201;v3 v4 v1 v2 ) : 2SWAP 3 ROLL 3 ROLL ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_Ccomma"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_c">Word: C,</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"C," (C-comma) is a function word that puts a byte on the\r
-<a href="#p_here">HERE</a> heap. The least significant byte of the value is put\r
-at the current free head address, which also is incremented.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for C,</div>\r
-<div class="paragraph"><p>: C, HERE @ 1 ALLOT C! ;  ( v&#8201;&#8212;&#8201;; Claim 1 byte and put lsb value there )</p></div>\r
-</div></div>\r
-</div></div>\r
-<div class="paragraph"><p>See also <a href="#p_colon">:</a>, <a href="#p_comma">[p_comma]</a>. <a href="#p_here">HERE</a>, <a href="#p_get">@</a>,\r
-<a href="#p_allot">ALLOT</a>, <a href="#p_Cput">C!</a> and <a href="#p_semicolon">;</a>.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_Wcomma"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_w">Word: W,</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"W," (W-comma) is a function word that puts a "word" (double-byte) on\r
-the <a href="#p_here">HERE</a> heap. The two least significant bytes of the value\r
-are put at the current free head address, which also is incremented\r
-accordingly.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for W,</div>\r
-<div class="paragraph"><p>: W, HERE @ 2 ALLOT W! ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_Dcomma"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_d">Word: D,</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"D," (D-comma) is a function word that puts a "double word"\r
-(double-byte) on the <a href="#p_here">HERE</a> heap. The four least significant\r
-bytes of the value are put at the current free head address, which\r
-also is incremented accordingly.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for D,</div>\r
-<div class="paragraph"><p>: D, HERE @ 4 ALLOT D! ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_dsp"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_d_n">Word: D[n]</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( n -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"D[n]" is a function word that pushes the address for the n:th cell of\r
-the data stack onto the data stack.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_cfa2tfa"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_cfa_gt_tfa">Word: CFA&gt;TFA</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( cfa -- tfa )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"CFA&gt;TFA" is a function word that pushes word tfa of the given cfa.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for CFA&gt;TFA</div>\r
-<div class="paragraph"><p>: CFA&gt;TFA 14 - @ ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_Cget"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_c_2">Word: C@</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( a -- v )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"C@" is a function word that pushes the byte value v from the address a.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_Wget"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_w_2">Word: W@</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( a -- v )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"W@" is a function word that pushes the "word" (double-byte) value v\r
-from the address a.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_Rget"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_r">Word: R@</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- v )   Return stack: ( v -- v )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"R@" is a function word that "copies" the top return stack value onto\r
-the data stack.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_Cput"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_c_3">Word: C!</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v a -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"C!" is a function word that stores the byte value v (the least\r
-significant byte of the cell) at the address a.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_Wput"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_w_3">Word: W!</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v a -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"W!" is a function word that stores the "word" (2-byte) value v (the\r
-two least significant bytes of the cell) at the address a.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_Dput"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_d_2">Word: D!</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v a -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"D!" is a function word that stores the "doublw word" (4-byte) value v\r
-(the four least significant bytes of the cell) at the address a.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_Rget"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_r_2">Word: R@</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- v )   Return stack: ( v -- v )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"R@" is a function word that "copies" the top return stack value onto\r
-the data stack.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_Rgt"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_r_gt">Word: R&gt;</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- v )   Return stack: ( v -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"R&gt;" is a function word that "moves" the top return stack value onto\r
-the data stack.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_abs"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_abs">Word: ABS</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 -- v2 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"ABS" is a function word that replaces a value with its absolute\r
-value. To that end, the values are 64-bit signed integers.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_again"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_again">Word: AGAIN</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: Compiling: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"AGAIN" is an immediate function word that is used together with\r
-<a href="#p_begin">BEGIN</a> and instead of <a href="#p_end">END</a> to implement structured\r
-execution control. AGAIN scans the datastack for the nearest preceding\r
-BEGIN marker and lays out an unconditional branch from this point the\r
-beginning of the block during execution. It thereafter performs the\r
-<a href="#p_end">END</a> compile action to end the block.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_allot"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_allot">Word: ALLOT</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( n -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"ALLOT" is a function word that merely increments the <a href="#p_here">HERE</a>\r
-variable with <code>n</code> so as to claim that amount of the heap.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Defintion concept for ALLOT</div>\r
-<div class="paragraph"><p>( n&#8201;&#8212;&#8201;) : ALLOT HERE @ + HERE ! ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="paragraph"><div class="title">Usage example 1: claim 16 bytes for variable FOO</div><p>CREATE FOO DROP HERE @ 16 ALLOT</p></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_and"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_and">Word: AND</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 v2 -- v3 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"AND" is a function word that replaces a value pair with their bitwise\r
-conjunction; each bit is 1 if the corresponding bits of both operands\r
-are 1 and 0 if not.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_args"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_main_args">Word: MAIN-ARGS</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- p[argv** argc] )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"ARGS" is a value word that holds a pointer to the command line data\r
-block which consists of a count cell followed by that many asciiz\r
-pointers and then a 0 cell. That is next followed by the environment\r
-as a number of asciiz pointers and a 0 cell.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="listingblock">\r
-<div class="title">Usage example 2: the command line argument block</div>\r
-<div class="content">\r
-<pre><code>ARGS -&gt; 8 bytes: count of non-zero asciiz pointers following\r
-        8 bytes: command name string\r
-        8* bytes: argument strings\r
-        8 bytes: zero cell\r
-        8* bytes: envirnment strings\r
-        8 bytes: zero cell</code></pre>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_base"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_base">Word: BASE</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"BASE" is a variable word for the numerical base used by input and\r
-output functions, <a href="#p_number">NUMBER</a> and <a href="#p_dot">[p_dot]</a>, when\r
-translating numbers between cell value form and text form. The\r
-numerical base is set to 10 or 16 by <a href="#p_decimal">DECIMAL</a> and\r
-<a href="#p_hex">HEX</a> respectively, and those are the only two bases currently\r
-supported.</p></div>\r
-<div class="paragraph"><p>See also <a href="#p_digits">DIGITS</a>, which holds the mapping table from\r
-digits to text.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_begin"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_begin">Word: BEGIN</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: Compiling: ( -- a 0 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"BEGIN" is an immediate function word that is used together with\r
-<a href="#p_ifbreak">IFBREAK</a>, <a href="#p_ifagain">IFAGAIN</a> and <a href="#p_end">END</a> to\r
-implement structured execution control. BEGIN simply places the\r
-address for resolving branches back to this point during execution,\r
-and then a 0 as a marker so as to allow for an unknown number of block\r
-exit points.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="listingblock">\r
-<div class="title">Usage example 3:</div>\r
-<div class="content">\r
-<pre><code>: WTELL ( tfa -- ; Print word pname )\r
-  24 + DUP 8 + SWAP @ TELL SP EMIT\r
-;\r
-\r
-: WORDS ( wordlist -- ; Print all words of word list )\r
-  BEGIN\r
-    @ DUP 0= IFBREAK\r
-    DUP WTELL\r
-  END\r
-  DROP\r
-  NL EMIT\r
-;</code></pre>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_bracketed_quote"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word">Word: [']</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- cfa )   Input stream: word</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"[']" is an immediate function word that reads the next word on the\r
-input stream and pushes its cfa.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for [']</div>\r
-<div class="paragraph"><p>: ['] IMMEDIATE ' ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_branch"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_branch">Word: BRANCH</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"BRANCH" is a function word that implements execution transfer by\r
-means of adding the subsequent branch offset to the point of\r
-execution.</p></div>\r
-<div class="paragraph"><p>Note that the branch offset is a byte count and each FORTH word of a\r
-definition take up a cell of 8 bytes. The offset is relative to the\r
-cell address immediately subsequent to the offset cell. In other\r
-words, offset 0 is not branching anywhere and an offset of -16 would\r
-make a tight loop back to the branch instruction itself. The latter\r
-would pull data stack values until and including the first zero value.</p></div>\r
-<div class="paragraph"><p>See also <a href="#p_0branch">0BRANCH</a>, <a href="#p_1branch">1BRANCH</a>, <a href="#p_if">IF</a>,\r
-<a href="#p_else">ELSE</a>, <a href="#p_ifbreak">IFBREAK</a> and <a href="#p_ifagain">IFAGAIN</a>.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_break"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_break">Word: BREAK</h3>\r
-<div class="paragraph"><p>"BREAK" is an immediate function word that lays out an unconditional\r
-branch out of an enclosing xef:p_begin[BEGIN]-<a href="#p_end">END</a> block.\r
-Similar to <a href="#p_ifbreak">IFBREAK</a> it lays out the branch cell\r
-followed by a reserved cell for the branch offset, and inserts the\r
-resolution address just above the required 0 on the data stack.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="listingblock">\r
-<div class="title">Usage example 4: unconditional break with a condition.</div>\r
-<div class="content">\r
-<pre><code>: WTELL ( tfa -- ; Print word pname )\r
-  24 + DUP 8 + SWAP @ TELL SP EMIT\r
-;\r
-\r
-: WORDS ( wordlist -- ; Print all words of word list )\r
-  BEGIN\r
-    @ DUP IF DUP WTELL ELSE BREAK THEN\r
-    1 IFAGAIN\r
-  END\r
-  DROP\r
-  NL EMIT\r
-;</code></pre>\r
-</div></div>\r
-</div></div>\r
-<div class="paragraph"><p>See also <a href="#p_branch">BRANCH</a>, <a href="#p_0branch">0BRANCH</a>,\r
-<a href="#p_1branch">1BRANCH</a>, <a href="#p_if">IF</a>, <a href="#p_else">ELSE</a>,\r
-<a href="#p_ifbreak">IFBREAK</a> and <a href="#p_ifagain">IFAGAIN</a>.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_calltrace"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_calltrace">Word: [calltrace]</h3>\r
-<div class="paragraph"><p>"[calltrace]" is a variable word that ccontains a small assembly\r
-snippet that may be used for debugging when running under <code>gdb</code>.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_cfa2flags_get"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_cfa_gt_flags">Word: CFA&gt;FLAGS@</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( cfa -- flags )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"CFA&gt;FLAGS@" is a function word that pushes word flags of the given cfa.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Defintion concept for CFA&gt;FLAGS@</div>\r
-<div class="paragraph"><p>: CFA&gt;FLAGS@ 16 - @ 16 + ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_clear_stream"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_clear_stream">Word: CLEAR-STREAM</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( stream -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"CLEAR-STREAM" is a function word that discards whatever is currently\r
-remaining in the buffer for the stream, so that a subsequent read will\r
-pull in more data from its source.</p></div>\r
-<div class="paragraph"><p>See also <a href="#p_read_stream_char">READ-STREAM-CHAR</a>.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_colon"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_3">Word: :</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- )    Input stream: word</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>":" (colon) is a function word that starts a new forth definition.\r
-This includes reading the next word for making a new dictionary entry\r
-and setting evaluation state to compiling mode.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for :</div>\r
-<div class="paragraph"><p>: : doFORTH READ-WORD CREATE TFA&gt;CFA ! ] ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div class="paragraph"><p>See also <a href="#p_doforth">doFORTH</a>, <a href="#p_read_word">READ-WORD</a>,\r
-<a href="#p_create">CREATE</a>, <a href="#p_tfa2cfa">TFA&gt;CFA</a>, <a href="#p_put">!</a>,\r
-<a href="#p_left_bracket">]</a> and <a href="#p_semicolon">;</a>.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_comma"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_4">Word: ,</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"," (comma) is a function word that puts a cell value on the\r
-<a href="#p_here">HERE</a> heap.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for ,</div>\r
-<div class="paragraph"><p>: , HERE @ 8 ALLOT ! ; ( v&#8201;&#8212;&#8201;; Claim 8 bytes and put value there )</p></div>\r
-</div></div>\r
-</div></div>\r
-<div class="paragraph"><p>See also <a href="#p_colon">:</a>, <a href="#p_Ccomma">[p_Ccomma]</a>. <a href="#p_here">HERE</a>, <a href="#p_get">@</a>,\r
-<a href="#p_allot">ALLOT</a>, <a href="#p_put">!</a> and <a href="#p_semicolon">;</a>.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_create"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_create">Word: CREATE</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( char* n -- tfa )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"CREATE" is a function word that allocates a "word header" with the\r
-indicated [n:char*] print name, and returns the "TFA" (Token Field\r
-Address) of the word. The header memory layout is as follows:</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="listingblock">\r
-<div class="title">Layout 1: rrqforth word structure</div>\r
-<div class="content">\r
-<pre><code>struct WORD\r
-TFA  8 link ; tfa of previous word\r
-pCFA 8 cfap ; CFA = Code Field Address of this word\r
-     8 flags ;\r
-PFA  8 length ; length of pname representation\r
-     ? pname ; the pname bytes\r
-     1 nul ; a forced nul byte following the pname\r
-pTFA 8 tfap ; TFA = Token Field Address of this word\r
-OFF  8 doff ; entry offset for FORTH level execution\r
-CFA  8 doer ; word execution semantics\r
-DFA  0 content ; DFA = Data Field Address\r
-end_struct</code></pre>\r
-</div></div>\r
-</div></div>\r
-<div class="paragraph"><p>A "word" is generally understod as a marker in memory for some content\r
-as held in the memory space following the DFA (Data Field Address).</p></div>\r
-<div class="paragraph"><p>The words CFA (Code Field Address) is the most important field for\r
-RRQFORTH execution, as holding a jump address to the assembly code\r
-that implements the particular execution semantics for the word.\r
-"CREATE" will assign this as "dovariable", which makes the word push\r
-its DFA when executed. This is changed to "doforth" for RRQFORTH\r
-function words initiated by ":" (aka "COLON") or changed to "dovalue"\r
-for RRQFORTH constants created by "CONSTANT".</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for CREATE</div>\r
-<div class="paragraph"><p>HERE @ R&gt; ( save tfa on RS )\r
-  R@ CURRENT-WORD @ DUP @ , ! ( link in a new word )\r
-  DUP 49 + R@ + ,             ( pCFA )\r
-  0 ,                         ( flags )\r
-  DUP , ( length )\r
-  HERE @ ROT ROT MEMCPY 0 C,  ( pname + NUL )\r
-  R@ ,                        ( pTFA )\r
-  0 ,                         ( OFF )\r
-  doVARIABLE                  ( CFA, default semantics )</p></div>\r
-</div></div>\r
-</div></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="listingblock">\r
-<div class="title">Usage example 5: a possible definition of CONSTANT</div>\r
-<div class="content">\r
-<pre><code>: CONSTANT READ-WORD CREATE TFA&gt;DFA doVALUE OVER 8 - ! ! ;</code></pre>\r
-</div></div>\r
-</div></div>\r
-<div class="paragraph"><p>See also <a href="#p_put">!</a>, <a href="#p_plus">+</a>, <a href="#p_comma">[p_comma]</a>, <a href="#p_get">@</a>,\r
-<a href="#p_Ccomma">[p_Ccomma]</a>, <a href="#p_current_word">CURRENT-WORD</a>, <a href="#p_dup">DUP</a>,\r
-<a href="#p_here">HERE</a>, <a href="#p_herememcpy">HERE</a>, <a href="#p_Rget">R@</a>, <a href="#p_rot">ROT</a>,\r
-and <a href="#p_dovariable">doVARIABLE</a>,\r
-as well as <a href="#p_execute">EXECUTE</a>\r
-about the range of "doer" assignments and their meanings.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_current_wordlist"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_current_wordlist">Word: CURRENT-WORDLIST</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"CURRENT-WORDLIST" is a variable word that points out the DFA of the\r
-current word list word for <a href="#p_find">FIND</a> to use finding words. The\r
-word list word content is as follows:</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="listingblock">\r
-<div class="title">Layout 2: word list word content</div>\r
-<div class="content">\r
-<pre><code>  8 TFA of latest word in the word list\r
-  8 DFA of the/a subsequent word list to search through</code></pre>\r
-</div></div>\r
-</div></div>\r
-<div class="paragraph"><p>Note that word lists are chained by "extension" and in general it ends\r
-with the <a href="#p_forth">FORTH</a> word list. Initially the\r
-<a href="#p_system">SYSTEM</a> word list is the only other word list.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="data_stack"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_data_stack">Word: DATA-STACK</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"DATA-STACK" is a variable word that harbours the data stack.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_decimal"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_decimal">Word: DECIMAL</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"DECIMAL" is a function word that sets <a href="#p_base">BASE</a> to 10.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for DECIMAL</div>\r
-<div class="paragraph"><p>: DECIMAL 10 BASE ! ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_definitions"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_definitions">Word: DEFINITIONS</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( wordlist -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"DEFINITIONS" is a function word that installs the given wordlist as\r
-the <a href="#p_current_wordlist">CURRENT-WORDLIST</a> one.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for DEFINITIONS</div>\r
-<div class="paragraph"><p>: DEFINITIONS CURRENT-WORDLIST ! ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_depth"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_depth">Word: DEPTH</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- v )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"DEPTH" is a function word that pushes the count of data stack cells\r
-onto the data stack.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_dfa2tfa"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_dfa_gt_tfa">Word: DFA&gt;TFA</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( dfa -- tfa )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"DFA&gt;TFA" is a function word that pushes word tfa of the given dfa.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for DFA&gt;TFA</div>\r
-<div class="paragraph"><p>: DFA&gt;TFA 24 - @ ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_digits"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_digits">Word: DIGITS</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"DIGITS" is a variable word that holds the character array for mapping\r
-digit values to characters. It contains the 16 characters 0-9 and a-f.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_div"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_5">Word: /</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 v2 -- q )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"/" (div) is a function word that replaces a pair of values with the\r
-results of signed integer division of the first, v1, divided by the\r
-second, v2. To that end, the values are 64-bit signed integers. The\r
-result is the integer quotient, q, and the discarded remainder, r,\r
-where q and r are the respectively largest and smallest integers to\r
-satisfy the formula:</p></div>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>       v1 = q * v2 + r</code></pre>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_divmod"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_mod">Word: /MOD</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 v2 -- q r )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"/MOD" (div-mod) is a function word that replaces a pair of values\r
-with the results of signed integer division of the first, v1, divided\r
-by the second, v2. To that end, the values are 64-bit signed integers.\r
-The result is the integer quotient, q, and the remainder, r, where q\r
-and r are the respectively largest and smallest integers to satisfy\r
-the formula:</p></div>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>       v1 = q * v2 + r</code></pre>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_dodoes"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_dodoes">Word: doDOES</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"doDOES" is a variable word whose value is the implementation of the\r
-<a href="#p_does">[p_does]</a> execution semantics. This is the same as\r
-<a href="#p_doforth">doFORTH</a> but it starts at an offset into the word\r
-concerned.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_does"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_does_gt">WORD: DOES&gt;</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"DOES&gt;" is a function that in execution mode does nothing but in\r
-compilation mode it changes the execution semantics assignments for\r
-the most recent word to use the <code>dodoes</code> sematics with adjustment\r
-offset to the current heap address. I.e., the word being defined will\r
-have its execution start at whatever comes after "DOES&gt;".</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Defintion concept for DOES&gt;</div>\r
-<div class="paragraph"><p>: DOES&gt; IMMEDIATE\r
-STATE @ != IF ( only for compilation mode )\r
-  CURRENT-WORDLIST @ @ TFA&gt;CFA    ( cfa of current word )\r
-    doDOES OVER !                 ( set up doer )\r
-    HERE @ OVER 8 + - SWAP 8 - !  ( set up offset\r
-  THEN\r
-;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div class="paragraph"><p>See also\r
-<a href="#p_put">!</a>,\r
-<a href="#p_unequal">!&#8658;&gt;</a>,\r
-<a href="#p_minus">&#8594;&gt;</a>,\r
-<a href="#p_get">@</a>,\r
-<a href="#p_current_wordlist">CURRENT-WORDLIST</a>,\r
-<a href="#p_here">HERE</a>,\r
-<a href="#p_if">IF</a>,\r
-<a href="#p_immediate">IMMEDIATE</a>,\r
-<a href="#p_over">OVER</a>,\r
-<a href="#p_state">STATE</a>,\r
-<a href="#p_swap">SWAP</a>,\r
-<a href="#p_tfa2cfa">TFA&gt;CFA</a>,\r
-<a href="#p_then">THEN</a>,\r
-<a href="#p_dodoes">doDOES</a>,\r
-as well as  <a href="#p_execute">EXECUTE</a>\r
-about the range of "doer" assignments and their meanings.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_dofasm"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_dofasm">Word: doFASM</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"doFASM" is a variable word whose value is the implementation of the\r
-execution semantics for assembly code content.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_doforth"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_doforth">Word: doFORTH</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"doFORTH" is a variable word whose value is the implementation of the\r
-RRQFORTH execution semantics.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_dostring"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_dostring">Word: doSTRING</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"doFASM" is a variable word whose value is the implementation of the\r
-execution semantics for assembly code implemented words. In those\r
-cases the execution leads to the word content.</p></div>\r
-<div class="paragraph"><p>The register context at entry to an assembly code implemented word is\r
-as follows:</p></div>\r
-<div class="listingblock">\r
-<div class="content">\r
-<pre><code>    rax = cfa* of word to execute\r
-    rsi = cell* in the calling definition, after calling cell\r
-    rsp = data stack pointer\r
-    rbp = return stack pointer</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>The assembly code must ensure that <code>rsi</code> is preserved and that <code>rsp</code>\r
-and <code>rbp</code> are used according to their roles.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_dot"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_6">Word: .</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"." is a function word that prints the top stack value to stdout using\r
-the current <a href="#p_base">BASE</a> (either <a href="#p_decimal">DECIMAL</a> or\r
-<a href="#p_hex">HEX</a>).</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_dot_temp"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_temp">Word: .TEMP</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v -- char* n )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>".TEMP" is a function word that renders a cell value as an integer\r
-using the current <a href="#p_base">BASE</a>, which is either\r
-<a href="#p_decimal">DECIMAL</a> or <a href="#p_hex">HEX</a>. In <a href="#p_decimal">DECIMAL</a>\r
-<a href="#p_base">BASE</a>, a negative value is rendered as such with a leading\r
-minus sign, whereas <a href="#p_hex">HEX</a> <a href="#p_base">BASE</a> rendering is\r
-unsigned.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_double_quote"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_7">Word: "</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>data stack: ( -- char n )    Input stream: ...."</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>""" (double quote) is a function word that copies the input stream\r
-text up to next double quote to <a href="#p_pad">PAD</a>, and returns the\r
-[n:char*] cell pair for that string.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_dovalue"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_dovalue">Word: doVALUE</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"doVALUE" is a variable word whose value is the implementation of the\r
-execution semantics for cell values, which are variables with a single\r
-64-bit cell holding the value.</p></div>\r
-<div class="paragraph"><p>The execution of this result in pushing the value:</p></div>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Resulting data stack: ( -- v )</code></pre>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_dovariable"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_dovariable">Word: doVARIABLE</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"doVARIABLE" is a variable word whose value is the implementation of\r
-the execution semantics for "variables", which basically are markers\r
-into the heap for some number block of memory.</p></div>\r
-<div class="paragraph"><p>The execution of a variable results in pushing its content address:</p></div>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Resulting data stack: ( -- a )</code></pre>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_drop"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_drop">Word: DROP</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"DROP" is a function word that discards the top stack cell.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_dup"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_dup">Word: DUP</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v -- v v )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"DUP" is a function word that duplicates the top stack cell.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_else"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_else">Word: ELSE</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: Compiling: ( a -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"ELSE" is an immediate function word that is used together with\r
-<a href="#p_if">IF</a> and <a href="#p_then">THEN</a> to implement structured execution\r
-control. ELSE lays out an unresolved unconditional branch as an ending\r
-for the "then-part" of the structured statement, and it then performs\r
-the branch resolution for the "else-part". To that end it replaces the\r
-stacked address which pin-points the foot address the branch offset to\r
-resolve, so that at execution time there is an appropriate conditional\r
-branch past the "then-part" and the "else-part" of the "structured\r
-statement".</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_emit"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_emit">Word: EMIT</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( c -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"EMIT" is a function word that puts the given character code to\r
-standard output (file descriptor 1). The character is the least\r
-significant byte of the top cell.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_end"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_end">Word: END</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: Compiling: ( a 0 * -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"END" is an immediate function word that is used together with\r
-<a href="#p_begin">BEGIN</a>, <a href="#p_ifbreak">IFBREAK</a> and <a href="#p_ifagain">IFAGAIN</a> to\r
-implement structured execution control. END processes the data stack\r
-to resolve any dangling <a href="#p_ifbreak">IFBREAK</a> branch offset for the\r
-block of the matching <a href="#p_begin">BEGIN</a>.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_equal"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_8">Word: =</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 v2 -- 0/-1 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"=" is a function word that replaces a pair of values with -1 of the\r
-values are equal, and 0 otherwise.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_erase"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_erase">Word: ERASE</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( a n -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"ERASE" is a function word that stores n NUL bytes at address a an up.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_evaluate_stream"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_evaluate_stream">Word: EVALUATE-STREAM</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( stream -- ??? 0/1 )     Input stream: ......</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"EVALUATE-STREAM" is a function word that reads words separated by\r
-whitespace from the stream until it discovers an unknown word, or the\r
-stream is exhausted. Depending on <a href="#p_state">STATE</a>, the words are\r
-either executed or compiled, and all ther stack and heap effects are\r
-preserved. "EVALUATE-STREAM" returns with an additional 0 or 1 on the\r
-stack to respectively indicate that the last word was unkown, i.e. not\r
-found (<a href="#p_find">FIND</a>) in the current word list\r
-(<a href="#p_current_wordlist">CURRENT-WORDLIST</a>) and not a\r
-<a href="#p_number">NUMBER</a> of the current <a href="#p_base">BASE</a>.</p></div>\r
-<div class="paragraph"><p>Note that numbers in the current <a href="#p_base">BASE</a> are treated as known\r
-words that are parsed into cell values. If interpreting, then the\r
-value is left on the stack. If compiling, then the value is added to\r
-the heap subsequent to first adding <a href="#p_literal">LIT</a>, which is done\r
-so as to make that value be push to the data stack upon a later\r
-execution.</p></div>\r
-<div class="paragraph"><p>In the <a href="#p_decimal">DECIMAL</a> base, the number word may begin with a\r
-minus sign.</p></div>\r
-<div class="paragraph"><p>The words are read and executed one by one, accounting for whether its\r
-a number word or not, whether it is an <a href="#p_immediate">IMMEDIATE</a> word\r
-or not, and whether the state at the time of execution indicates\r
-"compiling" of "interpreting". Immediate words are executed in both\r
-interpreting and compiling state, while other words have their CFA get\r
-added to the heap so as to gain their execution effect upon a later\r
-execution.</p></div>\r
-<div class="paragraph"><p>Note that "EVALUATE-STREAM" keeps the stream (pointer) on the return\r
-stack while reading, parsing and executing.</p></div>\r
-<div class="paragraph"><p>If "EVALUATE-STREAM" ends with 0, then <a href="#p_this_word">THIS-WORD</a> holds\r
-the [n:chars] reference of the offending word in the stream buffer.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_execute"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_execute">Word: EXECUTE</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( cfa -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"EXECUTE" is a function word that transfers the execution to the\r
-indicated "Code Field Address", which typically is the CFA of an\r
-RRQFORTH word with the CFA cell containing a jump address for the code\r
-that implements the execution semnatics of the word.</p></div>\r
-<div class="paragraph"><p>The following execution semantics are predefined:</p></div>\r
-<div class="ulist"><ul>\r
-<li>\r
-<p>\r
-assembler implemented words constitute their own execution\r
-   semantics;\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<a href="#p_doforth">[p_doforth]</a> implements the FORTH machine. This treats the word\r
-   content as a succession of cells that hold the cfa pointers for the\r
-   words that make of the definition. As is customary in FORTH\r
-   machines, the advance through that succession is provided by each\r
-   word code ending making an explicit jump to its successor. The\r
-   <a href="#p_return_stack">RETURN-STACK</a> serves as a call stack for tracking\r
-   the nesting of FORTH executions by saving the "addresses" of the\r
-   successor cells.\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<a href="#p_dodoes">[p_dodoes]</a> implements the variation of starting the FORTH\r
-   execution somewhere within a definition rather than at the\r
-   beginning.\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<a href="#p_dostring">[p_dostring]</a>, <a href="#p_dovalue">[p_dovalue]</a> and <a href="#p_dovariable">[p_dovariable]</a> implement\r
-   different common ways of using word content other the as FORTH\r
-   definitions.\r
-</p>\r
-</li>\r
-</ul></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_exit"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_exit">Word: EXIT</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"EXIT" is a function word that terminates the <code>rrqforth</code> process\r
-immediately with the given exit code.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_false"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_false">Word: FALSE</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- 0 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"FALSE" is a value word representing logical false.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_fdemit"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_fdemit">Word: FDEMIT</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( c fd -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"FDEMIT" is a function word that puts the given character code to the\r
-given file descriptor. The character is the least significant byte of\r
-the data stack cell.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_fdtell"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_fdtell">Word: FDTELL</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( char* n fd -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"FDTELL" is a function word that prints a string to the given file\r
-descriptor.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_find"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_find">Word: FIND</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( char* n -- [ char* n 0 ]/[ tfa ] )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"FIND" is a function word that searches the current word list search\r
-path for the given [n:char*] word, and returns the TFA of the matching\r
-word if any. Otherwise FIND preserves the initial data stack but adds\r
-0 to it.</p></div>\r
-<div class="paragraph"><p>The word is sought starting with the\r
-<a href="#p_current_wordlist">CURRENT-WORDLIST</a> word list, for the first\r
-occurence of a match. If not found, the search continues with the\r
-subsequent word list, and so on.</p></div>\r
-<div class="paragraph"><p>When a word is found, then the data stack is changed by discarding the\r
-[n:char*] double cell string pointer and pushing (only) the TFA of the\r
-matching word instead.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_forth"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_forth">Word: FORTH</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>data stack: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"FORTH" is a variable word for the FORTH word list, which does not\r
-have any subsequent word list.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_get"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_9">Word: @</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( a -- v )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"@" is a function word that pushes the value v from the address a.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_get_n_decrement"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_n">Word: @n--</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( a n -- v )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"@n--" is a function word that pushes the value from the address, a,\r
-then decrements the cell at that address by n.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Defintion concept for @n++</div>\r
-<div class="paragraph"><p>: @n++ OVER @ DUP ROT - ROT ! ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_get_n_increment"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_n_2">Word: @n++</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( a n -- v )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"@n++" is a function word that pushes the value from the address, a,\r
-then increments the cell at that address by n.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Defintion concept for @n++</div>\r
-<div class="paragraph"><p>( a n&#8201;&#8212;&#8201;v ) : @n++ OVER @ DUP ROT + ROT ! ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_greaterequal"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_gt">Word: &gt;=</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 v2 -- 0/-1 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"&gt;=" is a function word that replaces a pair of values with -1 if the\r
-first, v1, is greater than or equal to the second, v1, otherwise 0. To\r
-that end, the values are 64-bit signed integers.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_greaterthan"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_gt_2">Word: &gt;</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 v2 -- 0/-1 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"&gt;" is a function word that replaces a pair of values with -1 if the\r
-first, v1, is greater than the second, v1, otherwise 0. To that end,\r
-the values are 64-bit signed integers.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_gtR"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_gt_r">Word: &gt;R</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v -- )   Return stack: ( -- v )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"&gt;R" is a function word that "moves" the top data stack value onto the\r
-return stack.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_here"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_here">Word: HERE</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"HERE" is a variable word that keeps the lowest address of the free\r
-allocation space. It get updated by all words that allocate memory.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">allocate 1024 bytes on the heap</div>\r
-<div class="paragraph"><p>1024 HEAP @ + HEAP !</p></div>\r
-</div></div>\r
-</div></div>\r
-<div class="paragraph"><p>See also <a href="#p_allot">ALLOT</a>.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_hex"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_hex">Word: HEX</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"HEX" is a function word that sets <a href="#p_base">BASE</a> to 16, which uses\r
-letters a-f as additional digits. (Uppercase letter are also accepted\r
-on input).</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for HEX</div>\r
-<div class="paragraph"><p>: HEX 16 BASE ! ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_if"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_if">Word: IF</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: Compiling: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"IF" is an immediate function word that is used together with\r
-<a href="#p_else">ELSE</a> and <a href="#p_then">THEN</a> to implement structured execution\r
-control. IF results in layout of a <a href="#p_0branch">0BRANCH</a> instruction\r
-with an unresolved branch offset, and places the address for resolving\r
-this instruction on the datastack. This address will then be resolved\r
-and asssigned by a subsequent <a href="#p_else">ELSE</a> or <a href="#p_then">THEN</a> so\r
-that at execution time there is an appropriate conditional branch past\r
-the "then-part" of the "structured statement".</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_ifagain"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_ifagain">Word: IFAGAIN</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: Compiling: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"IFAGAIN" is an immediate function word that is used together with\r
-<a href="#p_begin">BEGIN</a>, <a href="#p_ifbreak">BREAK</a> and <a href="#p_end">END</a> to implement\r
-structured execution control. IFAGAIN scans the datastack for the\r
-nearest preceding BEGIN marker and lays out a branch from this point\r
-the beginning of the block during execution.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_ifbreak"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_ifbreak">Word: IFBREAK</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: Compiling: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"IFBREAK" is an immediate function word that is used together with\r
-<a href="#p_begin">BEGIN</a>, <a href="#p_ifagain">IFAGAIN</a> and <a href="#p_end">END</a> to\r
-implement structured execution control. IFBREAK simply places the\r
-address for resolving branches from this point the end of the block\r
-during execution.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_immediate"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_immediate">Word: IMMEDIATE</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"IMMEDIATE" is an immediate function word that sets the flags field of\r
-the most recent word to 1, thereby making that word an immediate word.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for IMMEDIATE</div>\r
-<div class="paragraph"><p>: IMMEDIATE IMMEDIATE 1 CURRENT-WORDLIST @ @ 16 + ! ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div class="paragraph"><p>See also <a href="#p_colon">:</a>, <a href="#p_current_wordlist">CURRENT-WORDLIST</a>,\r
-<a href="#p_get">@</a>, <a href="#p_plus">+</a>, <a href="#p_put">!</a>, and <a href="#p_semicolon;">[p_semicolon;]</a>.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_input"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_input">Word: INPUT</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"INPUT" is a variable word for the input stream buffer used by\r
-<a href="#p_evaluate_stream">EVALUATE-STREAM</a>.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_left_bracket"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_10">Word: [</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"[" (left bracket) is a function word that sets the stream evaluation\r
-mode to be intepreting. In this mode, words are executed immediately\r
-after parsing, by invoking their "doer".</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for [</div>\r
-<div class="paragraph"><p>: [ IMMEDIATE 0 STATE ! ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_lessequal"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_lt">Word: &lt;=</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 v2 -- 0/-1 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"&lt;=" is a function word that replaces a pair of values with -1 if the\r
-first, v1, is less than or equal to the second, v1, otherwise 0. To\r
-that end, the values are 64-bit signed integers.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_lessthan"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_lt_2">Word: &lt;</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 v2 -- 0/-1 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"&lt;" is a function word that replaces a pair of values with -1 if the\r
-first, v1, is less than the second, v1, otherwise 0. To that end, the\r
-values are 64-bit signed integers.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_literal"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_lit">Word: LIT</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- v )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"LIT" is a function word that pushes the cell subsequent and moves\r
-excution past that. The literal value is thus layed out as if a\r
-subsequent CFA pointer in the containing definition, and the LIT\r
-execution will make the execution skip past that and instead contine\r
-with the CFA pointer following the value.</p></div>\r
-<div class="paragraph"><p>It&#8217;s not a good idea to use "LIT" interactively.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for LIT</div>\r
-<div class="paragraph"><p>: LIT R&gt; DUP 8 + &gt;R @ ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_literal_string"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_lit_string">Word: LIT-STRING</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- chars* n )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"LIT-STRING" is a function word that pushes the char* and length n of\r
-a subsequent inline string, then advances execution to continue after\r
-the string. This is similar to <a href="#p_lit">LIT</a> but for a block literal.</p></div>\r
-<div class="paragraph"><p>Note that the inlined byte count includes the terminating NUL byte.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for LIT-STRING</div>\r
-<div class="paragraph"><p>: LIT-STRING  R@ DUP @ 8 +  R@ @  2DUP + R&gt; + &gt;R  1 - ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_literal_string_compile"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_s">Word: S"</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- )  Input stream: " chars"</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"S"" is an immediate function word that compiles the subseqent\r
-characters up to terminating double-quote into the current definition,\r
-preceded by a <a href="#p_literal_string">LIT-STRING</a> cell, and the count of\r
-bytes scanned. The inline text includes a terminating NUL character\r
-which also is included in the inlined count.</p></div>\r
-<div class="paragraph"><p>Note that "S"" uses <a href="#p_double_quote">"</a> for reading the string.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_load_buffer_size"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_load_buffer_size">Word: LOAD-BUFFER-SIZE</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>data stack: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"LOAD-BUFFER-SIZE" is a variable word telling the buffer size in bytes\r
-that <a href="#p_load_file">LOAD-FILE</a> should use.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_load_file"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_load_file">Word: LOAD-FILE</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>data stack: ( chaz* -- * 0/1 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"LOAD-FILE" is a function word that evaluates a text file. It opens a\r
-file via <a href="#p_open_file">OPEN-FILE</a> and sets up a stream with a\r
-buffer of <a href="#p_load_buffer_size">LOAD-BUFFER-SIZE</a> bytes for\r
-reading it. The stream is passed to\r
-<a href="#p_evaluate_stream">EVALUATE-STREAM</a> for processing its words. Upon\r
-its return the file is closed and the stream memory is reclaimed, and\r
-then the function returns whatever\r
-<a href="#p_evaluate_stream">EVALUATE-STREAM</a> returns.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_lparen"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_11">Word: (</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"(" (left parenthesis) is a function word that scans and ignores words\r
-until the next right parenthesis, or the end of the stream. This is\r
-used for comments in RRQFORTH code.</p></div>\r
-<div class="paragraph"><p>Note that the terminating right parenthesis is a word, i.e. must have\r
-whitespace before and after it.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_malloc"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_malloc">Word: MALLOC</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( n -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"MALLOC" is a word that allocates memory using mmap of at least n\r
-bytes and returns the lowest address of the allocated block.</p></div>\r
-<div class="paragraph"><p>Note that this makes new page allocations for the process from the\r
-kernel, and the granularity is in pages, i.e. a multiple of 4 kb.</p></div>\r
-<div class="paragraph"><p>The memory is allocated with READ and WRITE access but not EXEC\r
-access, and flagged as PRIVATE, ANONYMOUS and LOCKED. See the "man\r
-page" of mmap for details.</p></div>\r
-<div class="paragraph"><p>See also <a href="#p_stream">STREAM</a></p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_max"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_max">Word: MAX</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 v2 -- v3 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"MAX" is a function word that selects the greatest of v1 and v2. To\r
-that end, the values are 64-bit signed integers.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_min"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_min">Word: MIN</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 v2 -- v3 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"MIN" is a function word that selects the least of v1 and v2. To that\r
-end, the values are 64-bit signed integers.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_minus"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_12">Word: -</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 v2 -- v3 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"-" (minus) is a function word that replaces a pair of values with the\r
-result of reducing the first, v1, with the second, v2. To that end,\r
-the values are 64-bit signed integers.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_mult"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_13">Word: *</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 v2 -- v3 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"*" is a function word that replaces a pair of values with the result\r
-of multiplying them. To that end, the values are 64-bit signed\r
-integers, and clipping the result to the least signifcant 64 bits.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_negate"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_negate">Word: NEGATE</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 -- v2 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"NEGATE" is a function word that replaces a value with its\r
-2&#8217;s-complement negation. To that end, the values are 64-bit signed\r
-integers.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_nip"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_nip">Word: NIP</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 v2 -- v2 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"NIP" is a function word that discards the second of the top two cells\r
-on the data stack.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for NIP</div>\r
-<div class="paragraph"><p>: NIP SWAP DROP ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_nl"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_nl">Word: NL</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- v )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"NL" is a value word pushing a newline character onto the data stack.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_not"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_not">Word: NOT</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 -- v2 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"NOT" is a function word that replaces a value with its bitwise\r
-complement; each bit is zero if non-zero, and non-zero if zero.</p></div>\r
-<div class="paragraph"><p>Compare with &lt;&lt;p_0equal,0&#8658;&gt;.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_number"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_number">Word: NUMBER</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( char n -- [ 0 ]/[ v 1 ] )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"NUMBER" is a function word that parses a text number using\r
-<a href="#p_base">BASE</a> as numerical base, then returns the result number and\r
-a 1 on top, or just a 0 if the word didn&#8217;t parse.</p></div>\r
-<div class="paragraph"><p>A number consists of, first an optional minus sign, if in\r
-<a href="#p_decimal">DECIMAL</a> base, then digits 0-9 and, if in <a href="#p_hex">HEX</a>\r
-base, letters a-f or A-F for values 10-15. I.e. the normal positive or\r
-negative decimal integers or normal (positive only) hexadecimal\r
-integers.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_open_file"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_open_file">Word: OPEN-FILE</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( chaz* -- fd )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"OPEN-FILE" is a function word that opens the file named by the zero\r
-terminated character string and returns the file descriptor, or if\r
-less than 0, the system call error code.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_or"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_or">Word: OR</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 v2 -- v3 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"OR" is a function word that replaces a value pair with their bitwise\r
-disjunction; each bit is 1 if the corresponding bits of any operand\r
-is 1 and 0 if not.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_over"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_over">Word: OVER</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 v2 -- v1 v2 v1 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"OVER" is a function word that duplicates the second top stack cell on\r
-the data stack.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_pad"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_pad">Word: PAD</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"PAD" is a variable word for a 1 kb data space that is used by\r
-<a href="#p_double_quote">[p_double_quote]</a> (only), and otherwise free for temporary use.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_pick"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_pick">Word: PICK</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( vu...v1 v0 u -- vu...v1 v0 vu )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"PICK" is a function word that pushes the u:th data stack cell down\r
-from top onto the data stack. 0 indicates the top cell making it the\r
-same as <a href="#p_dup">DUP</a>, and 1 indicates the second top cell making it\r
-the same as <a href="#p_over">OVER</a>.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_plus"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_43">Word: &#43;</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 v2 -- v3 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"+" (plus) is a function word that replaces a pair of values with the\r
-result of adding them. To that end, the values are 64-bit signed\r
-integers.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_program_version"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_program_version">Word: PROGRAM_VERSION</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- char* length )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"PROGRAM_VERSION" is a string variable hilding the version string.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_put"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_14">Word: !</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v a -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"!" is a function word that stores the cell value v at the address a.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_put_plus"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_15">Word: !+</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( a n -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"!+" is a function word that adds n to the cell value at a.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">definition concept for !+</div>\r
-<div class="paragraph"><p>( a n&#8201;&#8212;&#8201;) : !+ OVER @ + SWAP ! ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_quit"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_quit">Word: QUIT</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ??</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"QUIT" is a function word that implements the root execution loop of\r
-RRQFORTH. First it resets the stacks to their original settings, and\r
-thereafter it enters loop of reading words from <a href="#p_stdin">STDIN</a> and\r
-executing them.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_quote"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_16">Word: '</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>data stack: ( -- cfa )    Input stream: word</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"'" (single quote) is a function word that reads and find the next\r
-word on the input stream and pushes its cfa.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_rbp"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_rsp">Word: RSP</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"RSP" is a function word that pushes the return stack pointer value\r
-onto the data stack.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_rbpn"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_r_n">Word: R[n]</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( n -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"R[n]" is a function word that pushes the address for the n:th cell of\r
-the return stack onto the data stack.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Defintion concept for R[n]</div>\r
-<div class="paragraph"><p>( n&#8201;&#8212;&#8201;a ) : R[n] 8 * RSP + ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_read_stream_char"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_read_stream_char">Word: READ-STREAM-CHAR</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( stream -- c )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"READ-STREAM-CHAR" is a function word that gets the next character\r
-from the given stream buffer, possibly refilling the buffer if it is\r
-backed by a file descriptor. The refill is done by a SYS_READ call\r
-when more characters are needed. The next character is pushed on the\r
-stack, unless the stream is exhausted in which case the -1 is pushed\r
-instead.</p></div>\r
-<div class="paragraph"><p>See also <a href="#p_stream">STREAM</a>.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_read_stream_line"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_read_stream_line">Word: READ-STREAM-LINE</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( stream -- n )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"READ-STREAM-LINE" is a function word that gets the next line from the\r
-given stream buffer into PAD and returns number of characters. If the\r
-stream is backed by a file descriptor, the stream buffer is refilled\r
-from there as needed, by a SYS_READ call when more characters are\r
-needed.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_read_word"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_read_word">Word: READ-WORD</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( stream -- char* n )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"READ-WORD" is a function word that "reads" the next whitespace\r
-separated word from the given stream and returns the [n:char*] duoble\r
-cell pointer for it. The characters of the word are copied to\r
-<a href="#p_pad">PAD</a>, and there is a limit of 1024 characters.</p></div>\r
-<div class="paragraph"><p>At the end of the stream READ-WORD returns 0 length.</p></div>\r
-<div class="exampleblock">\r
-<div class="title">Special syntax 1: Whitespace</div>\r
-<div class="content">\r
-<div class="paragraph"><p>All character codes less or equal to 32 are regarded as "whitespace".</p></div>\r
-</div></div>\r
-<div class="exampleblock">\r
-<div class="title">Special syntax 2: Rest-of-line comment</div>\r
-<div class="content">\r
-<div class="paragraph"><p>The "#" character following whitespace starts a line comment and the\r
-rest of the line is ignored. Note that this is also recognised with\r
-<a href="#p_lparen">parethesis commenting</a>.</p></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_realloc"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_realloc">Word: REALLOC</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( a m n -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"REALLOC" is a word that reallocates memory using mremap of address a\r
-of size m to be size n bytes and returns the lowest address of the\r
-allocated block.</p></div>\r
-<div class="paragraph"><p>Note that this makes new page allocations for the process from the\r
-kernel, and the granularity is in pages, i.e. a multiple of 4 kb.</p></div>\r
-<div class="paragraph"><p>The memory is reampped using the MREMAP_MAYMOVE flag,</p></div>\r
-<div class="paragraph"><p>See also <a href="#p_malloc">MALLOC</a></p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_return"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_return">Word: RETURN</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"RETURN" is a function word that implements the ending of a FORTH\r
-definition and make execution return to the next step in the calling\r
-definition.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p>compile.asm:    WORD p_right_bracket,<em>]</em>,fasm</p></div>\r
-<div class="paragraph"><p><a id="p_right_bracket"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_17">Word: ]</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"]" (right bracket) is a function word that sets the stream evaluation\r
-mode to be compiling. In this mode words parsed into CFA pointers\r
-which are placed on the heap in the given order, unless the word is\r
-flagged as <a href="#p_immediate">IMMEDIATE</a> or a <a href="#p_number">NUMBER</a>. An\r
-immediate word is executed immediately, and a number is parsed and\r
-left on the stack.</p></div>\r
-<div class="paragraph"><p>Note that a word is parsed as a number only if it is not found in the\r
-wordlist; i.e., the word list may contain definitions for numbers.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for ]</div>\r
-<div class="paragraph"><p>: ] 1 STATE ! ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_roll"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_roll">Word: ROLL</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( vu...v1 v0 u -- ...v1 v0 vu )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"ROLL" is a function word that "moves" the u:th data stack cell down\r
-from top onto the data stack while discarding it. 0 indicates the top\r
-cell; 1 indicates the second top cell making it the same as\r
-<a href="#p_swap">SWAP</a>; 2 indicates the third top cell making it the same as\r
-<a href="#p_rot">ROT</a>.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_rot"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_rot">Word: ROT</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 v2 v3 -- v2 v3 v1 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"ROT" is a function word that "rotates" the top three data stack cells\r
-such that the third becomes the first while the second becomes third\r
-and the first becomes the second.</p></div>\r
-<div class="paragraph"><p>See also <a href="#p_roll">ROLL</a>.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_semicolon"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_18">Word: ;</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>";" (semi-colon) is an immediate function word that ends a new forth\r
-definition by means of adding an <a href="#p_exit">EXIT</a> cell, then changing\r
-&lt;&lt;p_state,STATE&gt; to interpreting.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for ;</div>\r
-<div class="paragraph"><p>: ; IMMEDIATE ' EXIT , ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_setup_signals"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_p_setup_signals">Word: [p_setup_signals]</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"[p_setup_signals]" is a variable word that contains the assembly code\r
-sniippet for setting up the signal handling. rrqforth handles SEGV by\r
-restarting the interpreter loop on <a href="#p_stdin">STDIN</a>.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_shift_left"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_lt_lt">Word: &lt;&lt;</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 n -- v2 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"&lt;&lt;" is a function word that shifts value v1 n steps left (i.e.\r
-"moving" bits towards more significant bits) to form value v2.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_shift_right"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_gt_gt">Word: &gt;&gt;</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 n -- v2 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"&gt;&gt;" is a function word that shifts value v1 n steps right (i.e.\r
-"moving" bits towards less significant bits) to form value v2.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_shift_signed_right"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_s_gt_gt">Word: s&gt;&gt;</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 n -- v2 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"s&gt;&gt;" is a function word that shifts value v1 n steps right (i.e.\r
-"moving" bits towards less significant bits) to form value v2, but\r
-preserving (and copying) the sign bit.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_sp"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_sp">Word: SP</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- v )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"SP" is a value word pushing a space character onto the data stack.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_state"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_state">Word: STATE</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"STATE" is a variable word marking whether the stream evaluator is in\r
-compiling mode (1) or interpreting (0) mode.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_stdin"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_stdin">Word: STDIN</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- stream )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"STDIN" is a value word referring to the stream buffer for the\r
-standard input file descriptor.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_stream"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_stream">Word: STREAM</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( fd size -- addr ) or ( block -1 -- addr )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"STREAM" is a function word that sets up a buffer for an input file\r
-descriptor or for a memory block (of size+data).</p></div>\r
-<div class="sect3">\r
-<h4 id="_file_descriptor_backed_stream">File descriptor backed STREAM</h4>\r
-<div class="paragraph"><p>A file descriptor backed STREAM gains a buffer of the given size\r
-prefixed by a 32 byte STREAM header of the following layout:</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="listingblock">\r
-<div class="title">Layout 3: file descriptor stream</div>\r
-<div class="content">\r
-<pre><code>  8 bytes = size of buffer (excluding the 32 byte header)\r
-  8 bytes source file descriptor\r
-  8 bytes current fill\r
-  8 current read position</code></pre>\r
-</div></div>\r
-</div></div>\r
-</div>\r
-<div class="sect3">\r
-<h4 id="_memory_block_backed_stream">Memory block backed STREAM</h4>\r
-<div class="paragraph"><p>A memory block stream is only the header (though allocated via\r
-<a href="#p_malloc">MALLOC</a> which reserves a full kernel page) with the\r
-following layout:</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="listingblock">\r
-<div class="title">Layout 4: memory block stream</div>\r
-<div class="content">\r
-<pre><code>  8 bytes = block address\r
-  8 -1 (indicates memory block)\r
-  8 size of block (taken from the block's first 8 bytes)\r
-  8 current read position</code></pre>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_stream_nchars"></a></p></div>\r
-</div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_stream_nchars">Word: STREAM-NCHARS</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( stream -- n )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"STREAM-NCHARS" is a function word that scans ahead in the stream\r
-buffer for the next non-whitespace character, and returns its position\r
-relative to the end of the buffer. This is done without changing the\r
-stream (or filling it by reading the backing file).</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_str2temp"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_str_gt_temp">Word: STR&gt;TEMP</h3>\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="paragraph"><p>Data stack: ( char* n&#8201;&#8212;&#8201;char* n )</p></div>\r
-</div></div>\r
-<div class="paragraph"><p>"STR&gt;TEMP" is a function word that copies a given string plus a\r
-terminating NUL character into a <a href="#p_tempspace">TEMPSPACE</a> snippet,\r
-all preceded by a length cell. It returns a pointer for to the text in\r
-the snippet and its length, excluding the NUL character at end and the\r
-length cell before tie text.</p></div>\r
-<div class="listingblock">\r
-<div class="title">Layout for copied string</div>\r
-<div class="content">\r
-<pre><code>        length: 8 bytes\r
-returned char*: n bytes\r
-           nul: 1 byte</code></pre>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_strlen"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_strlen">Word: STRLEN</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( s -- n )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"STRLEN" is a function words that counts how many bytes there are from\r
-s to the first NUL byte and returns that count, n, not including the\r
-NUL byte.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_strncmp"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_strncmp">Word: STRNCMP</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( s1 s2 n -- v )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"STRNCMP" is a function words that compares up to n characters of\r
-character sequences s1 and s2, and returns the difference of the first\r
-differing characters, as in <code>s2[i] - s1[i]</code>, or 0 if all n characters\r
-are the same.</p></div>\r
-<div class="paragraph"><p>I.e., the value v is less than 0 if string [n:s1] is alpha-numerically\r
-less than [n:s2],\r
-v is greater than 0 if [n:s1] is greater than [n:s2],\r
-and v is 0 if [n:s1] and [n:s2] are equal.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_strncpy"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_strncpy">Word: STRNCPY</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( s1 s2 n -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"STRNCPY" is a function words that copies n bytes of byte sequence s1\r
-to s2.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_swap"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_swap">Word: SWAP</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 v2 -- v2 v1 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"SWAP" is a function word the swaps the top two data stack cells.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_system"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_system">Word: SYSTEM</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data value: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"SYSTEM" is a variable that holds the word list data for the system\r
-calls. This is set up as separate word list from <a href="#p_forth">FORTH</a>\r
-merely as a matter of segregation.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_tell"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_tell">Word: TELL</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( char* n -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"TELL" is a function word that prints a string to stdout (file\r
-descriptor 1).</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_temp"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_temp_2">Word: TEMP</h3>\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="paragraph"><p>Data stack: ( size&#8201;&#8212;&#8201;addr )</p></div>\r
-</div></div>\r
-<div class="paragraph"><p>"TEMP" is a function word that "allocates" a <a href="#p_tempspace">TEMPSPACE</a>\r
-area of given size and returns its base address. The allocation is\r
-temporary and only valid until there is a later allocation that\r
-overruns this area.</p></div>\r
-<div class="paragraph"><p>Allocations are done in succession until the requested size overruns\r
-the <a href="#p_tempspace">TEMPSPACE</a>. If so, the allocation pointer is reset\r
-and the space is allocated from start again. This is all intended for\r
-small and short-lived data areas.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_tempheld"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_tempheld">Word: TEMPHELD</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"TEMPHELD" is a variable word that keeps the lowest offset of the\r
-<a href="#p__tempspace">TEMPSPACE</a> space to reuse upon cycling. The space\r
-below TEMPHELD is "held" in the sense of not being reused upon\r
-cycling. An application may change the TEMPSPACE offset as needed to\r
-dynamically preserve memory longer term.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_tempspace"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_tempspace">Word: TEMPSPACE</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"TEMPSPACE" is a variable word that holds three cells the for managing\r
-"temporary memory":</p></div>\r
-<div class="ulist"><ul>\r
-<li>\r
-<p>\r
-the size of the temporary memory space (default 104857600 bytes)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-the base address for whole temporary memory area\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-the amount currently used\r
-</p>\r
-</li>\r
-</ul></div>\r
-<div class="paragraph"><p>This memory is intended to be used by requesting snippets of memory in\r
-a cyclic fashion via <a href="#p_temp">TEMP</a> without concern about it possibly\r
-overlapping a prior request.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_tempused"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_tempused">Word: TEMPUSED</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"TEMPUSED" is a variable word that keeps the lowest offset of the\r
-<a href="#p__tempspace">TEMPSPACE</a> space to use next as temporary space. This\r
-is advance upon each allocation via <a href="#p_temp">TEMP</a>, and recycled back\r
-to <a href="#p_tempheld">TEMPHELD</a> when next allocation otherwise would exceed\r
-the space size.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_terminate0"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_terminate0">Word: TERMINATE0</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"TERMINATE0" is a function word that terminates the program with exit\r
-code 0.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_tfa2cfa"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_tfa_gt_cfa">Word: TFA&gt;CFA</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( tfa -- cfa )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"TFA&gt;CFA" is a function word that pushes word cfa of the given tfa.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for TFA&gt;CFA</div>\r
-<div class="paragraph"><p>: TFA&gt;CFA 8 + @ ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_tfa2dfa"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_tfa_gt_dfa">Word: TFA&gt;DFA</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( tfa -- dfa )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"TFA&gt;DFA" is a function word that pushes word dfa of the given tfa.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for TFA&gt;DFA</div>\r
-<div class="paragraph"><p>: TFA&gt;DFA TFA&gt;CFA 8 + ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_tfa2flags_get"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_tfa_gt_flags">Word: TFA&gt;FLAGS@</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( tfa -- flags )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"TFA&gt;FLAGS@" is a function word that pushes word flags of the given tfa.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Defintion concept for TFA&gt;FLAGS@</div>\r
-<div class="paragraph"><p>: TFA&gt;FLAGS@ 16 + @ ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_tfa2namez"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_tfa_gt_namez">Word: TFA&gt;NAMEZ</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( tfa -- char* )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"TFA&gt;NAMEZ" is a function word that pushes changes a tfa pointer to a\r
-pointer to the word pname&#8217;s character sequence, which is zero\r
-terminated as well as preceded by a length cell.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Defintion concept for TFA&gt;NAMEZ</div>\r
-<div class="paragraph"><p>: TFA&gt;NAMEZ 32 + ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_then"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_then">Word: THEN</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: Compiling: ( a -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"THEN" is an immediate function word that is used together with\r
-<a href="#p_if">IF</a> and <a href="#p_else">ELSE</a> to implement structured execution\r
-control. THEN performs the branch resolution for the stacked address\r
-which pinpoints the foot address the branch offset to resolve, so that\r
-at execution time there is an appropriate conditional branch past the\r
-"then-part" or the "else-part" of the "structured statement".</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_this_word"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_this_word">Word: THIS-WORD</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"THIS-WORD" is a variable word used in\r
-<a href="#p_evaluate_stream:EVALUATE-STREAM">[p_evaluate_stream:EVALUATE-STREAM]</a> as cache for the [n:char*]\r
-values of the successive words being evaluated. This typically points\r
-into the input stream buffer and remain valid until further stream\r
-buffering functions are used.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_true"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_true">Word: TRUE</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- -1 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"TRUE" is a value word representing logical true.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_tuck"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_tuck">Word: TUCK</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack ( v1 v2 -- v2 v1 v2 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"TUCK" is a function word that "inserts" the top cell below the second\r
-cell on the data stack.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for TUCK</div>\r
-<div class="paragraph"><p>: TUCK SWAP OVER ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_unequal"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_19">Word: !=</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 v2 -- 0/-1 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"!=" is a function word that replaces a pair of values with -1 of the\r
-values are unequal, and 0 otherwise.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_unstream"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_unstream">Word: UNSTREAM</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( stream* -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"UNSTREAM" is a function word that releases the memory allocated for a\r
-stream, and closes the associated file if it&#8217;s a file stream.</p></div>\r
-<div class="sect3">\r
-<h4 id="_file_descriptor_backed_stream_2">File descriptor backed stream</h4>\r
-<div class="paragraph"><p>This kind of stream has the stream header as a prefix within the\r
-allocated memory. Thus, stream* is the base address for the memory to\r
-reclaim, and the size of this is determined from the cell at (stream*\r
-+ 16) plus the 32 bytes head itself.</p></div>\r
-</div>\r
-<div class="sect3">\r
-<h4 id="_memory_block_backed_stream_2">Memory block backed STREAM</h4>\r
-<div class="paragraph"><p>This kind of stream has a separate header which points at the memory\r
-area to reclaim. The cell at stream* is the base address, and the cell\r
-at (stream* + 16) is its size.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_use"></a></p></div>\r
-</div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_use">Word: USE</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data value: ( wordlist -- )  Input stream: word</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"USE" is a function word that looks up next word given the wordlist.\r
-It reads next word on <a href="#p_input">INPUT</a> via <a href="#p_read_word">READ-WORD</a>,\r
-then temporarily changes <a href="#p_current_wordlist">CURRENT-WORDLIST</a> to\r
-<a href="#p_find">FIND</a> the word via the given wordlist, and returns the TFA\r
-of that word, or just 0 if the word coudn&#8217;t be found.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_verboseQ"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_verbose">Word: VERBOSE?</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"VERBOSE?" is a variable word that is assigned at start up to -1 or 0\r
-signify whether or not the command line arguments includes "-v". When\r
-non-zero (i.e. running rrqforth with "-v") the evaluation loop is more\r
-verbose.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_within"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_within">Word: WITHIN</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v lo hi -- 0/-1</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"WITHIN" is a function word that replaces a triple of values with -1\r
-of the the first, v, is within the value range spanned by the second,\r
-lo, inclusive and third, hi, exclusive.</p></div>\r
-<div class="exampleblock">\r
-<div class="content">\r
-<div class="sidebarblock">\r
-<div class="content">\r
-<div class="title">Definition concept for WITHIN</div>\r
-<div class="paragraph"><p>: WITHIN 2 PICK &gt; ROT ROT &#8656; AND ;</p></div>\r
-</div></div>\r
-</div></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_words"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_words">Word: WORDS</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( wl -- )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"WORDS" is a function word that prints all words of teh given word\r
-list to stdout (file descriptor 1).</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="p_xor"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_xor">Word: XOR</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( v1 v2 -- v3 )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"XOR" is a function word that replaces a value pair with their bitwise\r
-exclusion; each bit is 1 if the corresponding bits of the two operands\r
-differ and 0 if not.</p></div>\r
-<div style="text-align:center">\r
-_______________________________________________________\r
-</div>\r
-<div class="paragraph"><p><a id="return_stack"></a></p></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_word_return_stack">Word: RETURN-STACK</h3>\r
-<div class="literalblock">\r
-<div class="content">\r
-<pre><code>Data stack: ( -- a )</code></pre>\r
-</div></div>\r
-<div class="paragraph"><p>"RETURN-STACK" is a variable word harbouring the return stack.</p></div>\r
-</div>\r
-</div>\r
-</div>\r
-<div class="sect1">\r
-<h2 id="_system_calls">System calls</h2>\r
-<div class="sectionbody">\r
-<div class="paragraph"><p>RRQFORTH includes function wrapping for all "Linux syscalls", which\r
-generally are described in their "man pages. This wrapping takes the\r
-arguments fro the data stack in reverse order, i.e. the first argument\r
-is deepest.</p></div>\r
-<div class="paragraph"><p>Use <code>SYSTEM WORDS</code> to get a list of all (321) available syscalls.</p></div>\r
-</div>\r
-</div>\r
-</div>\r
-<div id="footnotes"><hr /></div>\r
-<div id="footer">\r
-<div id="footer-text">\r
-Last updated\r
- 2021-06-17 17:12:21 AEST\r
-</div>\r
-</div>\r
-</body>\r
-</html>\r
diff --git a/rrqforth b/rrqforth
deleted file mode 100755 (executable)
index 8b71191..0000000
Binary files a/rrqforth and /dev/null differ