GforthCoreWords

alignedc-addr – a-addr coreAddress arithmetic
cell+a-addr1 – a-addr2coreAddress arithmetic
cellsn1 – n2coreAddress arithmetic
char+c-addr1 – c-addr2coreAddress arithmetic
charsn1 – n2coreAddress arithmetic
:noname– xt colon-sys core-extAnonymous Definitions
+LOOPcompilation do-sys – ; run-time loop-sys1 n – / loop-sys2coreArbitrary control structures
?DOcompilation – do-sys ; run-time w1 w2 – / loop-sys core-extArbitrary control structures
AGAINcompilation dest – ; run-time – core-extArbitrary control structures
BEGINcompilation – dest ; run-time – coreArbitrary control structures
DOcompilation – do-sys ; run-time w1 w2 – loop-sys coreArbitrary control structures
ELSEcompilation orig1 – orig2 ; run-time – coreArbitrary control structures
IFcompilation – orig ; run-time f – coreArbitrary control structures
LEAVEcompilation – ; run-time loop-sys – coreArbitrary control structures
LOOPcompilation do-sys – ; run-time loop-sys1 – / loop-sys2coreArbitrary control structures
REPEATcompilation orig dest – ; run-time – coreArbitrary control structures
THENcompilation orig – ; run-time – coreArbitrary control structures
UNTILcompilation dest – ; run-time f – coreArbitrary control structures
WHILEcompilation dest – orig dest ; run-time f – coreArbitrary control structures
casecompilation – case-sys ; run-time – core-extArbitrary control structures
endcasecompilation case-sys – ; run-time x – core-extArbitrary control structures
endofcompilation case-sys1 of-sys – case-sys2 ; run-time – core-extArbitrary control structures
ofcompilation – of-sys ; run-time x1 x2 – /x1core-extArbitrary control structures
unloopR:w1 R:w2 – coreArbitrary control structures
2*n1 – n2coreBitwise operations
2/n1 – n2coreBitwise operations
andw1 w2 – w coreBitwise operations
invertw1 – w2coreBitwise operations
lshiftu1 n – u2coreBitwise operations
orw1 w2 – w coreBitwise operations
rshiftu1 n – u2coreBitwise operations
xorw1 w2 – w coreBitwise operations
false– f core-extBoolean Flags
true– f core-extBoolean Flags
Create"name" – coreCREATE
>bodyxt – a_addr coreCREATE..DOES> details
DOES>compilation colon-sys1 – colon-sys2 ; run-time nest-sys – coreCREATE..DOES> details
EXITcompilation – ; run-time nest-sys – coreCalls and returns
recursecompilation – ; run-time ?? – ??coreCalls and returns
:"name" – colon-sys coreColon Definitions
;compilation colon-sys – ; run-time nest-sys coreColon Definitions
(compilation 'ccc<close-paren>' – ; run-time – core,fileComments
\compilation 'ccc<newline>' – ; run-time – core-ext,block-extComments
Constantw "name" – coreConstants
iR:n – R:n n coreCounted Loops
jR:w R:w1 R:w2 – w R:w R:w1 R:w2coreCounted Loops
2dropw1 w2 – coreData stack
2dupw1 w2 – w1 w2 w1 w2coreData stack
2overw1 w2 w3 w4 – w1 w2 w3 w4 w1 w2coreData stack
2swapw1 w2 w3 w4 – w3 w4 w1 w2coreData stack
?dupw – S:... w coreData stack
dropw – coreData stack
dupw – w w coreData stack
nipw1 w2 – w2core-extData stack
overw1 w2 – w1 w2 w1coreData stack
pickS:... u – S:... w core-extData stack
rollx0 x1 .. xn n – x1 .. xn x0core-extData stack
rotw1 w2 w3 – w2 w3 w1coreData stack
swapw1 w2 – w2 w1coreData stack
tuckw1 w2 – w2 w1 w2core-extData stack
,w – coreDictionary allocation
aligncoreDictionary allocation
allotn – coreDictionary allocation
c,c – coreDictionary allocation
here– addr coreDictionary allocation
unused– u core-extDictionary allocation
."compilation 'ccc"' – ; run-time – coreDisplaying characters and strings
.(compilation&interpretation "ccc<paren>" – core-extDisplaying characters and strings
C"compilation "ccc<quote>" – ; run-time – c-addr core-extDisplaying characters and strings
S"compilation 'ccc"' – ; run-time – c-addr u core,fileDisplaying characters and strings
[Char]compilation '<spaces>ccc' – ; run-time – c coreDisplaying characters and strings
bl– c-char coreDisplaying characters and strings
char'<spaces>ccc' – c coreDisplaying characters and strings
crcoreDisplaying characters and strings
emitc – coreDisplaying characters and strings
spacecoreDisplaying characters and strings
spacesu – coreDisplaying characters and strings
typec-addr u – coreDisplaying characters and strings
s>dn – d coreDouble precision
environment?c-addr u – false / ... true coreEnvironmental Queries
depth– +n coreExamining
ABORT"compilation 'ccc"' – ; run-time f – core,exception-extException Handling
abort?? – ??core,exception-extException Handling
'"name" – xt coreExecution token
[']compilation. "name" – ; run-time. – xt coreExecution token
executext – coreExecution token
marker"<spaces> name" – core-extForgetting words
#ud1 – ud2coreFormatted numeric output
#>xd – addr u coreFormatted numeric output
#sud – 0 0coreFormatted numeric output
<#coreFormatted numeric output
holdchar – coreFormatted numeric output
signn – coreFormatted numeric output
evaluate... addr u – ...core,blockInput Sources
querycore-ext-obsolescentInput Sources
restore-inputx1 .. xn n – flag core-extInput Sources
save-input– x1 .. xn n core-extInput Sources
source-id– 0 / -1 / fileid core-ext,fileInput Sources
immediatecoreInterpretation and Compilation Semantics
>numberud1 c-addr1 u1 – ud2 c-addr2 u2coreLine input and conversion
acceptc-addr +n1 – +n2coreLine input and conversion
convertud1 c-addr1 – ud2 c-addr2core-ext-obsolescentLine input and conversion
expectc-addr +n – core-ext-obsolescentLine input and conversion
span– c-addr core-ext-obsolescentLine input and conversion
Literalcompilation n – ; run-time – n coreLiterals
[coreLiterals
]coreLiterals
[compile]compilation "name" – ; run-time ? – ?core-extMacros
compile,xt – core-extMacros
postpone"name" – coreMacros
!w a-addr – coreMemory Access
+!n a-addr – coreMemory Access
2!w1 w2 a-addr – coreMemory Access
2@a-addr – w1 w2coreMemory Access
@a-addr – w coreMemory Access
c!c c-addr – coreMemory Access
c@c-addr – c coreMemory Access
eraseaddr u – core-extMemory Blocks
fillc-addr u c – coreMemory Blocks
movec-from c-to ucount – coreMemory Blocks
pad– c-addr core-extMemory Blocks
quit?? – ??coreMiscellaneous Words
*/n1 n2 n3 – n4coreMixed precision
*/modn1 n2 n3 – n4 n5coreMixed precision
fm/modd1 n1 – n2 n3coreMixed precision
m*n1 n2 – d coreMixed precision
sm/remd1 n1 – n2 n3coreMixed precision
um*u1 u2 – ud coreMixed precision
um/modud u1 – u2 u3coreMixed precision
base– a-addr coreNumber Conversion
decimalcoreNumber Conversion
hexcore-extNumber Conversion
0<n – f coreNumeric comparison
0<>n – f core-extNumeric comparison
0=n – f coreNumeric comparison
0>n – f core-extNumeric comparison
<n1 n2 – f coreNumeric comparison
<>n1 n2 – f core-extNumeric comparison
n1 n2 – f coreNumeric comparison
>n1 n2 – f coreNumeric comparison
u<u1 u2 – f coreNumeric comparison
u>u1 u2 – f core-extNumeric comparison
withinu1 u2 u3 – f core-extNumeric comparison
2>rd – R:d core-extReturn stack
2r>R:d – d core-extReturn stack
2r@R:d – R:d d core-extReturn stack
>rw – R:w coreReturn stack
r>R:w – w coreReturn stack
r@– w ; R: w – w coreReturn stack
.n – coreSimple numeric output
.rn1 n2 – core-extSimple numeric output
u.u – coreSimple numeric output
u.ru n – core-extSimple numeric output
*n1 n2 – n coreSingle precision
+n1 n2 – n coreSingle precision
-n1 n2 – n coreSingle precision
/n1 n2 – n coreSingle precision
/modn1 n2 – n3 n4coreSingle precision
1+n1 – n2coreSingle precision
1-n1 – n2coreSingle precision
absn – u coreSingle precision
maxn1 n2 – n coreSingle precision
minn1 n2 – n coreSingle precision
modn1 n2 – n coreSingle precision
negaten1 – n2coreSingle precision
key– char coreSingle-key input
countc-addr1 – c-addr2 u coreString Formats
parsechar "ccc<char>" – c-addr u core-extThe Input Stream
refill– flag core-ext,block-ext,file-extThe Input Stream
wordchar "<chars>ccc<char>– c-addr coreThe Input Stream
#tib– addr core-ext-obsolescentThe Text Interpreter
>in– addr coreThe Text Interpreter
source– addr u coreThe Text Interpreter
tib– addr core-ext-obsolescentThe Text Interpreter
TOc/w/d/r "name" – core-ext,localValues
Valuew "name" – core-extValues
Variable"name" – coreVariables
findc-addr – xt +-1 / c-addr 0core,searchWord Lists