From: Ralph Ronnquist Date: Tue, 1 Jun 2021 15:29:44 +0000 (+1000) Subject: consolidatation X-Git-Url: https://git.rrq.au/?a=commitdiff_plain;ds=inline;h=241c3dd0c465fb45a6ab240aa088268b8743cff4;p=rrq%2Frrqforth.git consolidatation --- diff --git a/adoc/data_stack.adoc b/adoc/data_stack.adoc index 3d536a9..1ee7168 100644 --- a/adoc/data_stack.adoc +++ b/adoc/data_stack.adoc @@ -1,6 +1,6 @@ // rrqforth.asm: WORD data_stack,'DATA-STACK',dovariable -anchor:data_stack +anchor:data_stack[] === Word: DATA-STACK diff --git a/adoc/p_0branch.adoc b/adoc/p_0branch.adoc index 27d338d..a11ec49 100644 --- a/adoc/p_0branch.adoc +++ b/adoc/p_0branch.adoc @@ -1,6 +1,6 @@ // contorl.asm: WORD p_zero_branch,'0BRANCH',fasm -anchor:p_zero_branch[] +anchor:p_0branch[] === Word: 0BRANCH diff --git a/adoc/p_2put.adoc b/adoc/p_2put.adoc index ce3b294..b801fc8 100644 --- a/adoc/p_2put.adoc +++ b/adoc/p_2put.adoc @@ -1,6 +1,6 @@ // memory.asm: WORD p_2put, '2!',fasm -anchor:p_2out[] +anchor:p_2put[] === Word: 2! diff --git a/adoc/p_bracketed_quote.adoc b/adoc/p_bracketed_quote.adoc new file mode 100644 index 0000000..74e15a3 --- /dev/null +++ b/adoc/p_bracketed_quote.adoc @@ -0,0 +1,13 @@ +// compile.asm: WORD p_bracketed_quote,"[']",doforth,IMMEDIATE + +anchor:p_bracketed_quote[] + +=== Word: ['] + +.... +Data stack: ( -- cfa ) Input stream: word +.... + +"[']" is an immediate function word that reads the next word on the +input stream and pushes its cfa. + diff --git a/adoc/p_break.adoc b/adoc/p_break.adoc new file mode 100644 index 0000000..f7da196 --- /dev/null +++ b/adoc/p_break.adoc @@ -0,0 +1,11 @@ +// control.asm: WORD p_break,'BREAK',fasm,IMMEDIATE + +anchor:p_break[] + +=== Word: BREAK + +"BREAK" is an immediate function word that lays out an unconditional +branch out of an enclosing xef:p_begin[BEGIN]-xref:p_end[END] block. +Similar to xref:p_ifbreak[IFBREAK] it lays out the branch cell +followed by a reserved cell for the branch offset, and inserts the +resolution address just above the required 0 on the data stack. diff --git a/adoc/p_calltrace.adoc b/adoc/p_calltrace.adoc new file mode 100644 index 0000000..aaa1a3f --- /dev/null +++ b/adoc/p_calltrace.adoc @@ -0,0 +1,8 @@ +// rrqforth.asm: WORD p_calltrace,'[calltrace]',dovariable + +anchor:p_calltrace[] + +=== Word: [calltrace] + +"[calltrace]" is a variable word that ccontains a small assembly +snippet that may be used for debugging when running under +gdb+. diff --git a/adoc/p_dfa2tfa.adoc b/adoc/p_dfa2tfa.adoc index 5d1fcda..2a343f6 100644 --- a/adoc/p_dfa2tfa.adoc +++ b/adoc/p_dfa2tfa.adoc @@ -2,7 +2,7 @@ anchor:p_dfa2tfa[] -=== Word: TFA>DFA +=== Word: DFA>TFA .... Data stack: ( dfa -- tfa ) diff --git a/adoc/p_end.adoc b/adoc/p_end.adoc index 7421502..26f4954 100644 --- a/adoc/p_end.adoc +++ b/adoc/p_end.adoc @@ -1,8 +1,8 @@ // control.asm: WORD p_begin,'BEGIN',fasm -anchor:p_begin[] +anchor:p_end[] -=== Word: BEGIN +=== Word: END .... Data stack: Compiling: ( a 0 * -- ) diff --git a/adoc/p_erase.adoc b/adoc/p_erase.adoc index 83b26fe..3461a7e 100644 --- a/adoc/p_erase.adoc +++ b/adoc/p_erase.adoc @@ -9,5 +9,3 @@ Data stack: ( a n -- ) .... "ERASE" is a function word that stores n NUL bytes at address a an up. - - diff --git a/adoc/p_load_file_quote.adoc b/adoc/p_load_file_quote.adoc new file mode 100644 index 0000000..8e0b4b3 --- /dev/null +++ b/adoc/p_load_file_quote.adoc @@ -0,0 +1,15 @@ +// compile.asm: WORD p_load_file_quote,'LOAD-FILE"' + +anchor:p_load_file_quote[] + +=== Word: LOAD-FILE" + +.... +data stack: ( "name" -- ) +.... + +"LOAD-FILE"" is a function word that opens a file via +xref:p_open_file_quote[OPEN-FILE"], allocates a stream buffer of 15000 +bytes for reading it, saves the stream pointer as value for the newly +created filename variable, and then it invokes +xref:p_evaluate_stream[EVALUATE-STREAM] for processing the file. diff --git a/adoc/p_lparen.adoc b/adoc/p_lparen.adoc index 027d3d4..6aa8460 100644 --- a/adoc/p_lparen.adoc +++ b/adoc/p_lparen.adoc @@ -1,6 +1,6 @@ // stdio.asm: WORD p_lparen,'(',fasm,IMMEDIATE -anchor:p_tell[] +anchor:p_lparen[] === Word: ( .... @@ -10,3 +10,6 @@ Data stack: ( -- ) "(" (left parenthesis) is a function word that scans and ignores words until the next right parenthesis, or the end of the stream. This is used for comments in RRQFORTH code. + +Note that the terminating right parenthesis is a word, i.e. must have +whitespace before and after it. diff --git a/adoc/p_open_file_quote.adoc b/adoc/p_open_file_quote.adoc new file mode 100644 index 0000000..988bf6a --- /dev/null +++ b/adoc/p_open_file_quote.adoc @@ -0,0 +1,13 @@ +// compile.asm: WORD p_open_file_quote,'OPEN-FILE"' + +anchor:p_open_file_quote[] + +=== Word: OPEN-FILE" + +.... +Data stack: ( "name" -- fd ) +.... + +"OPEN-FILE"" is a function word that reads the intputstream for a +filename, adds that to the dictionary as a no-content variable, opens +that file and returns the input file descriptor. diff --git a/adoc/p_setup_signals.adoc b/adoc/p_setup_signals.adoc new file mode 100644 index 0000000..256efe3 --- /dev/null +++ b/adoc/p_setup_signals.adoc @@ -0,0 +1,14 @@ +//signals.asm: WORD p_setup_signals,'[p_setup_signals]',dovariable + +anchor:p_setup_signals[] + +=== Word: [p_setup_signals] + +.... +Data stack: ( -- a ) +.... + +"[p_setup_signals]" is a variable word that contains the assembly code +sniippet for setting up the signal handling. rrqforth handles SEGV by +restarting the interpreter loop on xref:p_stdin[STDIN]. + diff --git a/adoc/p_tfa2namez.adoc b/adoc/p_tfa2namez.adoc new file mode 100644 index 0000000..074ead9 --- /dev/null +++ b/adoc/p_tfa2namez.adoc @@ -0,0 +1,20 @@ +// memory.asm: WORD p_tfa2namez, 'TFA>NAMEZ',fasm + +anchor:p_tfa2namez[] + +=== Word: TFA>NAMEZ + +.... +Data stack: ( tfa -- char* ) +.... + +"TFA>NAMEZ" is a function word that pushes changes a tfa pointer to a +pointer to the word pname's character sequence, which is zero +terminated as well as preceded by a length cell. + +==== +.Defintion concept for TFA>NAMEZ +---- +: TFA>NAMEZ 32 + ; +---- +==== diff --git a/adoc/p_verboseQ.adoc b/adoc/p_verboseQ.adoc new file mode 100644 index 0000000..4745fbc --- /dev/null +++ b/adoc/p_verboseQ.adoc @@ -0,0 +1,15 @@ +// rrqforth.asm: WORD p_verboseQ,'VERBOSE?',dovariable + +anchor:p_verboseQ[] + +=== Word: VERBOSE? + +.... +Data stack: ( -- a ) +.... + +"VERBOSE?" is a variable word that is assigned at start up to -1 or 0 +signify whether or not the command line arguments includes "-v". When +non-zero (i.e. running rrqforth with "-v") the evaluation loop is more +verbose. + diff --git a/reference.adoc b/reference.adoc index caeedbc..9175d73 100644 --- a/reference.adoc +++ b/reference.adoc @@ -1,241 +1,285 @@ = RRQFORTH Reference Documentation :author: Ralph Ronnquist :mult: * +:quote: " -== Words Descriptions +include::wordindex.adoc[] + +== Word Descriptions include::adoc/inline_code.adoc[] +include::separator.adoc[] include::adoc/p_0branch.adoc[] +include::separator.adoc[] include::adoc/p_0equal.adoc[] +include::separator.adoc[] include::adoc/p_0less.adoc[] +include::separator.adoc[] include::adoc/p_1branch.adoc[] +include::separator.adoc[] include::adoc/p_2drop.adoc[] +include::separator.adoc[] include::adoc/p_2dup.adoc[] +include::separator.adoc[] include::adoc/p_2get.adoc[] +include::separator.adoc[] include::adoc/p_2over.adoc[] +include::separator.adoc[] include::adoc/p_2put.adoc[] +include::separator.adoc[] include::adoc/p_2swap.adoc[] +include::separator.adoc[] include::adoc/p_Ccomma.adoc[] +include::separator.adoc[] include::adoc/p_Cget.adoc[] +include::separator.adoc[] include::adoc/p_Cput.adoc[] +include::separator.adoc[] include::adoc/p_Rget.adoc[] +include::separator.adoc[] include::adoc/p_Rgt.adoc[] +include::separator.adoc[] include::adoc/p_abs.adoc[] +include::separator.adoc[] include::adoc/p_allot.adoc[] +include::separator.adoc[] include::adoc/p_and.adoc[] +include::separator.adoc[] include::adoc/p_args.adoc[] +include::separator.adoc[] include::adoc/p_base.adoc[] +include::separator.adoc[] include::adoc/p_begin.adoc[] +include::separator.adoc[] +include::adoc/p_bracketed_quote.adoc[] +include::separator.adoc[] include::adoc/p_branch.adoc[] +include::separator.adoc[] +include::adoc/p_break.adoc[] +include::separator.adoc[] +include::adoc/p_calltrace.adoc[] +include::separator.adoc[] include::adoc/p_cfa2flags_get.adoc[] +include::separator.adoc[] include::adoc/p_clear_stream.adoc[] +include::separator.adoc[] include::adoc/p_colon.adoc[] +include::separator.adoc[] include::adoc/p_comma.adoc[] +include::separator.adoc[] include::adoc/p_create.adoc[] +include::separator.adoc[] include::adoc/p_current_wordlist.adoc[] +include::separator.adoc[] include::adoc/data_stack.adoc[] +include::separator.adoc[] include::adoc/p_decimal.adoc[] -include::adoc/p_depth.adoc[] -include::adoc/p_dfa2tfa.adoc[] -include::adoc/p_digits.adoc[] -include::adoc/p_div.adoc[] -include::adoc/p_divmod.adoc[] -include::adoc/p_dodoes.adoc[] -include::adoc/p_does.adoc[] -include::adoc/p_dofasm.adoc[] -include::adoc/p_doforth.adoc[] -include::adoc/p_dostring.adoc[] -include::adoc/p_dot.adoc[] -include::adoc/p_double_quote.adoc[] -include::adoc/p_dovalue.adoc[] -include::adoc/p_dovariable.adoc[] -include::adoc/p_drop.adoc[] -include::adoc/p_dup.adoc[] -include::adoc/p_else.adoc[] -include::adoc/p_emit.adoc[] -include::adoc/p_end.adoc[] -include::adoc/p_equal.adoc[] -include::adoc/p_erase.adoc[] -include::adoc/p_evaluate_stream.adoc[] -include::adoc/p_execute.adoc[] -include::adoc/p_exit.adoc[] -include::adoc/p_false.adoc[] -include::adoc/p_find.adoc[] -include::adoc/p_forth.adoc[] -include::adoc/p_get.adoc[] -include::adoc/p_get_n_decrement.adoc[] -include::adoc/p_get_n_increment.adoc[] -include::adoc/p_greaterequal.adoc[] -include::adoc/p_greaterthan.adoc[] -include::adoc/p_gtR.adoc[] -include::adoc/p_here.adoc[] -include::adoc/p_hex.adoc[] -include::adoc/p_if.adoc[] -include::adoc/p_ifagain.adoc[] -include::adoc/p_ifbreak.adoc[] -include::adoc/p_immediate.adoc[] -include::adoc/p_left_bracket.adoc[] -include::adoc/p_lessequal.adoc[] -include::adoc/p_lessthan.adoc[] -include::adoc/p_literal.adoc[] -include::adoc/p_literal_string.adoc[] -include::adoc/p_lparen.adoc[] -include::adoc/p_malloc.adoc[] -include::adoc/p_minus.adoc[] -include::adoc/p_mult.adoc[] -include::adoc/p_negate.adoc[] -include::adoc/p_nip.adoc[] -include::adoc/p_nl.adoc[] -include::adoc/p_not.adoc[] -include::adoc/p_number.adoc[] -include::adoc/p_or.adoc[] -include::adoc/p_over.adoc[] -include::adoc/p_pad.adoc[] -include::adoc/p_pick.adoc[] -include::adoc/p_plus.adoc[] -include::adoc/p_program_version.adoc[] -include::adoc/p_put.adoc[] -include::adoc/p_put_plus.adoc[] -include::adoc/p_quit.adoc[] -include::adoc/p_quote.adoc[] -include::adoc/p_read_stream_char.adoc[] -include::adoc/p_read_word.adoc[] -include::adoc/p_realloc.adoc[] -include::adoc/p_right_bracket.adoc[] -include::adoc/p_roll.adoc[] -include::adoc/p_rot.adoc[] -include::adoc/p_rsp.adoc[] -include::adoc/p_semicolon.adoc[] -include::adoc/p_shift_left.adoc[] -include::adoc/p_shift_right.adoc[] -include::adoc/p_shift_signed_right.adoc[] -include::adoc/p_sp.adoc[] -include::adoc/p_state.adoc[] -include::adoc/p_stdin.adoc[] -include::adoc/p_stream.adoc[] -include::adoc/p_stream_nchars.adoc[] -include::adoc/p_strlen.adoc[] -include::adoc/p_strncmp.adoc[] -include::adoc/p_strncpy.adoc[] -include::adoc/p_swap.adoc[] -include::adoc/p_system.adoc[] -include::adoc/p_tell.adoc[] -include::adoc/p_terminate0.adoc[] -include::adoc/p_tfa2cfa.adoc[] -include::adoc/p_tfa2dfa.adoc[] -include::adoc/p_tfa2flags_get.adoc[] -include::adoc/p_then.adoc[] -include::adoc/p_this_word.adoc[] -include::adoc/p_true.adoc[] -include::adoc/p_tuck.adoc[] -include::adoc/p_unequal.adoc[] -include::adoc/p_within.adoc[] -include::adoc/p_words.adoc[] -include::adoc/p_xor.adoc[] -include::adoc/return_stack.adoc[] include::separator.adoc[] +include::adoc/p_depth.adoc[] include::separator.adoc[] +include::adoc/p_dfa2tfa.adoc[] include::separator.adoc[] +include::adoc/p_digits.adoc[] include::separator.adoc[] +include::adoc/p_div.adoc[] include::separator.adoc[] +include::adoc/p_divmod.adoc[] include::separator.adoc[] +include::adoc/p_dodoes.adoc[] include::separator.adoc[] +include::adoc/p_does.adoc[] include::separator.adoc[] +include::adoc/p_dofasm.adoc[] include::separator.adoc[] +include::adoc/p_doforth.adoc[] include::separator.adoc[] +include::adoc/p_dostring.adoc[] include::separator.adoc[] +include::adoc/p_dot.adoc[] include::separator.adoc[] +include::adoc/p_double_quote.adoc[] include::separator.adoc[] +include::adoc/p_dovalue.adoc[] include::separator.adoc[] +include::adoc/p_dovariable.adoc[] include::separator.adoc[] +include::adoc/p_drop.adoc[] include::separator.adoc[] +include::adoc/p_dup.adoc[] include::separator.adoc[] +include::adoc/p_else.adoc[] include::separator.adoc[] +include::adoc/p_emit.adoc[] include::separator.adoc[] +include::adoc/p_end.adoc[] include::separator.adoc[] +include::adoc/p_equal.adoc[] include::separator.adoc[] +include::adoc/p_erase.adoc[] include::separator.adoc[] +include::adoc/p_evaluate_stream.adoc[] include::separator.adoc[] +include::adoc/p_execute.adoc[] include::separator.adoc[] +include::adoc/p_exit.adoc[] include::separator.adoc[] +include::adoc/p_false.adoc[] include::separator.adoc[] +include::adoc/p_find.adoc[] include::separator.adoc[] +include::adoc/p_forth.adoc[] include::separator.adoc[] +include::adoc/p_get.adoc[] include::separator.adoc[] +include::adoc/p_get_n_decrement.adoc[] include::separator.adoc[] +include::adoc/p_get_n_increment.adoc[] include::separator.adoc[] +include::adoc/p_greaterequal.adoc[] include::separator.adoc[] +include::adoc/p_greaterthan.adoc[] include::separator.adoc[] +include::adoc/p_gtR.adoc[] include::separator.adoc[] +include::adoc/p_here.adoc[] include::separator.adoc[] +include::adoc/p_hex.adoc[] include::separator.adoc[] +include::adoc/p_if.adoc[] include::separator.adoc[] +include::adoc/p_ifagain.adoc[] include::separator.adoc[] +include::adoc/p_ifbreak.adoc[] include::separator.adoc[] +include::adoc/p_immediate.adoc[] include::separator.adoc[] +include::adoc/p_left_bracket.adoc[] include::separator.adoc[] +include::adoc/p_lessequal.adoc[] include::separator.adoc[] +include::adoc/p_lessthan.adoc[] include::separator.adoc[] +include::adoc/p_literal.adoc[] include::separator.adoc[] +include::adoc/p_literal_string.adoc[] include::separator.adoc[] +include::adoc/p_load_file_quote.adoc[] include::separator.adoc[] +include::adoc/p_lparen.adoc[] include::separator.adoc[] +include::adoc/p_malloc.adoc[] include::separator.adoc[] +include::adoc/p_minus.adoc[] include::separator.adoc[] +include::adoc/p_mult.adoc[] include::separator.adoc[] +include::adoc/p_negate.adoc[] include::separator.adoc[] +include::adoc/p_nip.adoc[] include::separator.adoc[] +include::adoc/p_nl.adoc[] include::separator.adoc[] +include::adoc/p_not.adoc[] include::separator.adoc[] +include::adoc/p_number.adoc[] include::separator.adoc[] +include::adoc/p_open_file_quote.adoc[] include::separator.adoc[] +include::adoc/p_or.adoc[] include::separator.adoc[] +include::adoc/p_over.adoc[] include::separator.adoc[] +include::adoc/p_pad.adoc[] include::separator.adoc[] +include::adoc/p_pick.adoc[] include::separator.adoc[] +include::adoc/p_plus.adoc[] include::separator.adoc[] +include::adoc/p_program_version.adoc[] include::separator.adoc[] +include::adoc/p_put.adoc[] include::separator.adoc[] +include::adoc/p_put_plus.adoc[] include::separator.adoc[] +include::adoc/p_quit.adoc[] include::separator.adoc[] +include::adoc/p_quote.adoc[] include::separator.adoc[] +include::adoc/p_read_stream_char.adoc[] include::separator.adoc[] +include::adoc/p_read_word.adoc[] include::separator.adoc[] +include::adoc/p_realloc.adoc[] include::separator.adoc[] +include::adoc/p_right_bracket.adoc[] include::separator.adoc[] +include::adoc/p_roll.adoc[] include::separator.adoc[] +include::adoc/p_rot.adoc[] include::separator.adoc[] +include::adoc/p_rsp.adoc[] include::separator.adoc[] +include::adoc/p_semicolon.adoc[] include::separator.adoc[] +include::adoc/p_setup_signals.adoc[] include::separator.adoc[] +include::adoc/p_shift_left.adoc[] include::separator.adoc[] +include::adoc/p_shift_right.adoc[] include::separator.adoc[] +include::adoc/p_shift_signed_right.adoc[] include::separator.adoc[] +include::adoc/p_sp.adoc[] include::separator.adoc[] +include::adoc/p_state.adoc[] include::separator.adoc[] +include::adoc/p_stdin.adoc[] include::separator.adoc[] +include::adoc/p_stream.adoc[] include::separator.adoc[] +include::adoc/p_stream_nchars.adoc[] include::separator.adoc[] +include::adoc/p_strlen.adoc[] include::separator.adoc[] +include::adoc/p_strncmp.adoc[] include::separator.adoc[] +include::adoc/p_strncpy.adoc[] include::separator.adoc[] +include::adoc/p_swap.adoc[] include::separator.adoc[] +include::adoc/p_system.adoc[] include::separator.adoc[] +include::adoc/p_tell.adoc[] include::separator.adoc[] +include::adoc/p_terminate0.adoc[] include::separator.adoc[] +include::adoc/p_tfa2cfa.adoc[] include::separator.adoc[] +include::adoc/p_tfa2dfa.adoc[] include::separator.adoc[] +include::adoc/p_tfa2flags_get.adoc[] include::separator.adoc[] +include::adoc/p_tfa2namez.adoc[] include::separator.adoc[] +include::adoc/p_then.adoc[] include::separator.adoc[] +include::adoc/p_this_word.adoc[] include::separator.adoc[] +include::adoc/p_true.adoc[] include::separator.adoc[] +include::adoc/p_tuck.adoc[] include::separator.adoc[] +include::adoc/p_unequal.adoc[] include::separator.adoc[] +include::adoc/p_verboseQ.adoc[] include::separator.adoc[] +include::adoc/p_within.adoc[] include::separator.adoc[] +include::adoc/p_words.adoc[] include::separator.adoc[] +include::adoc/p_xor.adoc[] include::separator.adoc[] +include::adoc/return_stack.adoc[] == System calls //include::syscalls.adoc[] @@ -246,6 +290,3 @@ arguments fro the data stack in reverse order, i.e. the first argument is deepest. Use +SYSTEM WORDS+ to get a list of all (321) available syscalls. - - -include::wordindex.adoc[] diff --git a/wordindex.adoc b/wordindex.adoc index 6ab01d4..8623a0b 100644 --- a/wordindex.adoc +++ b/wordindex.adoc @@ -1,7 +1,7 @@ -== Index of word links +== Word Index -xref:p_lparen[(] {nbsp} +xref:p_lparen[( (left parenthesis)] {nbsp} xref:p_colon[: (colon)] {nbsp} xref:p_semicolon[: (semi-colon)] {nbsp} xref:p_comma[, (comma)] {nbsp} @@ -26,6 +26,7 @@ xref:p_div[/] {nbsp} xref:p_shift_left[<<] {nbsp} xref:p_shift_right[>>] {nbsp} xref:p_shift_signed_right[s>>] {nbsp} +<> {nbsp} xref:p_get[@] {nbsp} @@ -59,11 +60,13 @@ xref:p_2swap[2SWAP] {nbsp} xref:p_abs[ABS] {nbsp} xref:p_allot[ALLOT] {nbsp} xref:p_and[AND] {nbsp} -xref:inline_code[[ASM]] {nbsp} +<> {nbsp} xref:p_base[BASE] {nbsp} xref:p_begin[BEGIN] {nbsp} +xref:p_break[BREAK] {nbsp} +xref:p_cfa2flags_get[CFA>FLAGS@] {nbsp} xref:p_clear_stream[CLEAR-STREAM] {nbsp} xref:p_create[CREATE] {nbsp} xref:p_current_wordlist[CURRENT-WORDLIST] {nbsp} @@ -72,6 +75,7 @@ xref:p_decimal[DECIMAL] {nbsp} xref:p_depth[DEPTH] {nbsp} xref:p_digits[DIGITS] {nbsp} xref:p_divmod[/MOD] {nbsp} +xref:p_dfa2tfa[DFA>TFA] {nbsp} xref:p_dodoes[doDOES] {nbsp} xref:p_does[DOES>] {nbsp} xref:p_dofasm[doFASM] {nbsp} @@ -85,6 +89,7 @@ xref:p_dup[DUP] {nbsp} xref:p_else[ELSE] {nbsp} xref:p_emit[EMIT] {nbsp} xref:p_end[END] {nbsp} +xref:p_erase[ERASE] {nbsp} xref:p_evaluate_stream[EVALUATE-STREAM] {nbsp} xref:p_execute[EXECUTE] {nbsp} xref:p_exit[EXIT] {nbsp} @@ -102,6 +107,7 @@ xref:p_ifbreak[IFBREAK] {nbsp} xref:p_immediate[IMMEDIATE] {nbsp} xref:p_literal[LIT] {nbsp} +xref:p_load_file_quote[LOAD-FILE"] {nbsp} xref:p_args[MAIN-ARGS] {nbsp} xref:p_malloc[MALLOC] {nbsp} @@ -112,6 +118,7 @@ xref:p_nl[NL] {nbsp} xref:p_not[NOT] {nbsp} xref:p_number[NUMBER] {nbsp} +xref:p_open_file_quote[OPEN-FILE"] {nbsp} xref:p_or[OR] {nbsp} xref:p_over[OVER] {nbsp} @@ -140,13 +147,21 @@ xref:p_system[SYSTEM] {nbsp} xref:p_tell[TELL] {nbsp} xref:p_terminate0[TERMINATE0] {nbsp} -xref:p_cfa2flags_get[TFA>FLAGS@] {nbsp} +xref:p_tfa2cfa[TFA>CFA] {nbsp} +xref:p_tfa2dfa[TFA>DFA] {nbsp} +xref:p_tfa2flags_get[TFA>FLAGS@] {nbsp} +xref:p_tfa2namez[TFA>NAMEZ] {nbsp} xref:p_then[THEN] {nbsp} xref:p_this_word[THIS-WORD] {nbsp} xref:p_true[TRUE] {nbsp} xref:p_tuck[TUCK] {nbsp} +xref:p_verboseQ[VERBOSE?] {nbsp} + xref:p_within[WITHIN] {nbsp} xref:p_words[WORDS] {nbsp} xref:p_xor[XOR] {nbsp} + +<> {nbsp} +<> {nbsp}