From 944c4d8f5d2471417f1044cd7ec86b66df56189c Mon Sep 17 00:00:00 2001 From: crc Date: Wed, 23 Jan 2019 03:02:20 +0000 Subject: [PATCH] more work on the glossary tool FossilOrigin-Name: 466c7ec0a96f5324d44f08f54915839442d44cd8da768520d8c78f76e4fd4bcb --- doc/Glossary.txt | 854 +++++++++++++++++++++++------------------------ glossary.forth | 66 ++-- 2 files changed, 463 insertions(+), 457 deletions(-) diff --git a/doc/Glossary.txt b/doc/Glossary.txt index 2c9b920..a002074 100644 --- a/doc/Glossary.txt +++ b/doc/Glossary.txt @@ -13,7 +13,7 @@ Example #1: #2 #6 * #-1 #100 * ----------------------------------------------------------------- +------------------------------------------------------------------------ + @@ -29,7 +29,7 @@ Example #1: #1 #2 + ----------------------------------------------------------------- +------------------------------------------------------------------------ , @@ -45,7 +45,7 @@ Example #1: $a , $b , $c , #0 , ----------------------------------------------------------------- +------------------------------------------------------------------------ ---reveal--- @@ -56,7 +56,7 @@ Example #1: Switch to the exposed (public) portion of a lexical namespace. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ -eq? @@ -73,7 +73,7 @@ Example #1: #1 #2 -eq? $a $b -eq? ----------------------------------------------------------------- +------------------------------------------------------------------------ -if @@ -84,7 +84,7 @@ Example #1: Execute the quotation if the flag is `FALSE`. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ -if; @@ -95,7 +95,7 @@ Class: class:word | Namespace: global | Interface Layer: all Execute the quotation if the flag is `FALSE`. If false, also exit the word. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ / @@ -106,7 +106,7 @@ Class: class:word | Namespace: global | Interface Layer: all Divide `m` by `n` and return the result. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ /mod @@ -117,7 +117,7 @@ Class: class:word | Namespace: global | Interface Layer: all Divide `n` by `m` and return the result and remainder. Class: class:primitive | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ 0; @@ -128,7 +128,7 @@ Class: class:primitive | Namespace: global | Interface Layer: all If `n` is zero, drop `n` and exit the current word. If non-zero, leave `n` alone and allow execution to continue. Class: class:macro | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ; @@ -139,7 +139,7 @@ Class: class:macro | Namespace: global | Interface Layer: all End the current definition. Class: class:macro | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ; @@ -156,7 +156,7 @@ Example #1: #2 #1 - #-10 #3 - ----------------------------------------------------------------- +------------------------------------------------------------------------ ?dup @@ -173,7 +173,7 @@ Example #1: #1 ?dup #0 ?dup ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:ACK @@ -184,7 +184,7 @@ ASCII:ACK Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:BEL @@ -195,7 +195,7 @@ ASCII:BEL Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:BS @@ -206,7 +206,7 @@ ASCII:BS Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:CAN @@ -217,7 +217,7 @@ ASCII:CAN Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:CR @@ -228,7 +228,7 @@ ASCII:CR Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:DC1 @@ -239,7 +239,7 @@ ASCII:DC1 Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:DC2 @@ -250,7 +250,7 @@ ASCII:DC2 Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:DC3 @@ -261,7 +261,7 @@ ASCII:DC3 Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:DC4 @@ -272,7 +272,7 @@ ASCII:DC4 Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:DEL @@ -283,7 +283,7 @@ ASCII:DEL Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:DLE @@ -294,7 +294,7 @@ ASCII:DLE Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:EM @@ -305,7 +305,7 @@ ASCII:EM Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:ENQ @@ -316,7 +316,7 @@ ASCII:ENQ Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:EOT @@ -327,7 +327,7 @@ ASCII:EOT Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:ESC @@ -338,7 +338,7 @@ ASCII:ESC Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:ETB @@ -349,7 +349,7 @@ ASCII:ETB Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:ETX @@ -360,7 +360,7 @@ ASCII:ETX Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:FF @@ -371,7 +371,7 @@ ASCII:FF Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:FS @@ -382,7 +382,7 @@ ASCII:FS Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:GS @@ -393,7 +393,7 @@ ASCII:GS Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:HT @@ -404,7 +404,7 @@ ASCII:HT Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:LF @@ -415,7 +415,7 @@ ASCII:LF Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:NAK @@ -426,7 +426,7 @@ ASCII:NAK Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:NUL @@ -437,7 +437,7 @@ ASCII:NUL Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:RS @@ -448,7 +448,7 @@ ASCII:RS Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:SI @@ -459,7 +459,7 @@ ASCII:SI Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:SO @@ -470,7 +470,7 @@ ASCII:SO Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:SOH @@ -481,7 +481,7 @@ ASCII:SOH Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:SPACE @@ -492,7 +492,7 @@ ASCII:SPACE Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:STX @@ -503,7 +503,7 @@ ASCII:STX Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:SUB @@ -514,7 +514,7 @@ ASCII:SUB Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:SYN @@ -525,7 +525,7 @@ ASCII:SYN Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:US @@ -536,7 +536,7 @@ ASCII:US Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ASCII:VT @@ -547,7 +547,7 @@ ASCII:VT Constant. Refers to specific ASCII code. Class: class:data | Namespace: ASCII | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ Compiler @@ -558,7 +558,7 @@ Compiler Variable. Holds the compiler state. If TRUE, the compiler is active. If FALSE, it is not. Class: class:data | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ Dictionary @@ -569,7 +569,7 @@ Dictionary Variable. Holds a pointer to the most recent dictionary header. Class: class:data | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ EOM @@ -580,7 +580,7 @@ EOM Constant. Returns the last addressable memory address. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ FALSE @@ -591,7 +591,7 @@ FALSE Returns `0`, the value used to indicate a FALSE result. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ FREE @@ -602,7 +602,7 @@ FREE Returns the number of cells available to your application. This is the amount of memory, less the already consumed portion and buffers mapped for RETRO's internal use. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ Heap @@ -613,7 +613,7 @@ Heap Variable. Holds the address of the next available cell. Class: class:data | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ I @@ -624,7 +624,7 @@ I Access the loop index for the current loop. (For loops made using `times`) Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ J @@ -635,7 +635,7 @@ J Access the parent loop index for the current loop. (For loops made using `times`) Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ K @@ -646,7 +646,7 @@ K Access the grandparent loop index for the current loop. (For loops made using `times`) Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ RewriteUnderscores @@ -657,7 +657,7 @@ RewriteUnderscores Variable. When set to `TRUE`, RETRO will replace underscores in strings with spaces. When `FALSE`, RETRO does not. Class: class:data | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ STRINGS @@ -668,7 +668,7 @@ STRINGS Return the address of the start of the temporary string pool. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ScopeList @@ -679,7 +679,7 @@ ScopeList Variable. This holds some information used by `{{` and `}}`. Class: class:data | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ TRUE @@ -690,7 +690,7 @@ TRUE Returns `-1`, the value used to indicate a TRUE result. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ TempStringMax @@ -701,7 +701,7 @@ TempStringMax Variable. Holds the maximum length of a temporary string. Class: class:data | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ TempStrings @@ -712,7 +712,7 @@ TempStrings Variable. Holds the number of temporary strings. Class: class:data | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ Version @@ -723,7 +723,7 @@ Version Variable. This stores the version number. Class: class:data | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ [ @@ -734,7 +734,7 @@ Class: class:data | Namespace: global | Interface Layer: all Begin a quotation. Class: class:macro | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ] @@ -745,7 +745,7 @@ Class: class:macro | Namespace: global | Interface Layer: all End a quotation. Class: class:macro | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ again @@ -756,7 +756,7 @@ again Close an unconditional loop. Branches back to the prior `repeat`. Class: class:macro | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ allot @@ -772,7 +772,7 @@ Example #1: 'Buffer d:create #100 allot ----------------------------------------------------------------- +------------------------------------------------------------------------ and @@ -783,7 +783,7 @@ and Perform a bitwise AND operation between the two provided values. Class: class:primitive | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ as{ @@ -794,7 +794,7 @@ as{ Begin an assembly section. Class: class:macro | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ banner @@ -805,7 +805,7 @@ banner Display a welcome message on startup. Class: class:word | Namespace: global | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ bi @@ -821,7 +821,7 @@ Example #1: #100 [ #10 * ] [ #10 - ] bi ----------------------------------------------------------------- +------------------------------------------------------------------------ bi* @@ -837,7 +837,7 @@ Example #1: #10 #20 [ #2 * ] [ #10 / ] bi* ----------------------------------------------------------------- +------------------------------------------------------------------------ bi@ @@ -853,7 +853,7 @@ Example #1: #10 #20 [ #3 * ] bi@ ----------------------------------------------------------------- +------------------------------------------------------------------------ buffer:add @@ -864,7 +864,7 @@ buffer:add Append a value to the current buffer. Class: class:word | Namespace: buffer | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ buffer:empty @@ -875,7 +875,7 @@ buffer:empty Reset the current buffer to an empty state. Class: class:word | Namespace: buffer | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ buffer:end @@ -886,7 +886,7 @@ buffer:end Return a pointer to the current end of the active buffer. Class: class:word | Namespace: buffer | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ buffer:get @@ -897,7 +897,7 @@ buffer:get Remove the last value from the current buffer. Class: class:word | Namespace: buffer | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ buffer:preserve @@ -908,7 +908,7 @@ buffer:preserve Save and restore the current buffer before and after executing the specified quote. Class: class:word | Namespace: buffer | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ buffer:set @@ -919,7 +919,7 @@ buffer:set Assign a new buffer as the current one. Class: class:word | Namespace: buffer | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ buffer:size @@ -930,7 +930,7 @@ buffer:size Return the number of cells in the buffer. Class: class:word | Namespace: buffer | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ buffer:start @@ -941,7 +941,7 @@ buffer:start Return the start address of the current buffer. Class: class:word | Namespace: buffer | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ bye @@ -952,7 +952,7 @@ bye Exit RETRO. Class: class:word | Namespace: global | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ c:-consonant? @@ -963,7 +963,7 @@ c:-consonant? Return TRUE if character is a not consonant or FALSE otherwise. Class: class:word | Namespace: c | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ c:-digit? @@ -974,7 +974,7 @@ c:-digit? Return TRUE if character is a not numeric digit or FALSE otherwise. Class: class:word | Namespace: c | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ c:-lowercase? @@ -985,7 +985,7 @@ c:-lowercase? Return TRUE if character is not lowercase or FALSE otherwise. Class: class:word | Namespace: c | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ c:-uppercase? @@ -996,7 +996,7 @@ c:-uppercase? Return TRUE if character is not uppercase or FALSE otherwise. Class: class:word | Namespace: c | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ c:-visible? @@ -1007,7 +1007,7 @@ c:-visible? Return TRUE if character is not printable or FALSE otherwise. Class: class:word | Namespace: c | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ c:-vowel? @@ -1018,7 +1018,7 @@ c:-vowel? Return TRUE if character is not a vowel or FALSE otherwise. Class: class:word | Namespace: c | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ c:-whitespace? @@ -1029,7 +1029,7 @@ c:-whitespace? Return TRUE if character is not whitespace, or FALSE otherwise. Class: class:word | Namespace: c | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ c:consonant? @@ -1040,7 +1040,7 @@ c:consonant? Return TRUE if character is a consonant or FALSE otherwise. Class: class:word | Namespace: c | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ c:digit? @@ -1051,7 +1051,7 @@ c:digit? Return TRUE if character is a numeric digit or FALSE otherwise. Class: class:word | Namespace: c | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ c:get @@ -1062,7 +1062,7 @@ c:get Read a single keypress. Class: class:word | Namespace: global | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ c:letter? @@ -1073,7 +1073,7 @@ c:letter? Return TRUE if character is an ASCII letter or FALSE otherwise. Class: class:word | Namespace: c | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ c:lowercase? @@ -1084,7 +1084,7 @@ c:lowercase? Return TRUE if character is lowercase or FALSE otherwise. Class: class:word | Namespace: c | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ c:put @@ -1095,7 +1095,7 @@ c:put Display a single character. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ c:to-lower @@ -1106,7 +1106,7 @@ c:to-lower Convert character to lowercase equivalent. Class: class:word | Namespace: c | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ c:to-number @@ -1117,7 +1117,7 @@ c:to-number Convert an ASCII digit character into the corresponding decimal value Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ c:to-string @@ -1128,7 +1128,7 @@ c:to-string Convert character into a string. Class: class:word | Namespace: c | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ c:to-upper @@ -1139,7 +1139,7 @@ c:to-upper Convert character to uppercase equivalent. Class: class:word | Namespace: c | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ c:toggle-case @@ -1150,7 +1150,7 @@ c:toggle-case Convert an ASCII character to the opposite case. Class: class:word | Namespace: c | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ c:uppercase? @@ -1161,7 +1161,7 @@ c:uppercase? Return TRUE if character is uppercase or FALSE otherwise. Class: class:word | Namespace: c | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ c:visible? @@ -1172,7 +1172,7 @@ c:visible? Return TRUE if character is printable or FALSE otherwise. Class: class:word | Namespace: c | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ c:vowel? @@ -1183,7 +1183,7 @@ c:vowel? Return TRUE if character is a vowel or FALSE otherwise. Class: class:word | Namespace: c | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ c:whitespace? @@ -1194,7 +1194,7 @@ c:whitespace? Return TRUE if character is whitespace, or FALSE otherwise. Class: class:word | Namespace: c | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ call @@ -1205,7 +1205,7 @@ call Call a function. Class: class:primitive | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ case @@ -1216,7 +1216,7 @@ case If `n` is equal to `m`, drop both and execute the specified quote before exiting the calling word. If not equal, leave `n` on the stack and let execution continue. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ choose @@ -1227,7 +1227,7 @@ choose Execute q1 if the flag is true (-1) or q2 if the flag is false (0). Only these flags are valid when using `choose`. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ class:data @@ -1244,7 +1244,7 @@ Compile Time: Compile the value or address as a literal into the current definition. Class: class:word | Namespace: class | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ class:macro @@ -1261,7 +1261,7 @@ Compile Time: Execute the function at the provided address. Class: class:word | Namespace: class | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ class:primitive @@ -1278,7 +1278,7 @@ Compile Time: Compile the machine code in the definiton into the current definition. Class: class:word | Namespace: class | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ class:word @@ -1295,7 +1295,7 @@ Compile Time: Compile a call to the specified address into the current definition. Class: class:word | Namespace: class | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ clock:day @@ -1306,7 +1306,7 @@ clock:day Return the current day. Class: class:word | Namespace: clock | Interface Layer: iOS ----------------------------------------------------------------- +------------------------------------------------------------------------ clock:hour @@ -1317,7 +1317,7 @@ clock:hour Return the current hour. Class: class:word | Namespace: clock | Interface Layer: iOS ----------------------------------------------------------------- +------------------------------------------------------------------------ clock:minute @@ -1328,7 +1328,7 @@ clock:minute Return the current minute. Class: class:word | Namespace: clock | Interface Layer: iOS ----------------------------------------------------------------- +------------------------------------------------------------------------ clock:month @@ -1339,7 +1339,7 @@ clock:month Return the current month. Class: class:word | Namespace: clock | Interface Layer: iOS ----------------------------------------------------------------- +------------------------------------------------------------------------ clock:second @@ -1350,7 +1350,7 @@ clock:second Return the current second. Class: class:word | Namespace: clock | Interface Layer: iOS ----------------------------------------------------------------- +------------------------------------------------------------------------ clock:year @@ -1361,7 +1361,7 @@ clock:year Return the current year. Class: class:word | Namespace: clock | Interface Layer: iOS ----------------------------------------------------------------- +------------------------------------------------------------------------ compile:call @@ -1372,7 +1372,7 @@ compile:call Compile a call to the specified address into the current definition. Class: class:word | Namespace: compile | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ compile:jump @@ -1383,7 +1383,7 @@ compile:jump Compile a jump to the specified address into the current definition. Class: class:word | Namespace: compile | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ compile:lit @@ -1394,7 +1394,7 @@ compile:lit Compile the code to push a number to the stack into the current definition. Class: class:word | Namespace: compile | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ compile:ret @@ -1405,7 +1405,7 @@ compile:ret Compile a return instruction into the current definition. Class: class:word | Namespace: compile | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ compiling? @@ -1416,7 +1416,7 @@ compiling? Return `TRUE` if compiler is on or `FALSE` otherwise. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ const @@ -1427,7 +1427,7 @@ const Create a constant returning the specified value. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ copy @@ -1438,7 +1438,7 @@ copy Copy `l` cells from memory at `s` to the memory at `d`. These should not overlap. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ curry @@ -1449,7 +1449,7 @@ curry Bind a value to a function and return a new quote that calls the bound action. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ d @@ -1460,7 +1460,7 @@ d Inline a numeric value to the current assembly segment. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ d:add-header @@ -1471,7 +1471,7 @@ d:add-header Create a header. Provide a string (s) for the name, a pointer to the class handler (a1) and a pointer to the word definition (a2) Generally this won't be used directly. Class: class:word | Namespace: d | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ d:class @@ -1482,7 +1482,7 @@ d:class Given a dictionary header, return the class field. Class: class:word | Namespace: d | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ d:create @@ -1493,7 +1493,7 @@ d:create Create a new dictionary header named the specified string. The new header will point to `here` and have a class of `class:data`. Class: class:word | Namespace: d | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ d:for-each @@ -1504,7 +1504,7 @@ d:for-each Execute the specified quote once for each header in the dictionary. Before running the quote, this also pushes a pointer to the header onto the stack. Class: class:word | Namespace: d | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ d:last @@ -1515,7 +1515,7 @@ d:last Return the most recent dictionary header. Class: class:word | Namespace: d | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ d:last @@ -1526,7 +1526,7 @@ d:last Return a pointer to the class field of the most recent dictionary header. Class: class:word | Namespace: d | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ d:last @@ -1537,7 +1537,7 @@ d:last Return a pointer to the name field of the most recent dictionary header. Class: class:word | Namespace: d | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ d:last @@ -1548,7 +1548,7 @@ d:last Return a pointer to the xt field of the most recent dictionary header. Class: class:word | Namespace: d | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ d:link @@ -1559,7 +1559,7 @@ d:link Given a dictionary header, return the link field. Class: class:word | Namespace: d | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ d:lookup @@ -1570,7 +1570,7 @@ d:lookup Lookup the specified name in the dictionary and return a pointer to its dictionary header. This returns zero if the word is not found. Class: class:word | Namespace: d | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ d:lookup-xt @@ -1581,7 +1581,7 @@ d:lookup-xt Lookup the specified address in the dictionary and return a pointer to its dictionary header. This returns zero if the word is not found. Class: class:word | Namespace: d | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ d:name @@ -1592,7 +1592,7 @@ d:name Given a dictionary header, return the name field. Class: class:word | Namespace: d | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ d:words @@ -1603,7 +1603,7 @@ d:words Display a list of all named items in the `Dictionary`. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ d:words-with @@ -1614,7 +1614,7 @@ d:words-with Display a list of all named items in the `Dictionary` that contain the provided substring. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ d:xt @@ -1625,7 +1625,7 @@ d:xt Given a dictionary header, return the xt field. Class: class:word | Namespace: d | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ data @@ -1636,7 +1636,7 @@ data Change the class of the most recently defined word to `class:data`. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ depth @@ -1647,7 +1647,7 @@ depth Return the number of items on the stack. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ dip @@ -1658,7 +1658,7 @@ dip Temporarily remove n from the stack, execute the quotation, and then restore n to the stack. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ does @@ -1669,7 +1669,7 @@ does Attach an action to the most recently created word. This is used in a manner similar to CREATE/DOES> in traditional Forth. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ drop @@ -1680,7 +1680,7 @@ drop Discard the top value on the stack. Class: class:primitive | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ drop-pair @@ -1691,7 +1691,7 @@ drop-pair Remove top two items on the stack. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ dump-stack @@ -1702,7 +1702,7 @@ dump-stack Display the items on the data stack. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ dup @@ -1713,7 +1713,7 @@ dup Duplicate the top item on the stack. Class: class:primitive | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ dup-pair @@ -1724,7 +1724,7 @@ dup-pair Duplicate the top two items on the stack. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ eq? @@ -1741,7 +1741,7 @@ Example #1: #1 #2 eq? $a $b eq? ----------------------------------------------------------------- +------------------------------------------------------------------------ err:notfound @@ -1752,7 +1752,7 @@ err:notfound Error handler. Called when a word is not found by `interpret`. Class: class:word | Namespace: err | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ f:* @@ -1768,7 +1768,7 @@ Example #1: .3.1415 .22 f:* ----------------------------------------------------------------- +------------------------------------------------------------------------ f:+ @@ -1784,7 +1784,7 @@ Example #1: .3.1 .22 f:+ ----------------------------------------------------------------- +------------------------------------------------------------------------ f:- @@ -1800,7 +1800,7 @@ Example #1: .22.3 .0.12 f:- ----------------------------------------------------------------- +------------------------------------------------------------------------ f:-INF @@ -1811,7 +1811,7 @@ f:-INF Return a value corresponding to negative infinity Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:-eq? @@ -1822,7 +1822,7 @@ f:-eq? Compare two floating point values for inequality. Returns `TRUE` if they are not equal or `FALSE` otherwise. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:-inf? @@ -1833,7 +1833,7 @@ f:-inf? Return `TRUE` if floating point value is -INF or `FALSE` otherwise. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:/ @@ -1844,7 +1844,7 @@ f:/ Divide floating point value F1 by F2. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:E @@ -1855,7 +1855,7 @@ f:E Return the floating point value for Euler's number. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:INF @@ -1866,7 +1866,7 @@ f:INF Return a value corresponding to positive infinity Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:NAN @@ -1877,7 +1877,7 @@ f:NAN Return a value corresponding to NaN Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:PI @@ -1888,7 +1888,7 @@ f:PI Return the floating point value for PI. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:abs @@ -1899,7 +1899,7 @@ f:abs Return the absolute value for a floating point value. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:acos @@ -1910,7 +1910,7 @@ f:acos Return the arc cosine of a floating point number. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:asin @@ -1921,7 +1921,7 @@ f:asin Return the arc sine of a floating point number. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:atan @@ -1932,7 +1932,7 @@ f:atan Return the arc tangent of a floating point number. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:ceiling @@ -1943,7 +1943,7 @@ f:ceiling Return the smallest integral value greater than or equal to the specified value. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:cos @@ -1954,7 +1954,7 @@ f:cos Return the cosine of a floating point number. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:depth @@ -1965,7 +1965,7 @@ f:depth Return the number of items on the floating point stack. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:drop @@ -1976,7 +1976,7 @@ f:drop Discard the top item on the floating point stack. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:dup @@ -1987,7 +1987,7 @@ f:dup Duplicate the top item on the floating point stack. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:eq? @@ -1998,7 +1998,7 @@ f:eq? Compare two floating point values for equality. Returns `TRUE` if they are equal or `FALSE` otherwise. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:fetch @@ -2009,7 +2009,7 @@ f:fetch {n/a} Class: class:word | Namespace: {n/a} | Interface Layer: {n/a} ----------------------------------------------------------------- +------------------------------------------------------------------------ f:floor @@ -2020,7 +2020,7 @@ f:floor Perform a mathmatical floor operation on the floating point value. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:gt? @@ -2031,7 +2031,7 @@ f:gt? Compare two floating point values for greater than. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:inf? @@ -2042,7 +2042,7 @@ f:inf? Return `TRUE` if floating point value is INF or `FALSE` otherwise. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:log @@ -2053,7 +2053,7 @@ f:log Return log(F1) for base F2 for floating point values. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:lt? @@ -2064,7 +2064,7 @@ f:lt? Compare two floating point values for less than. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:nan? @@ -2075,7 +2075,7 @@ f:nan? Return `TRUE` if floating point value is NaN or `FALSE` otherwise. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:negate @@ -2091,7 +2091,7 @@ Example #1: .3.1415 f:negate ----------------------------------------------------------------- +------------------------------------------------------------------------ f:negative? @@ -2102,7 +2102,7 @@ f:negative? Return `TRUE` if floating point value is negative or `FALSE` if not. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:over @@ -2113,7 +2113,7 @@ f:over Put a copy of the second floating point value over the top one. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:positive? @@ -2124,7 +2124,7 @@ f:positive? Return `TRUE` if floating point value is positive or `FALSE` otherwise. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:power @@ -2135,7 +2135,7 @@ f:power Return F1^F2 for floating point values. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:put @@ -2146,7 +2146,7 @@ f:put Display a floating point number. Class: class:word | Namespace: global | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:round @@ -2157,7 +2157,7 @@ f:round Round a floating point value. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:sin @@ -2168,7 +2168,7 @@ f:sin Return the sine of a floating point number. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:sqrt @@ -2179,7 +2179,7 @@ f:sqrt Return the square root of a floating point number. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:square @@ -2190,7 +2190,7 @@ f:square Return the square of a floating point number. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:store @@ -2201,7 +2201,7 @@ f:store {n/a} Class: class:word | Namespace: {n/a} | Interface Layer: {n/a} ----------------------------------------------------------------- +------------------------------------------------------------------------ f:swap @@ -2212,7 +2212,7 @@ f:swap Exchange the top and second items on the floating point stack. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:tan @@ -2223,7 +2223,7 @@ f:tan Return the tangent of a floating point number. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:to-number @@ -2234,7 +2234,7 @@ f:to-number Convert a floating point value into a number. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:to-string @@ -2245,7 +2245,7 @@ f:to-string Convert a floating point value into a string. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ f:to-u @@ -2256,7 +2256,7 @@ f:to-u {n/a} Class: class:word | Namespace: {n/a} | Interface Layer: {n/a} ----------------------------------------------------------------- +------------------------------------------------------------------------ f:tuck @@ -2267,7 +2267,7 @@ f:tuck Tuck a copy of the top floating point value under the second one. Class: class:word | Namespace: f | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ fetch @@ -2283,7 +2283,7 @@ Example #1: &Version fetch ----------------------------------------------------------------- +------------------------------------------------------------------------ fetch-next @@ -2294,7 +2294,7 @@ fetch-next Fetch the value stored at the specified address. Returns the next address and the value. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ file:A @@ -2305,7 +2305,7 @@ file:A Constant for opening a file in APPEND mode. Class: class:data | Namespace: file | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ file:R @@ -2316,7 +2316,7 @@ file:R Constant for opening a file in READ mode. Class: class:data | Namespace: file | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ file:R+ @@ -2327,7 +2327,7 @@ file:R+ Constant for opening a file in READ & WRITE mode. Class: class:data | Namespace: file | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ file:W @@ -2338,7 +2338,7 @@ file:W Constant for opening a file in WRITE mode. Class: class:data | Namespace: file | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ file:close @@ -2349,7 +2349,7 @@ file:close Given a file handle, close the file. Class: class:word | Namespace: file | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ file:delete @@ -2360,7 +2360,7 @@ file:delete Delete the named file. Class: class:word | Namespace: file | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ file:exists? @@ -2371,7 +2371,7 @@ file:exists? Given a file name, return `TRUE` if it exists or `FALSE` if it does not. Class: class:word | Namespace: file | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ file:flush @@ -2382,7 +2382,7 @@ file:flush Given a file handle, flush any pending writes to disk. Class: class:word | Namespace: file | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ file:for-each-line @@ -2393,7 +2393,7 @@ file:for-each-line Given a file name, open it and run the quote once for each line in the file. Class: class:word | Namespace: file | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ file:open @@ -2409,7 +2409,7 @@ Example #1: '/etc/motd file:R file:open ----------------------------------------------------------------- +------------------------------------------------------------------------ file:open @@ -2420,7 +2420,7 @@ file:open Open a file for reading & writing. Returns the size (NOS) and a file ID (TOS) Class: class:word | Namespace: file | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ file:open @@ -2431,7 +2431,7 @@ file:open Open a file for reading. Returns the size (NOS) and a file ID (TOS) Class: class:word | Namespace: file | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ file:open @@ -2442,7 +2442,7 @@ file:open Open a file for reading. Returns the file ID Class: class:word | Namespace: file | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ file:read @@ -2453,7 +2453,7 @@ file:read Given a file handle, read and return the next character in it. Class: class:word | Namespace: file | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ file:read-line @@ -2464,7 +2464,7 @@ file:read-line Given a file handle, read a line and return a pointer to it. Class: class:word | Namespace: file | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ file:seek @@ -2475,7 +2475,7 @@ file:seek Move the current offset into a file to the specified one. Class: class:word | Namespace: file | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ file:size @@ -2486,7 +2486,7 @@ file:size Given a file handle, return the size of the file (in bytes). Class: class:word | Namespace: file | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ file:slurp @@ -2497,7 +2497,7 @@ file:slurp Given an address and a file name, read the file contents into memory starting at the address. Class: class:word | Namespace: file | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ file:spew @@ -2508,7 +2508,7 @@ file:spew Given a string (s1) and a file name (s2), write the string into the file, replacing any existing cotent. Class: class:word | Namespace: file | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ file:tell @@ -2519,7 +2519,7 @@ file:tell Given a file handle, return the current offset in the file. Class: class:word | Namespace: file | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ file:write @@ -2530,7 +2530,7 @@ file:write Write a character to the file represented by the handle. Class: class:word | Namespace: file | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ gopher:get @@ -2547,7 +2547,7 @@ Example #1: here 'forthworks.com #70 '/ gopher:get here s:put ----------------------------------------------------------------- +------------------------------------------------------------------------ gt? @@ -2558,7 +2558,7 @@ gt? Compare n1 and n2. Return `TRUE` if n1 is greater than n2, or `FALSE` otherwise. Class: class:primitive | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ gteq? @@ -2569,7 +2569,7 @@ gteq? Compare n1 and n2. Return `TRUE` if n1 is greater than or equal to n2, or `FALSE` otherwise. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ here @@ -2580,7 +2580,7 @@ here Return the next free address in memory. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ hook @@ -2596,7 +2596,7 @@ Example #1: :foo hook ; ----------------------------------------------------------------- +------------------------------------------------------------------------ i @@ -2607,7 +2607,7 @@ i Assemble the instructions specified by the string into the current assembly scope. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ if @@ -2618,7 +2618,7 @@ if Execute the quote if the flag is `TRUE`. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ if; @@ -2629,7 +2629,7 @@ if; Execute the quotation if the flag is `TRUE`. If true, also exit the word. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ immediate @@ -2640,7 +2640,7 @@ immediate Change the class of the most recently defined word to `class:macro`. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ include @@ -2651,7 +2651,7 @@ include Run the code in the specified file. Class: class:word | Namespace: global | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ interpret @@ -2668,7 +2668,7 @@ Example #1: '#100 interpret 'words interpret ----------------------------------------------------------------- +------------------------------------------------------------------------ io:enumerate @@ -2679,7 +2679,7 @@ io:enumerate Return the number of I/O devices. Class: class:word | Namespace: {n/a} | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ io:invoke @@ -2690,7 +2690,7 @@ io:invoke Invoke an interaction with an I/O device. Class: class:word | Namespace: {n/a} | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ io:query @@ -2701,7 +2701,7 @@ io:query Ask an I/O device to identify itself. Returns a version (m) and device ID (N). Class: class:word | Namespace: {n/a} | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ io:scan-for @@ -2712,7 +2712,7 @@ io:scan-for Scan the I/O devices for a device with a specified ID. Returns the device number, or -1 if not found. Class: class:word | Namespace: {n/a} | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ ios:list-fonts @@ -2723,7 +2723,7 @@ ios:list-fonts Display a list of all installed fonts. Class: class:word | Namespace: ios | Interface Layer: iOS ----------------------------------------------------------------- +------------------------------------------------------------------------ listen @@ -2734,7 +2734,7 @@ listen Run interactive "listener" (a REPL). Class: class:word | Namespace: global | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ lt? @@ -2745,7 +2745,7 @@ lt? Compare n1 and n2. Return `TRUE` if n1 is less than n2, or `FALSE` otherwise. Class: class:primitive | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ lteq? @@ -2756,7 +2756,7 @@ lteq? Compare n1 and n2. Return `TRUE` if n1 is less than or equal to n2, or `FALSE` otherwise. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ mod @@ -2767,7 +2767,7 @@ mod Divide `n` by `m` and return the remainder. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ n:-zero? @@ -2778,7 +2778,7 @@ n:-zero? Return `TRUE` if number is not zero, or `FALSE` otherwise. Class: class:word | Namespace: n | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ n:MAX @@ -2789,7 +2789,7 @@ n:MAX Return the maximum value that will fit in a cell. Class: class:word | Namespace: n | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ n:MIN @@ -2800,7 +2800,7 @@ n:MIN Return the minimum value that will fit in a cell. Class: class:word | Namespace: n | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ n:abs @@ -2818,7 +2818,7 @@ Example #1: #-10 n:abs ----------------------------------------------------------------- +------------------------------------------------------------------------ n:between? @@ -2835,7 +2835,7 @@ Example #1: #3 #1 #100 n:between? $q $a $b n:between? ----------------------------------------------------------------- +------------------------------------------------------------------------ n:dec @@ -2851,7 +2851,7 @@ Example #1: #100 n:dec ----------------------------------------------------------------- +------------------------------------------------------------------------ n:even? @@ -2868,7 +2868,7 @@ Example #1: #12 n:even? #11 n:even? ----------------------------------------------------------------- +------------------------------------------------------------------------ n:inc @@ -2884,7 +2884,7 @@ Example #1: #100 n:inc ----------------------------------------------------------------- +------------------------------------------------------------------------ n:limit @@ -2901,7 +2901,7 @@ Example #1: #-10 #5 #8 n:limit #10 #1 #15 n:limit ----------------------------------------------------------------- +------------------------------------------------------------------------ n:max @@ -2918,7 +2918,7 @@ Example #1: #1 #7 n:max #-8 #-10 n:max ----------------------------------------------------------------- +------------------------------------------------------------------------ n:min @@ -2935,7 +2935,7 @@ Example #1: #1 #7 n:min #-8 #-10 n:min ----------------------------------------------------------------- +------------------------------------------------------------------------ n:negate @@ -2952,7 +2952,7 @@ Example #1: #10 n:negate #-10 n:negate ----------------------------------------------------------------- +------------------------------------------------------------------------ n:negative? @@ -2963,7 +2963,7 @@ n:negative? Return `TRUE` if number is negative, or `FALSE` if not. Class: class:word | Namespace: n | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ n:odd? @@ -2974,7 +2974,7 @@ n:odd? Return `TRUE` if number is odd, or `FALSE` if not. Class: class:word | Namespace: n | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ n:positive? @@ -2985,7 +2985,7 @@ n:positive? Return `TRUE` if number is positive, or `FALSE` if not. Class: class:word | Namespace: n | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ n:pow @@ -2996,7 +2996,7 @@ n:pow Return base (b) to power (p). Class: class:word | Namespace: n | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ n:put @@ -3007,7 +3007,7 @@ n:put Display a number. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ n:random @@ -3023,7 +3023,7 @@ Example #1: n:random n:put ----------------------------------------------------------------- +------------------------------------------------------------------------ n:sqrt @@ -3034,7 +3034,7 @@ n:sqrt Return the square root of a number. Class: class:word | Namespace: n | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ n:square @@ -3045,7 +3045,7 @@ n:square Return the square of a number. Class: class:word | Namespace: n | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ n:strictly-positive? @@ -3056,7 +3056,7 @@ n:strictly-positive? Return TRUE if number is greater than zero or FALSE if it is zero or less. Class: class:word | Namespace: n | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ n:to-float @@ -3067,7 +3067,7 @@ n:to-float Convert a number into a floating point value. Class: class:word | Namespace: n | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ n:to-string @@ -3078,7 +3078,7 @@ n:to-string Convert a number into a string. Class: class:word | Namespace: n | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ n:zero? @@ -3089,7 +3089,7 @@ n:zero? Return `TRUE` if number is zero, or `FALSE` otherwise. Class: class:word | Namespace: n | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ nip @@ -3100,7 +3100,7 @@ nip Remove the second item from the stack. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ nl @@ -3111,7 +3111,7 @@ nl Display a newline. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ not @@ -3122,7 +3122,7 @@ not Perform a logical NOT operation. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ or @@ -3133,7 +3133,7 @@ or Perform a bitwise OR between the provided values. Class: class:primitive | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ over @@ -3144,7 +3144,7 @@ over Put a copy of n over m. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ parse-until @@ -3161,7 +3161,7 @@ Example #1: :read-until-period (-s) [ $. eq? ] parse-until ; ----------------------------------------------------------------- +------------------------------------------------------------------------ pb:get @@ -3172,7 +3172,7 @@ pb:get Copy a string from the pasteboard to the specified address. Class: class:word | Namespace: pb | Interface Layer: iOS ----------------------------------------------------------------- +------------------------------------------------------------------------ pb:length @@ -3188,7 +3188,7 @@ Example #1: pb ----------------------------------------------------------------- +------------------------------------------------------------------------ pb:set @@ -3199,7 +3199,7 @@ pb:set Copy a string to the pasteboard. Class: class:word | Namespace: pb | Interface Layer: iOS ----------------------------------------------------------------- +------------------------------------------------------------------------ pop @@ -3210,7 +3210,7 @@ pop Move a value from the return stack to the data stack. Class: class:macro | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ prefix:! @@ -3227,7 +3227,7 @@ Compile Time: Compile the code to store a value into a named variable. Class: class:macro | Namespace: prefix | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ prefix:" @@ -3244,7 +3244,7 @@ Compile Time: Keep string as permanent. If `RewriteUnderscores` is `TRUE`, replace all instances of _ with space. Then compile the string into the current definition. Class: class:macro | Namespace: prefix | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ prefix:# @@ -3261,7 +3261,7 @@ Compile Time: Convert the string into a number and compile into the current definition as a literal. Class: class:macro | Namespace: prefix | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ prefix:$ @@ -3278,7 +3278,7 @@ Compile Time: Fetch first character from the string. Compile into the current definition as literal. Class: class:macro | Namespace: prefix | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ prefix:& @@ -3295,7 +3295,7 @@ Compile Time: Lookup name in dictionary, compile code to push the contents of the xt field into the current definition. Class: class:macro | Namespace: prefix | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ prefix:' @@ -3312,7 +3312,7 @@ Compile Time: Move string into temporary buffer. If `RewriteUnderscores` is `TRUE`, replace all instances of _ with space. Then compile the string into the current definition. Class: class:macro | Namespace: prefix | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ prefix:( @@ -3329,7 +3329,7 @@ Compile Time: Discard the string. Class: class:macro | Namespace: prefix | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ prefix:. @@ -3340,7 +3340,7 @@ prefix:. Interpret time: convert string to a floating point value. Compile time: convert string to a floating point value and compile code to push this value to the float stack. Class: class:macro | Namespace: prefix | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ prefix:: @@ -3354,7 +3354,7 @@ Interpret Time: Create a header pointing to `here` with the provided string as the name. Sets class to `class:word`. Class: class:macro | Namespace: prefix | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ prefix:@ @@ -3371,7 +3371,7 @@ Compile Time: Compile the code to fetch a value from a named variable into the current definition. Class: class:macro | Namespace: prefix | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ prefix:` @@ -3388,7 +3388,7 @@ Compile Time: Convert the string to a number and use `,` to inline it into the current definition. Class: class:macro | Namespace: prefix | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ prefix:| @@ -3405,7 +3405,7 @@ Compile Time: Convert the string to a number and use `,` to inline it into the current definition. Class: class:macro | Namespace: prefix | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ primitive @@ -3416,7 +3416,7 @@ primitive Change the class of the most recently defined word to `class:primitive`. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ push @@ -3427,7 +3427,7 @@ push Move a value from the data stack to the return stack. Class: class:macro | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ r @@ -3438,7 +3438,7 @@ r Lookup a reference by name and inline its pointer to the current assembly segment. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ random:mersenne @@ -3454,7 +3454,7 @@ Example #1: {n/a} ----------------------------------------------------------------- +------------------------------------------------------------------------ random:mersenne:set-seed @@ -3470,7 +3470,7 @@ Example #1: {n/a} ----------------------------------------------------------------- +------------------------------------------------------------------------ random:xoroshiro128** @@ -3486,7 +3486,7 @@ Example #1: {n/a} ----------------------------------------------------------------- +------------------------------------------------------------------------ random:xoroshiro128**:set-seed @@ -3502,7 +3502,7 @@ Example #1: {n/a} ----------------------------------------------------------------- +------------------------------------------------------------------------ reclass @@ -3513,7 +3513,7 @@ reclass Change the class handler of the most recently defined word to the specified one. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ reorder @@ -3524,7 +3524,7 @@ reorder Restructure the order of items on the stack. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ repeat @@ -3535,7 +3535,7 @@ repeat Begin an unconditional loop. Class: class:macro | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ reset @@ -3546,7 +3546,7 @@ reset Remove all items from the stack. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ rot @@ -3557,7 +3557,7 @@ rot Rotate the top three values. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s, @@ -3568,7 +3568,7 @@ s, Compile the code needed to push a string pointer to the stack and inline the string data into the current definition. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:ASCII-LETTERS @@ -3579,7 +3579,7 @@ s:ASCII-LETTERS Constant. Returns a string of the ASCII letters (upper and lower case) Class: class:data | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:ASCII-LOWERCASE @@ -3590,7 +3590,7 @@ s:ASCII-LOWERCASE Constant. Returns a string of the ASCII letters in lowercase Class: class:data | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:ASCII-UPPERCASE @@ -3601,7 +3601,7 @@ s:ASCII-UPPERCASE Constant. Returns a string of the ASCII letters in uppercase Class: class:data | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:DIGITS @@ -3612,7 +3612,7 @@ s:DIGITS Constant. Return a string of characters recognized as numeric digits. Class: class:data | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:PUNCTUATION @@ -3623,7 +3623,7 @@ s:PUNCTUATION Constant. Return a string of characters recognized as punctuation. Class: class:data | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:WHITESPACE @@ -3634,7 +3634,7 @@ s:WHITESPACE Constant. Returns a string of characters recognized as whitespace. Class: class:data | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:append @@ -3645,7 +3645,7 @@ s:append Return a new string consisting of s1 followed by s2. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:case @@ -3656,7 +3656,7 @@ s:case If the `s` matches `S`, discard `s` and run the quote before exiting the caller. If they do not match, discard the quote and leave `s` on the stack. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:chop @@ -3667,7 +3667,7 @@ s:chop Remove the last character from a string. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:const @@ -3678,7 +3678,7 @@ s:const Create a constant named s2, returning a pointer to s1. This will use `s:keep` to preserve the original string. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:contains-char? @@ -3689,7 +3689,7 @@ s:contains-char? Return `TRUE` if the character is present in the string or `FALSE` otherwise. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:contains-string? @@ -3700,7 +3700,7 @@ s:contains-string? Return `TRUE` if the second string is present in the first string or `FALSE` otherwise. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:copy @@ -3711,7 +3711,7 @@ s:copy Copy a string (s) to a destination (a). This will include the terminator character when copying. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:empty @@ -3722,7 +3722,7 @@ s:empty Return an empty string. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:eq? @@ -3739,7 +3739,7 @@ Example #1: 'hello 'again s:eq? 'test 'test s:eq? ----------------------------------------------------------------- +------------------------------------------------------------------------ s:evaluate @@ -3750,7 +3750,7 @@ s:evaluate Evaluate string as if it was typed into the interpreter. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:filter @@ -3761,7 +3761,7 @@ s:filter Execute the quote once for each value in the string. If the quote returns `TRUE`, append the value into a new string. If `FALSE` the value will be discarded. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:for-each @@ -3772,7 +3772,7 @@ s:for-each Execute the quote once for each value in the string. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:format @@ -3783,7 +3783,7 @@ s:format Construct a new string using the template passed and items from the stack. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:get @@ -3794,7 +3794,7 @@ s:get Read input from standard in (via `c:get`) until a CR or LF is encountered. Returns a strig. Class: class:word | Namespace: all | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ s:hash @@ -3805,7 +3805,7 @@ s:hash Calculate a hash value for a string. This uses the djb2 algorithm. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:index-of @@ -3816,7 +3816,7 @@ s:index-of Return the location of the first instance of the specified character in the string. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:index-of-string @@ -3827,7 +3827,7 @@ s:index-of-string Return the location of the first instance of the specified substring (s2) in the string (s1). Returns -1 if not found. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:keep @@ -3838,7 +3838,7 @@ s:keep Store a string into the heap and return a pointer to the start of it. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:left @@ -3849,7 +3849,7 @@ s:left Return a new string containing the first `n` characters from the source string. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:length @@ -3860,7 +3860,7 @@ s:length Return the number of characters in a string, excluding the NULL terminator. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:map @@ -3871,7 +3871,7 @@ s:map Execute the specified quote once for each character in the string. Builds a new string from the return value of the quote. The quote should return only one value. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:prepend @@ -3882,7 +3882,7 @@ s:prepend Return a new string consisting of s2 followed by s1. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:put @@ -3893,7 +3893,7 @@ s:put Display a string. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:replace @@ -3904,7 +3904,7 @@ s:replace Replace the first instance of s2 in s1 with s3. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:reverse @@ -3915,7 +3915,7 @@ s:reverse Reverse the order of ASCII characters in a string. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:right @@ -3926,7 +3926,7 @@ s:right Return a new string containing the specified number of characters from the right side of the string. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:skip @@ -3937,7 +3937,7 @@ s:skip Internal helper function used to skip over a string in a definition. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:split @@ -3948,7 +3948,7 @@ s:split Split a string on the first occurrance of the specified character. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:split-on-string @@ -3964,7 +3964,7 @@ Example #1: 'Hello_Brave_World! 'Brave s:split-on-string s:put nl s:put nl ----------------------------------------------------------------- +------------------------------------------------------------------------ s:substr @@ -3975,7 +3975,7 @@ s:substr Extract a substring from the specified string. This will take the characters starting at `f` and extend `l` characters in length. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:temp @@ -3986,7 +3986,7 @@ s:temp Move a string into the temporary string buffers. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:to-float @@ -3997,7 +3997,7 @@ s:to-float Convert a string representation into a floating point value. Class: class:word | Namespace: s | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ s:to-lower @@ -4008,7 +4008,7 @@ s:to-lower Convert uppercase ASCII characters in a string to lowercase. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:to-number @@ -4019,7 +4019,7 @@ s:to-number Convert a string to a number. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:to-upper @@ -4030,7 +4030,7 @@ s:to-upper Convert lowercase ASCII characters in a string to uppercase. Class: class:word | Namespace: s | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ s:tokenize @@ -4041,7 +4041,7 @@ s:tokenize Takes a string and a character to use as a separator. It splits the string into a set of substrings and returns a set containing pointers to each of them. Class: class:word | Namespace: {n/a} | Interface Layer: {n/a} ----------------------------------------------------------------- +------------------------------------------------------------------------ s:tokenize-on-string @@ -4052,7 +4052,7 @@ s:tokenize-on-string Takes a string (s1) and a substring (s2) use as a separator. It splits the string into a set of substrings and returns a set containing pointers to each of them. Class: class:word | Namespace: {n/a} | Interface Layer: {n/a} ----------------------------------------------------------------- +------------------------------------------------------------------------ s:trim @@ -4068,7 +4068,7 @@ Example #1: '__hello__ s:trim ----------------------------------------------------------------- +------------------------------------------------------------------------ s:trim-left @@ -4084,7 +4084,7 @@ Example #1: '__hello__ s:trim-left ----------------------------------------------------------------- +------------------------------------------------------------------------ s:trim-right @@ -4100,7 +4100,7 @@ Example #1: '__hello__ s:trim-right ----------------------------------------------------------------- +------------------------------------------------------------------------ set-hook @@ -4118,7 +4118,7 @@ Example #1: :bar #1 ; &bar &foo set-hook ----------------------------------------------------------------- +------------------------------------------------------------------------ set:contains-string? @@ -4129,7 +4129,7 @@ set:contains-string? Return `TRUE` if the string value is in the set or`FALSE` otherwise. Class: class:word | Namespace: set | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ set:contains? @@ -4140,7 +4140,7 @@ set:contains? Return `TRUE` if the value is in the set or `FALSE` otherwise. Class: class:word | Namespace: set | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ set:counted-results @@ -4151,7 +4151,7 @@ set:counted-results Run a quote and construct a new set from the returned values. The quote should return the values and the number of values to put into the set. Class: class:word | Namespace: set | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ set:dup @@ -4162,7 +4162,7 @@ set:dup Make a copy of a set. Return the address of the copy. Class: class:word | Namespace: set | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ set:filter @@ -4173,7 +4173,7 @@ set:filter For each item in the initial set, run the specified quote. If the quote returns `TRUE`, copy the item into a new set. If `FALSE`, discard it. Returns a pointer to the new set. Class: class:word | Namespace: set | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ set:for-each @@ -4184,7 +4184,7 @@ set:for-each Execute the quote once for each item in the set. Class: class:word | Namespace: set | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ set:from-string @@ -4195,7 +4195,7 @@ set:from-string Create a new set with the characters in the source string. Class: class:word | Namespace: set | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ set:length @@ -4206,7 +4206,7 @@ set:length Return the length of a set. Class: class:word | Namespace: set | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ set:make @@ -4217,7 +4217,7 @@ set:make Execute quote. Return a new set containing the values the quote leaves on the stack. This is identical to doing `set:counted-results set:reverse` Class: class:word | Namespace: set | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ set:map @@ -4228,7 +4228,7 @@ set:map Execute quote once for each item in the set. Constructs a new set from the value returned by the quote. Class: class:word | Namespace: set | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ set:nth @@ -4239,7 +4239,7 @@ set:nth Return the actual address of the nth item in the set. Class: class:word | Namespace: set | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ set:reduce @@ -4250,7 +4250,7 @@ set:reduce Takes a set, a starting value, and a quote. This will apply the quote to each item in the set; the quote should consume two values and return one. Class: class:word | Namespace: set | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ set:reverse @@ -4261,7 +4261,7 @@ set:reverse Reverse the order of items in a set. This will return a new set. Class: class:word | Namespace: set | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ shift @@ -4272,7 +4272,7 @@ shift Peform a bitwise shift of m by n bits. If n is positive, shift right. If negative, the shift will be to the left. Class: class:primitive | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ sip @@ -4283,7 +4283,7 @@ sip Run quote. After execution completes, put a copy of n back on top of the stack. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ sp @@ -4300,7 +4300,7 @@ Example #1: :spaces (n-) [ sp ] times ; #12 spaces ----------------------------------------------------------------- +------------------------------------------------------------------------ store @@ -4317,7 +4317,7 @@ Example #1: 'Base var #10 &Base store ----------------------------------------------------------------- +------------------------------------------------------------------------ store-next @@ -4328,7 +4328,7 @@ store-next Store a value into the specified address and return the next address. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ swap @@ -4339,7 +4339,7 @@ swap Exchange the position of the top two items on the stack Class: class:primitive | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ sys:argc @@ -4350,7 +4350,7 @@ sys:argc Return the number of arguments passed to the program. Class: class:word | Namespace: sys | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ sys:argv @@ -4361,7 +4361,7 @@ sys:argv Given an argument number, return the argument as a string. Class: class:word | Namespace: sys | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ tab @@ -4372,7 +4372,7 @@ tab Display a tab (`ASCII:HT`) Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ times @@ -4388,7 +4388,7 @@ Example #1: #12 [ $- c:put ] times ----------------------------------------------------------------- +------------------------------------------------------------------------ times @@ -4399,7 +4399,7 @@ times Run a quote the specified number of times, tracking the loop index in `I`. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ tri @@ -4410,7 +4410,7 @@ tri Apply q1 against x, then q2 against a copy of x, and finally q3 against another copy of x. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ tri* @@ -4421,7 +4421,7 @@ tri* Apply q1 against x, q2 against y, and q3 against z. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ tri@ @@ -4432,7 +4432,7 @@ tri@ Apply q against x, then against y, and finally against z. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ tuck @@ -4443,7 +4443,7 @@ tuck Put a copy of the top item on the stack under the second one. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ u:-INF @@ -4454,7 +4454,7 @@ u:-INF {n/a} Class: class:word | Namespace: {n/a} | Interface Layer: {n/a} ----------------------------------------------------------------- +------------------------------------------------------------------------ u:-inf? @@ -4465,7 +4465,7 @@ u:-inf? {n/a} Class: class:word | Namespace: {n/a} | Interface Layer: {n/a} ----------------------------------------------------------------- +------------------------------------------------------------------------ u:INF @@ -4476,7 +4476,7 @@ u:INF {n/a} Class: class:word | Namespace: {n/a} | Interface Layer: {n/a} ----------------------------------------------------------------- +------------------------------------------------------------------------ u:MAX @@ -4487,7 +4487,7 @@ u:MAX {n/a} Class: class:word | Namespace: {n/a} | Interface Layer: {n/a} ----------------------------------------------------------------- +------------------------------------------------------------------------ u:MIN @@ -4498,7 +4498,7 @@ u:MIN {n/a} Class: class:word | Namespace: {n/a} | Interface Layer: {n/a} ----------------------------------------------------------------- +------------------------------------------------------------------------ u:NAN @@ -4509,7 +4509,7 @@ u:NAN {n/a} Class: class:word | Namespace: {n/a} | Interface Layer: {n/a} ----------------------------------------------------------------- +------------------------------------------------------------------------ u:clip @@ -4520,7 +4520,7 @@ u:clip {n/a} Class: class:word | Namespace: {n/a} | Interface Layer: {n/a} ----------------------------------------------------------------- +------------------------------------------------------------------------ u:inf? @@ -4531,7 +4531,7 @@ u:inf? {n/a} Class: class:word | Namespace: {n/a} | Interface Layer: {n/a} ----------------------------------------------------------------- +------------------------------------------------------------------------ u:max? @@ -4542,7 +4542,7 @@ u:max? {n/a} Class: class:word | Namespace: {n/a} | Interface Layer: {n/a} ----------------------------------------------------------------- +------------------------------------------------------------------------ u:min? @@ -4553,7 +4553,7 @@ u:min? {n/a} Class: class:word | Namespace: {n/a} | Interface Layer: {n/a} ----------------------------------------------------------------- +------------------------------------------------------------------------ u:n? @@ -4564,7 +4564,7 @@ u:n? {n/a} Class: class:word | Namespace: {n/a} | Interface Layer: {n/a} ----------------------------------------------------------------- +------------------------------------------------------------------------ u:nan? @@ -4575,7 +4575,7 @@ u:nan? {n/a} Class: class:word | Namespace: {n/a} | Interface Layer: {n/a} ----------------------------------------------------------------- +------------------------------------------------------------------------ u:to-f @@ -4586,7 +4586,7 @@ u:to-f {n/a} Class: class:word | Namespace: {n/a} | Interface Layer: {n/a} ----------------------------------------------------------------- +------------------------------------------------------------------------ u:zero? @@ -4597,7 +4597,7 @@ u:zero? {n/a} Class: class:word | Namespace: {n/a} | Interface Layer: {n/a} ----------------------------------------------------------------- +------------------------------------------------------------------------ unhook @@ -4616,7 +4616,7 @@ Example #1: &bar &foo set-hook &foo unhook ----------------------------------------------------------------- +------------------------------------------------------------------------ unix:chdir @@ -4632,7 +4632,7 @@ Example #1: '/etc unix:chdir ----------------------------------------------------------------- +------------------------------------------------------------------------ unix:exec0 @@ -4643,7 +4643,7 @@ unix:exec0 Execute a process by running the application specified by s. Class: class:word | Namespace: unix | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ unix:exec1 @@ -4654,7 +4654,7 @@ unix:exec1 Execute a process by running the application specified by s1. Pass s2 as an argument. Class: class:word | Namespace: unix | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ unix:exec2 @@ -4665,7 +4665,7 @@ unix:exec2 Execute a process by running the application specified by s1. Pass s2 and s3 as arguments. Class: class:word | Namespace: unix | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ unix:exec3 @@ -4676,7 +4676,7 @@ unix:exec3 Execute a process by running the application specified by s1. Pass s2, s3, and s4 as arguments. Class: class:word | Namespace: unix | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ unix:exit @@ -4687,7 +4687,7 @@ unix:exit Exit the current process, returning the specified return code. Class: class:word | Namespace: unix | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ unix:fork @@ -4698,7 +4698,7 @@ unix:fork Fork the current process. Returns a PID. Class: class:word | Namespace: unix | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ unix:getenv @@ -4714,7 +4714,7 @@ Example #1: 'SHELL s:empty [ unix:getenv ] sip s:put nl ----------------------------------------------------------------- +------------------------------------------------------------------------ unix:getpid @@ -4725,7 +4725,7 @@ unix:getpid Return the PID of the current process. Class: class:word | Namespace: unix | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ unix:io:n:put @@ -4736,7 +4736,7 @@ unix:io:n:put Display a number (in base 10) to the standard output device. This is faster than `n:put`, but not portable. Class: class:word | Namespace: unix:io | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ unix:io:s:put @@ -4747,7 +4747,7 @@ unix:io:s:put Display a string to stdout. This is faster than `s:put`, but not portable. Class: class:word | Namespace: unix:io | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ unix:kill @@ -4758,7 +4758,7 @@ unix:kill Terminates a process. Takes a process and a signal to send. Class: class:word | Namespace: unix | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ unix:pclose @@ -4769,7 +4769,7 @@ unix:pclose Close a pipe. Class: class:word | Namespace: unix | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ unix:popen @@ -4780,7 +4780,7 @@ unix:popen Open a pipe. Takes a command to run, and a file mode (`file:R` or `file:W`; `file:R+` may work on some systems). Returns a file ID usable with words in the `file:` namespace. Class: class:word | Namespace: unix | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ unix:putenv @@ -4796,7 +4796,7 @@ Example #1: 'EDITOR=vi unix:putenv ----------------------------------------------------------------- +------------------------------------------------------------------------ unix:sleep @@ -4807,7 +4807,7 @@ unix:sleep Sleep for the specified number of seconds. Class: class:word | Namespace: unix | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ unix:system @@ -4823,7 +4823,7 @@ Example #1: 'ls_-lh_/etc unix:system ----------------------------------------------------------------- +------------------------------------------------------------------------ unix:wait @@ -4834,7 +4834,7 @@ unix:wait Waits for a child process to complete. This maps to the wait() system call. Class: class:word | Namespace: unix | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ unix:write @@ -4845,7 +4845,7 @@ unix:write Write a string to the specified file handle. Class: class:word | Namespace: unix | Interface Layer: rre ----------------------------------------------------------------- +------------------------------------------------------------------------ until @@ -4861,7 +4861,7 @@ Example #1: #10 [ dup n:put nl n:dec dup n:zero? ] until ----------------------------------------------------------------- +------------------------------------------------------------------------ v:dec @@ -4872,7 +4872,7 @@ v:dec Decrement the value stored at the specified address by 1. Class: class:word | Namespace: v | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ v:dec-by @@ -4883,7 +4883,7 @@ v:dec-by Decrement the value stored at the specified address by the specified value. Class: class:word | Namespace: v | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ v:inc @@ -4894,7 +4894,7 @@ v:inc Increment the value stored at the specified address by 1. Class: class:word | Namespace: v | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ v:inc-by @@ -4905,7 +4905,7 @@ v:inc-by Increment the value stored at the specified address by the specified value. Class: class:word | Namespace: v | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ v:limit @@ -4916,7 +4916,7 @@ v:limit Fetch the value stored at the address, then run `n:limit` against it, using the specified lower and upper bounds. Then store the resulting value back to the original address. Class: class:word | Namespace: v | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ v:off @@ -4927,7 +4927,7 @@ v:off Set a variable to 0. Class: class:word | Namespace: v | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ v:on @@ -4938,7 +4938,7 @@ v:on Set a variable to -1. Class: class:word | Namespace: v | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ v:preserve @@ -4949,7 +4949,7 @@ v:preserve Make a copy of the value at the address, then run the quote. Once the quote completes, restore the address to the specified value. Class: class:word | Namespace: v | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ v:update-using @@ -4960,7 +4960,7 @@ v:update-using Fetch a value from the specified address, then run the quotation with this value on the stack. Afterwards, store the returned value at the original address. Class: class:word | Namespace: v | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ var @@ -4976,7 +4976,7 @@ Example #1: 'Base var ----------------------------------------------------------------- +------------------------------------------------------------------------ var @@ -4993,7 +4993,7 @@ Example #1: #10 'Base var ----------------------------------------------------------------- +------------------------------------------------------------------------ while @@ -5009,7 +5009,7 @@ Example #1: #10 [ dup n:put nl n:dec dup n:-zero? ] while ----------------------------------------------------------------- +------------------------------------------------------------------------ xor @@ -5020,7 +5020,7 @@ xor Perform a bitwise XOR operation. Class: class:primitive | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ { @@ -5031,7 +5031,7 @@ Class: class:primitive | Namespace: global | Interface Layer: all Begin a set. This is intended to make creating sets a bit cleaner than using a quotation and `set:counteh-results`. Class: class:word | Namespace: set | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ {{ @@ -5042,7 +5042,7 @@ Class: class:word | Namespace: set | Interface Layer: all Begin a lexically scoped area. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ } @@ -5053,7 +5053,7 @@ Class: class:word | Namespace: global | Interface Layer: all Complete a set begun by `{`. Returns a pointer to the data. Class: class:word | Namespace: set | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ }as @@ -5064,7 +5064,7 @@ Class: class:word | Namespace: set | Interface Layer: all End an assembly section. Class: class:macro | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ }} @@ -5075,5 +5075,5 @@ Class: class:macro | Namespace: global | Interface Layer: all End a lexically scoped area. Class: class:word | Namespace: global | Interface Layer: all ----------------------------------------------------------------- +------------------------------------------------------------------------ diff --git a/glossary.forth b/glossary.forth index b0f8007..db6db6d 100755 --- a/glossary.forth +++ b/glossary.forth @@ -17,7 +17,8 @@ sys:argc n:zero? [ #0 unix:exit ] if ~~~ If execution reaches this point there's at least one -argument. I use a loop to store arguments into an array. +argument. I use a loop to store arguments into an array +named `Args`. ~~~ 'Args d:create #32 allot @@ -29,8 +30,8 @@ argument. I use a loop to store arguments into an array. And then populate constants for each one I care about. ~~~ -#0 &Args + fetch 'QUERY s:const -#1 &Args + fetch 'TARGET s:const +#0 &Args + fetch 'QUERY s:const +#1 &Args + fetch 'TARGET s:const #2 &Args + fetch 'TARGET2 s:const ~~~ @@ -229,18 +230,19 @@ when done. ~~~ :delete-temporary - '/tmp/glossary.name file:delete - '/tmp/glossary.dstack file:delete - '/tmp/glossary.astack file:delete - '/tmp/glossary.fstack file:delete - '/tmp/glossary.descr file:delete - '/tmp/glossary.itime file:delete - '/tmp/glossary.ctime file:delete - '/tmp/glossary.class file:delete - '/tmp/glossary.ex1 file:delete - '/tmp/glossary.ex2 file:delete - '/tmp/glossary.namespace file:delete - '/tmp/glossary.interface file:delete ; + { '/tmp/glossary.name + '/tmp/glossary.dstack + '/tmp/glossary.astack + '/tmp/glossary.fstack + '/tmp/glossary.descr + '/tmp/glossary.itime + '/tmp/glossary.ctime + '/tmp/glossary.class + '/tmp/glossary.ex1 + '/tmp/glossary.ex2 + '/tmp/glossary.namespace + '/tmp/glossary.interface } + [ file:delete ] set:for-each ; ~~~ Cleaning the edited data is necessary. This entails: @@ -328,7 +330,8 @@ Next, get the editor from the $EDITOR environment variable. 'words.new file:W file:open !FOUT 'words.tsv [ s:keep !SourceLine field:name TARGET2 s:eq? - [ select-field generate-entry ] [ @SourceLine write-line ] choose write-nl + [ select-field generate-entry ] + [ @SourceLine write-line ] choose write-nl ] file:for-each-line @FOUT file:close delete-temporary 'mv_words.new_words.tsv unix:system ; @@ -345,9 +348,12 @@ The glossary file consists of the documentation for each word, with a separator bar between each entry. ~~~ +:horizontal-line + #72 [ $- c:put ] times nl nl ; + :export-glossary 'words.tsv - [ s:keep !SourceLine display-result #64 [ $- c:put ] times nl nl ] file:for-each-line ; + [ s:keep !SourceLine display-result horizontal-line ] file:for-each-line ; ~~~ ### TSV @@ -358,19 +364,19 @@ you edit/save the TSV data with a spreadsheet application. ~~~ :display-fields - field:name s:put tab - field:dstack s:put tab - field:astack s:put tab - field:fstack s:put tab - field:descr s:put tab - field:itime s:put tab - field:ctime s:put tab - field:class s:put tab - field:ex1 s:put tab - field:ex2 s:put tab - field:namespace s:put tab - field:interface s:put tab - nl ; + { &field:name + &field:dstack + &field:astack + &field:fstack + &field:descr + &field:itime + &field:ctime + &field:class + &field:ex1 + &field:ex2 + &field:namespace + &field:interface } + [ call s:put tab ] set:for-each nl ; :export-tsv 'words.tsv [ s:keep !SourceLine display-fields ] file:for-each-line ;