- ABORT
- ABORT"
- ABS
- ACCEPT
- ACTION-OF
- AGAIN
- ALIGN
- ALIGNED
- ALLOT
- AND
- BASE
- BEGIN
- BL
- BUFFER:
- [
- [CHAR]
- [COMPILE]
- [']
- CASE
- C,
- CELL+
- CELLS
- C@
- CHAR
- CHAR+
- CHARS
- COMPILE,
- CONSTANT
- COUNT
- CR
- CREATE
- C!
- :
- :NONAME
- ,
- C"
- DECIMAL
- DEFER
- DEFER@
- DEFER!
- DEPTH
- DO
- DOES>
- DROP
- DUP
- /
- /MOD
- .R
- .(
- ."
- ELSE
- EMIT
- ENDCASE
- ENDOF
- ENVIRONMENT?
- ERASE
- EVALUATE
- EXECUTE
- EXIT
- =
- FALSE
- FILL
- FIND
- FM/MOD
- @
- HERE
- HEX
- HOLD
- HOLDS
- I
- IF
- IMMEDIATE
- INVERT
- IS
- J
- KEY
- LEAVE
- LITERAL
- LOOP
- LSHIFT
- MARKER
- MAX
- MIN
- MOD
- MOVE
- M*
- -
- NEGATE
- NIP
- OF
- OR
- OVER
- 1-
- 1+
- PAD
- PARSE-NAME
- PARSE
- PICK
- POSTPONE
- +
- +LOOP
- +!
- QUIT
- RECURSE
- REFILL
- REPEAT
- RESTORE-INPUT
- R@
- ROLL
- ROT
- RSHIFT
- R>
- SAVE-INPUT
- SIGN
- SM/REM
- SOURCE-ID
- SOURCE
- SPACE
- SPACES
- STATE
- SWAP
- ;
- S\"
- S"
- S>D
- !
- THEN
- TO
- TRUE
- TUCK
- TYPE
- '
- *
- */
- */MOD
- 2DROP
- 2DUP
- 2/
- 2@
- 2OVER
- 2R@
- 2R>
- 2SWAP
- 2!
- 2*
- 2>R
- U.R
- UM/MOD
- UM*
- UNLOOP
- UNTIL
- UNUSED
- U.
- U<
- U>
- VALUE
- VARIABLE
- WHILE
- WITHIN
- WORD
- XOR
- 0=
- 0<
- 0>
- 0<>
- \
- .
- <
- >
- <>
- #>
- <#
- #
- #S
- (
- ?DO
- ?DUP
- >BODY
- >IN
- >NUMBER
- >R
6.1.0695 ACCEPT CORE
Receive a string of at most +n1 characters. An ambiguous condition exists if +n1 is zero or greater than 32,767. Display graphic characters as they are received. A program that depends on the presence or absence of non-graphic characters in the string has an environmental dependency. The editing functions, if any, that the system performs in order to construct the string are implementation-defined.
Input terminates when an implementation-defined line terminator is received. When input terminates, nothing is appended to the string, and the display is maintained in an implementation-defined way.
+n2 is the length of the string stored at c-addr.
See:
Rationale:
It is recommended that all non-graphic characters be reserved for editing or control functions and not be stored in the input string.
Because external system hardware and software may perform the ACCEPT function, when a line terminator is received the action of the cursor, and therefore the display, is implementation-defined. It is recommended that the cursor remain immediately following the entered text after a line terminator is received.
Testing:
ContributeContributions
ruv
[23] Source of a stringRequest for clarification2016-10-01 12:47:01
Should ACCEPT receive a string from the STDIN (standard input) or from the keyboard (as KEY word does)?
mcondron
[77] Behavior at end of line and end of dataRequest for clarification2019-05-11 12:15:10
Three questions:
- Should ACCEPT echo the line terminator if it is a CR or LF, or just leave the cursor where it was before the terminator?
- Should the terminator be placed into the receive buffer, or just the text received up to the terminator?
- What is the behavior of ACCEPT when the maximum number is reached with no terminator?
I realize that probably these are all implementation-specific, but are there any conventional norms, especially about #2 and #3?
Thanks!
ruv
[79] Receiving a zero-length stringRequest for clarification2019-05-20 20:19:43
Why n2 is specified as non-zero, positive integer?
What if the first received char is a line terminator? It seems that zero should be returned in such case.
electricdawn
[421] Does ACCEPT saves/restores the original input buffer pointer?Request for clarification2025-12-27 12:09:56
My apologies, I'm new here and I hope this is the right way to do it. I'm currently writing a small Forth system for the WDC W65C02SXB board and I try to make it standard compliant as much as possible. I'm a retired computer service technician and this is just for my amusement (and maybe others that are interested). There's a thread on 6502.org where I provide a link to download my code. No fancy GitHub page, my apologies. http://forum.6502.org/viewtopic.php?f=9&t=8496
Now to my question: I ran the test for ACCEPT and it threw an error, likely because the input source is changed by ACCEPT and never restored, thus, whatever I typed in as part of the test is then now interpreted by QUIT after the test word is finished.
Is that supposed to be "the way", or is ACCEPT supposed to store the input source and then restore it? If so, I didn't find any wording saying that it should. I would greatly appreciate any clarification on this subject. Thank you very much.