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
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
% 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}
|
||||
Reference in New Issue
Block a user