Files
LithosAnanke/docs/book/dictionary.tex
T
Claude 1a9b142d80 docs: The Dictionary of v4 -- every live word, alphabetical, its stack notation and description; built and published with every release (#157) [skip ci]
make dictionary -> build/docs/Dictionary.pdf (20 pages): mkdictionary.py checks docs/reference/v4-dictionary.tsv against the booted system's words first, so a stale dictionary fails the build; then Markdown, pandoc, docs/book/dictionary.tex (the books' preamble, its own title page: version and commit). Quoted FORTH tokens set as code, so their quotes print straight. The nightly's docs stage builds it; publish sends classifier dictionary; the Gitea release attaches it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2
2026-11-10 11:31:07 +00:00

43 lines
1.9 KiB
TeX

% 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}