Files
LithosAnanke/docs/reference/v4-dictionary.tsv
T
Claude 135cccb37d docs(dictionary): batch 3 -- Q..Z and the brackets; every one of the 318 live words has its entry (#157) [skip ci]
LSHIFT corrected (a count out of range is error 9, as DECOMPOSITION.md says, not 0). mkdictionary.py check: covers all 318 live words.

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

22 KiB

1# docs/reference/v4-dictionary.tsv -- the dictionary of v4 (#157): name, stack notation,
2# description, tab-separated. The names are the live system's (v4/tools/mkdictionary.py
3# check refuses a missing or a stale one). A row whose description starts TODO is a draft.
4!( x addr -- )Store x in the cell at addr.
5#( ud1 -- ud2 )Pictured output: divide ud1 by BASE, put the remainder's digit in front of the string being built, leave the quotient.
6#>( ud -- baddr u )End pictured output: drop ud and leave the string built since <#.
7#S( ud -- 0 0 )Pictured output: convert digits with # until the number is zero (at least one digit).
8'( -- addr )' xxx: the parameter field address of xxx; compiled as a literal when compiling.
9(( -- )( text): a comment, ended by the first ); immediate.
10(BITS)( -- n )The number of bits in a cell, counted at run time (forth79.4th; used by U/MOD).
11(CONSOLE)( -- addr )Variable: the node that what this node prints is sent to, as messages (core.f18).
12(LOST)( -- addr )Variable: a count of the messages this node has dropped -- nowhere to send them, or no room.
13(ME)( -- addr )Variable: this node's number in the mesh.
14(NB)( -- n )Constant: the bits in a cell, (BITS) counted once at load (forth79.4th).
15(REFUSED)( -- addr )Variable: a count of the messages that came back to this node, refused.
16(SEAL)( -- )What is in the dictionary now is the system: COLD returns to it and FORGET will not go below it.
17(UD)( -- addr )Variable: U/MOD's divisor while it divides (forth79.4th).
18(WORD-DEFINED)( -- addr )Variable: the hook told when an entry is made, with the xt its code will be at.
19(WORD-FORGOTTEN)( -- addr )Variable: the hook told when entries are forgotten, with the word address they went from.
20*( n1 n2 -- n3 )Multiply: the low cell of the product.
21*/( n1 n2 n3 -- n4 )n1 times n2 divided by n3, through a double-cell intermediate product.
22*/MOD( n1 n2 n3 -- n4 n5 )n1 times n2 divided by n3, through a double product: n4 the remainder, n5 the quotient.
23+( n1 n2 -- n3 )Add.
24+!( n addr -- )Add n to the cell at addr.
25+LOOP( n -- )Compile-only: end a DO loop, adding n to the index; the loop ends when the index crosses the limit.
26,( x -- )Compile x into the next cell of the dictionary.
27-( n1 n2 -- n3 )Subtract: n1 minus n2.
28-!( n addr -- )Subtract n from the cell at addr.
29-->( -- )Go on loading with the next block; only in a block being loaded.
30-ROT( x1 x2 x3 -- x3 x1 x2 )Rotate the top three values the other way from ROT.
31-TRAILING( baddr u1 -- baddr u2 )The string without its trailing blanks.
32.( n -- )Print n in the current BASE, then a blank.
33.R( n width -- )Print n right-justified in a field of width characters.
34.S( -- )Print the stack's depth and every value on it, the stack unchanged.
35/( n1 n2 -- n3 )Divide: the quotient of n1 by n2. Division by zero is error 11.
36/MOD( n1 n2 -- n3 n4 )Divide n1 by n2: n3 the remainder, n4 the quotient.
370<( n -- flag )True if n is negative.
380<>( x -- flag )True if x is not zero.
390=( x -- flag )True if x is zero.
400>( n -- flag )True if n is greater than zero.
411+( n -- n+1 )Add one.
421-( n -- n-1 )Subtract one.
432!( x1 x2 addr -- )Store the cell pair at addr: x2 at addr, x1 in the next cell.
442*( n -- 2n )Shift left one bit.
452+( n -- n+2 )Add two.
462,( x1 x2 -- )Compile the cell pair into the dictionary.
472-( n -- n-2 )Subtract two.
482/( n -- n/2 )Shift right one bit, keeping the sign.
492>R( x1 x2 -- ) ( R: -- x1 x2 )Compile-only: move the pair to the return stack.
502@( addr -- x1 x2 )Fetch the cell pair at addr.
512DROP( x1 x2 -- )Drop the top pair.
522DUP( x1 x2 -- x1 x2 x1 x2 )Copy the top pair.
532OVER( x1 x2 x3 x4 -- x1 x2 x3 x4 x1 x2 )Copy the second pair to the top.
542R>( -- x1 x2 ) ( R: x1 x2 -- )Compile-only: move the pair from the return stack.
552R@( -- x1 x2 ) ( R: x1 x2 -- x1 x2 )Compile-only: copy the pair on the return stack.
562ROT( x1 x2 x3 x4 x5 x6 -- x3 x4 x5 x6 x1 x2 )Rotate the top three pairs.
572SWAP( x1 x2 x3 x4 -- x3 x4 x1 x2 )Exchange the top two pairs.
5879-STANDARD( -- )Run to be sure a FORTH-79 system is there; it is.
59:( -- ): xxx: start a definition of xxx; it cannot be found until ; ends it.
60;( -- )Compile-only: end the definition -- compile its return, let it be found, stop compiling.
61<( n1 n2 -- flag )True if n1 is less than n2.
62<#( -- )Begin pictured numeric output.
63<=( n1 n2 -- flag )True if n1 is less than or equal to n2.
64<>( x1 x2 -- flag )True if x1 and x2 differ.
65=( x1 x2 -- flag )True if x1 equals x2.
66>( n1 n2 -- flag )True if n1 is greater than n2.
67>=( n1 n2 -- flag )True if n1 is greater than or equal to n2.
68>BODY( xt -- addr )The parameter field of the word whose execution token is xt.
69>IN( -- addr )Variable: the offset in the input buffer of the next character to read.
70>LINK( xt -- lfa )The link field of the entry whose execution token is xt.
71>NAME( xt -- nfa )The name field of the entry whose execution token is xt.
72>R( x -- ) ( R: -- x )Compile-only: move x to the return stack.
73?( addr -- )Print the number in the cell at addr.
74?DO( limit index -- )Compile-only: begin a DO loop that is skipped when limit equals index.
75?DUP( x -- x x | 0 )Copy x if it is not zero.
76?TERMINAL( -- flag )True if a key has been pressed and is waiting.
77@( addr -- x )Fetch the cell at addr.
78ABORT( -- )Empty the data and return stacks, set execution mode, return control to the terminal.
79ABS( n -- u )The absolute value.
80ACL-ALLOW!( flag xt -- )Set the word's allow flag (the word-level ACL); nothing on a pinned word.
81ACL-ALLOW@( xt -- flag )The word's allow flag.
82ACL-HEAT@( xt -- heat )How often the word has been used: its heat counter.
83ACL-HOOK( -- addr )Variable: the execution token of the ACL recheck word, or 0 for none.
84ACL-INHERIT( src dst -- )dst takes src's ACL mode; it is not pinned, its TTL is 0.
85ACL-INIT-PRIMITIVES( -- )Set every word in every vocabulary to its starting ACL fields.
86ACL-MODE!( mode xt -- )Set the word's ACL mode; nothing on a pinned word.
87ACL-MODE@( xt -- mode )The word's ACL mode.
88ACL-PIN( xt -- )Pin the word: its ACL fields can no longer be changed. One-way.
89ACL-PINNED?( xt -- flag )True if the word is pinned.
90ACL-TTL!( n xt -- )Set the word's ACL time-to-live (0 to 65535); nothing on a pinned word.
91ACL-TTL@( xt -- n )The word's ACL time-to-live.
92ACL-WORD-ID( xt -- n )A number for the word that never changes: its address.
93AGAIN( -- )Compile-only: end a BEGIN loop that repeats for ever.
94ALIGN( -- )Align the dictionary pointer to the next cell.
95ALLOT( n -- )Reserve n cells of dictionary space.
96AND( x1 x2 -- x3 )Bitwise and.
97AWAIT( node -- how )Wait for the node's word on how its text ended: 0 QUIT, 1 completed, otherwise an error.
98BASE( -- addr )Variable: the number base for conversion in and out.
99BEGIN( -- )Compile-only: mark the start of a loop (UNTIL, WHILE ... REPEAT, AGAIN).
100BL( -- c )Constant: the blank character, 32.
101BLANK( baddr u -- )Fill u bytes from baddr with blanks.
102BLK( -- addr )Variable: the block being interpreted, or 0 for the terminal.
103BLOCK( n -- baddr )A buffer holding block n, read from storage if it is not already in one.
104BUFFER( n -- baddr )A buffer assigned to block n, not read from storage.
105BYE( -- )A cold restart of the machine (the kernel's word).
106C!( c baddr -- )Store the byte c at baddr.
107C,( c -- )Compile the byte c into the dictionary.
108C@( baddr -- c )Fetch the byte at baddr.
109CASE( -- )Compile-only: begin a CASE ... OF ... ENDOF ... ENDCASE selection.
110CELLS( n1 -- n2 )n1 cells, in address units.
111CFA( pfa -- cfa )The code field address from the parameter field address.
112CMOVE( baddr1 baddr2 u -- )Copy u bytes from baddr1 to baddr2, lowest first.
113CMOVE>( baddr1 baddr2 u -- )Copy u bytes from baddr1 to baddr2, highest first (for overlapping moves up).
114COLD( -- )Return the system to what it was when its capsules had just been loaded.
115COMPARE( baddr1 u1 baddr2 u2 -- n )Compare two strings: 0 if equal, -1 if the first is lower, 1 if higher.
116COMPILE( -- )COMPILE xxx: when the word containing this runs, compile xxx.
117CONSTANT( n -- )CONSTANT xxx: define xxx, which leaves n.
118CONTEXT( -- addr )Variable: the vocabulary searched first.
119CONVERT( d1 baddr1 -- d2 baddr2 )Convert the digits from baddr1+1 into d1 in BASE; baddr2 is the first character that is not a digit.
120COUNT( baddr1 -- baddr2 u )From a counted string: its first character's address and its length.
121CR( -- )Print a new line.
122CREATE( -- )CREATE xxx: an entry whose word leaves the address of its parameter field.
123CURRENT( -- addr )Variable: the vocabulary new definitions go into.
124D+( d1 d2 -- d3 )Add two double-cell numbers.
125D-( d1 d2 -- d3 )Subtract d2 from d1.
126D.( d -- )Print the double-cell number d, then a blank.
127D.R( d width -- )Print d right-justified in a field of width characters.
128D0<( d -- flag )True if d is negative.
129D0=( d -- flag )True if d is zero.
130D2*( d1 -- d2 )Shift d1 left one bit.
131D2/( d1 -- d2 )Shift d1 right one bit, keeping the sign.
132D<( d1 d2 -- flag )True if d1 is less than d2.
133D=( d1 d2 -- flag )True if d1 equals d2.
134DABS( d -- ud )The absolute value of d.
135DECIMAL( -- )Set BASE to ten.
136DEFAULT-ROUTE( port -- )The port, by its number, leads toward every node this node has not been told of.
137DEFER( -- )DEFER xxx: define xxx, whose action is set later by IS; run unset, it is error 15.
138DEFER@( -- xt )DEFER@ xxx: the execution token xxx runs now; compiled when compiling.
139DEFINITIONS( -- )New definitions go into the CONTEXT vocabulary from now on.
140DEPTH( -- n )The number of values on the stack before DEPTH.
141DMAX( d1 d2 -- d3 )The greater of two doubles.
142DMIN( d1 d2 -- d3 )The lesser of two doubles.
143DNEGATE( d -- -d )Negate a double-cell number.
144DO( limit index -- )Compile-only: begin a counted loop, ended by LOOP or +LOOP.
145DOES>( -- )Compile-only: in a defining word, what the words it defines do, with their parameter field's address on the stack.
146DROP( x -- )Drop the top value.
147DUMP( baddr u -- )Print u bytes from baddr in the current BASE, with their addresses.
148DUP( x -- x x )Copy the top value.
149ELSE( -- )Compile-only: the other branch of IF ... ELSE ... THEN.
150EMIT( c -- )Print the character c.
151EMPTY-BUFFERS( -- )Forget what is in the block buffers; nothing is written.
152ENCLOSE( baddr c -- baddr n1 n2 n3 )Find a word delimited by c in the string at baddr: n1 its start, n2 its end, n3 the offset after the delimiter.
153ENDCASE( x -- )Compile-only: end a CASE selection, dropping the value if no OF matched.
154ENDOF( -- )Compile-only: end an OF branch; go on after ENDCASE.
155ERASE( baddr u -- )Fill u bytes from baddr with zeros.
156EXECUTE( xt -- )Run the word whose execution token is xt.
157EXIT( -- )Compile-only: return from the definition at this point.
158EXPECT( baddr n -- )Read up to n characters, or a line, from the terminal into baddr; SPAN holds how many.
159FALSE( -- 0 )Constant: the false flag, zero.
160FENCE( -- addr )Variable: FORGET will not remove anything below the address it holds.
161FILL( baddr u c -- )Fill u bytes from baddr with the byte c.
162FIND( -- xt | 0 )FIND xxx: the execution token of xxx, from the input stream, or 0 if it is not found.
163FLUSH( -- )Write every changed block (SAVE-BUFFERS).
164FORGET( -- )FORGET xxx: remove xxx and every word defined after it, never below FENCE.
165FORTH( -- )Make FORTH, the primary vocabulary, the CONTEXT vocabulary.
166GONE( n node -- )Tell the node that node n is gone; it acts on that only if this node is its centre.
167HERE( -- addr )The address of the next free dictionary cell.
168HEX( -- )Set BASE to sixteen.
169HIDDEN( -- )Hide the newest entry: it cannot be found until revealed.
170HOLD( c -- )Pictured output: put the character c in front of the string being built.
171I( -- n )Compile-only: the index of the innermost DO loop.
172IF( flag -- )Compile-only: run what follows if flag is not zero, else skip to ELSE or THEN.
173IMMEDIATE( -- )Make the newest definition run when compiling instead of being compiled.
174INTERPRET( -- )Interpret words from the input stream until it is exhausted.
175INVERT( x1 -- x2 )Invert every bit.
176IS( xt -- )IS xxx: make the deferred word xxx run xt; compiled when compiling.
177J( -- n )Compile-only: the index of the next outer DO loop.
178KERNEL-WORD( n -- )KERNEL-WORD xxx: define xxx, a word that asks the kernel to do request n (as BYE, BLOCK).
179KEY( -- c )Wait for a key and leave its character.
180LATEST( -- xt )The newest entry of the CURRENT vocabulary.
181LEAVE( -- )Compile-only: leave the innermost DO loop at its next LOOP or +LOOP.
182LFA( xt -- addr )The link field of the entry (>LINK).
183LINK>( addr -- xt )The entry that a link field points to.
184LIST( n -- )Print block n as 16 lines of 64 characters; SCR holds n.
185LITERAL( x -- )If compiling, compile x as a literal.
186LOAD( n -- )Interpret block n, then go on with what follows.
187LOG-DEBUG( -- 4 )Constant: the debug log level.
188LOG-DEBUG-STR( baddr u -- )Log the string at the debug level.
189LOG-ERROR( -- 0 )Constant: the error log level.
190LOG-ERROR-STR( baddr u -- )Log the string at the error level.
191LOG-INFO( -- 2 )Constant: the info log level.
192LOG-INFO-STR( baddr u -- )Log the string at the info level.
193LOG-LEVEL!( n -- )Set the log level, held to 0 .. 4: messages at or below it are printed.
194LOG-LEVEL@( -- n )The log level.
195LOG-TEST( -- 3 )Constant: the test log level.
196LOG-TEST-STR( baddr u -- )Log the string at the test level.
197LOG-WARN( -- 1 )Constant: the warning log level.
198LOG-WARN-STR( baddr u -- )Log the string at the warning level.
199LOOP( -- )Compile-only: end a DO loop, adding one to the index.
200LSHIFT( x1 u -- x2 )Shift x1 left u bits; a count that is negative or a cell wide or more is error 9.
201M*( n1 n2 -- d )Multiply: the double-cell product, signed.
202M+( d1 n -- d2 )Add a single-cell number to a double.
203M-( d1 n -- d2 )Subtract a single-cell number from a double.
204M/MOD( d n1 -- n2 n3 )Divide d by n1: n2 the remainder, n3 the quotient.
205MAX( n1 n2 -- n3 )The greater of two numbers.
206MIN( n1 n2 -- n3 )The lesser of two numbers.
207MINT-ZUSE( -- )Mint the real Zuse onto a second stick: asks for the stick, writes nothing until YES (the kernel's word; STICK.md 6a).
208MOD( n1 n2 -- n3 )The remainder of n1 divided by n2.
209MOVE( addr1 addr2 n -- )Copy n cells from addr1 to addr2, the first cell first.
210NAME>( baddr -- xt )The entry whose name field is at baddr.
211NEGATE( n -- -n )Negate.
212NEIGHBOUR( node port -- )Record the node on the other end of the port, by its number; 0: none.
213NFA( xt -- baddr )The name field of the entry (>NAME).
214NO-ROUTE( node -- )Forget the way to that node, if one is known.
215NO-ROUTES( -- )Forget every way to every node: for when the wiring has changed.
216NODE-ERROR( -- addr )Variable: storing a non-zero code raises that error -- the word goes no further and the line ends with ERROR.
217NOP( -- )Do nothing.
218NOT( flag1 -- flag2 )True if flag1 is zero (as 0=).
219NUMBER( baddr -- d )Convert the counted string at baddr to a double; what is not a number gives 0 and sets NODE-ERROR.
220OCTAL( -- )Set BASE to eight.
221OF( x1 x2 -- | x1 )Compile-only: in CASE, run the branch to ENDOF if x1 equals x2.
222OR( x1 x2 -- x3 )Bitwise or.
223ORDER( -- )Print where names are looked for, and where new ones go.
224OVER( x1 x2 -- x1 x2 x1 )Copy the second value to the top.
225PAD( -- baddr )A scratch area for text.
226PAGE( -- )Clear the screen and put the cursor at the top.
227PFA( xt -- addr )The parameter field of the entry.
228PICK( n -- x )A copy of the n-th value, not counting n itself: 1 PICK is DUP.
229PORT!( w port -- )Write a cell to the port, by its number; waits until the neighbour reads it.
230Q.*( q1 q2 -- q3 )Multiply two Q48.16 fixed-point numbers.
231Q.+( q1 q2 -- q3 )Add two Q48.16 numbers (D+).
232Q.-( q1 q2 -- q3 )Subtract q2 from q1 (D-).
233Q./( q1 q2 -- q3 )Divide q1 by q2; by zero is error 11.
234Q.0( -- q )The Q48.16 zero, 0 0.
235Q.0=( q -- flag )True if q is zero.
236Q.1( -- q )The Q48.16 one, 65536 0.
237Q.<( q1 q2 -- flag )True if q1 is less than q2.
238Q.=( q1 q2 -- flag )True if q1 equals q2.
239Q.>( q1 q2 -- flag )True if q1 is greater than q2.
240Q.ABS( q1 -- q2 )The absolute value.
241Q.COS( q1 -- q2 )The cosine of q1, in radians.
242Q.EXP( q1 -- q2 )e to the power q1.
243Q.FROM-INT( n -- q )The integer n as a Q48.16 number.
244Q.LOG( q1 -- q2 )The natural logarithm of q1; not above zero is error 12.
245Q.MAX( q1 q2 -- q3 )The greater of two Q48.16 numbers.
246Q.MIN( q1 q2 -- q3 )The lesser of two Q48.16 numbers.
247Q.NEG( q1 -- q2 )Negate.
248Q.PRINT( q -- )Print q: the integer part, a point, five digits, a blank; always in decimal.
249Q.SCALE( -- q )The scale of the fraction, 65536 0 (1.0).
250Q.SIN( q1 -- q2 )The sine of q1, in radians.
251Q.SQRT( q1 -- q2 )The square root of q1; below zero is error 12.
252Q.TO-INT( q -- n )The integer part of q.
253QUERY( -- )Read up to 80 characters, or a line, from the terminal into TIB; set >IN to 0.
254QUIT( -- )Empty the return stack, set execution mode and go back to the terminal, without a message.
255R>( -- x ) ( R: x -- )Compile-only: move the top of the return stack to the data stack.
256R@( -- x ) ( R: x -- x )Compile-only: copy the top of the return stack.
257REPEAT( -- )Compile-only: end a BEGIN ... WHILE ... REPEAT loop, jumping back to BEGIN.
258ROLL( n -- )Move the n-th value, not counting n itself, to the top: 2 ROLL is ROT.
259ROT( x1 x2 x3 -- x2 x3 x1 )Rotate the third value to the top.
260ROUTE( node port -- )The port, by its number, leads toward that node.
261RSHIFT( x1 u -- x2 )Shift x1 right u bits, filling with zeros; a count that is negative or a cell wide or more is error 9.
262S>D( n -- d )Extend n to a double-cell number, keeping its sign.
263SAVE-BUFFERS( -- )Write every block that has been UPDATEd.
264SCAN( baddr u c -- baddr' u' )Skip to the first byte c in the string: what is left of it from there.
265SCR( -- addr )Variable: the block most recently LISTed.
266SEARCH( baddr1 u1 baddr2 u2 -- baddr3 u3 flag )Look for the second string in the first: if found, true and the first from there on.
267SEND( baddr u node -- )Send the node u characters of text to interpret, by the way this node knows to it.
268SEND-ON( baddr u node port -- )Send the node text to interpret by the port named, whatever ways are known.
269SIGN( n -- )Pictured output: put a minus sign in front if n is negative.
270SKIP( baddr u c -- baddr' u' )Skip the leading bytes c of the string: what is left of it.
271SMUDGE( -- )Toggle the newest entry's hidden flag.
272SOURCE( -- baddr u )The input buffer and how much of it is in use.
273SPACE( -- )Print a blank.
274SPACES( n -- )Print n blanks.
275SPAN( -- addr )Variable: how many characters the last EXPECT read.
276STATE( -- addr )Variable: not zero while compiling.
277SWAP( x1 x2 -- x2 x1 )Exchange the top two values.
278THEN( -- )Compile-only: end an IF ... THEN or IF ... ELSE ... THEN.
279THRU( first last -- )LOAD each block from first to last.
280TIB( -- baddr )The terminal input buffer.
281TRAVERSE( baddr n -- baddr' )Step across a name field: for n > 0 from its count byte to its last byte, for n < 0 back.
282TRUE( -- -1 )Constant: the true flag, all bits set.
283TYPE( baddr u -- )Print the u characters at baddr.
284U*( u1 u2 -- ud )The unsigned double-cell product (forth79.4th).
285U.( u -- )Print u, unsigned, then a blank.
286U.R( u width -- )Print u, unsigned, right-justified in a field of width characters.
287U/MOD( ud u1 -- u2 u3 )Unsigned divide: u2 the remainder, u3 the quotient; by zero is error 11 (forth79.4th).
288U<( u1 u2 -- flag )True if u1 is less than u2, unsigned.
289U>( u1 u2 -- flag )True if u1 is greater than u2, unsigned.
290UM*( u1 u2 -- ud )Multiply, unsigned: the double-cell product.
291UNLOOP( -- )Compile-only: discard the innermost DO loop's index and limit, before an EXIT from inside it.
292UNTIL( flag -- )Compile-only: end a BEGIN loop, jumping back to BEGIN while flag is zero.
293UPDATE( -- )Mark the block most recently asked for as changed, so it is written.
294VARIABLE( -- )VARIABLE xxx: define xxx, which leaves the address of one cell.
295VERSION( -- )Print which system this is, and its cell width.
296VLIST( -- )List the names in the CONTEXT vocabulary (WORDS).
297VOCABULARY( -- )VOCABULARY xxx: define a vocabulary xxx; running it makes it the CONTEXT vocabulary.
298WARM( -- )Print the system's message and ABORT: both stacks emptied, the prompt.
299WHILE( flag -- )Compile-only: in BEGIN ... WHILE ... REPEAT, leave the loop if flag is zero.
300WITHIN( n low high -- flag )True if low <= n < high.
301WORD( c -- baddr )Read the next word from the input stream, delimited by c, as a counted string.
302WORDS( -- )List the names in the CONTEXT vocabulary, the newest first.
303XOR( x1 x2 -- x3 )Bitwise exclusive or.
304[( -- )Stop compiling: interpret what follows; immediate.
305[']( -- xt )Compile-only: ['] xxx compiles xxx's execution token as a literal.
306[COMPILE]( -- )Compile-only: [COMPILE] xxx compiles xxx even though it is immediate.
307[LITERAL]( x -- )Another name for LITERAL, as v3 has it.
308\( -- )\ text: a comment to the end of the line; immediate.
309]( -- )Start compiling what follows.