% docs/book/dictionary.tex -- master file of The Dictionary of v4 (#157): % every word StarForth v4 boots with, alphabetical, with its stack notation, % a description and where it is defined (Captain Bob, 2026-11-08: "a % 'dictionary' document with the word, stack notations and descriptions. % Alphabetical."; v4's words only). % % Built by `make dictionary` (docs/book/Makefile): v4/tools/mkdictionary.py % checks docs/reference/v4-dictionary.tsv against the live system and writes % the Markdown that pandoc turns into the fragment input below. \documentclass[11pt,openany]{book} \input{preamble} \title{The Dictionary of StarForth v4\\[0.5em]\large Every word, its stack notation, and what it does} \author{Robert A. James (Captain Bob)} \date{Version \texttt{\bookversion}\\Built \bookdate{} from commit \texttt{\bookcommit}} \begin{document} \frontmatter \maketitle \chapter{How to read it} Every word of the dictionary StarForth v4 boots with is here, in alphabetical order. The names are not typed by hand: they are the booted system's own list (\texttt{WORDS}, and the kernel's words of the node), and the build refuses a dictionary that has fallen behind it. \textbf{Stack notation.} \texttt{( before -{}- after )}: the values a word takes from the stack, the top on the right, and what it leaves there. \texttt{( R: ... )} is the return stack. \texttt{n} a signed number, \texttt{u} an unsigned one, \texttt{d} and \texttt{ud} double-cell numbers, \texttt{q} a Q48.16 fixed-point number, \texttt{x} any cell, \texttt{flag} a truth value (0 false, -1 true), \texttt{c} a character, \texttt{addr} a cell address, \texttt{baddr} a byte address, \texttt{xt} an execution token. \textbf{xxx.} Where a word reads a name or text from the input stream, the description shows it, as \texttt{' xxx} or \texttt{.\textquotedbl{} text\textquotedbl}. \mainmatter \input{dictionary-words} \end{document}