This is gforth.info, produced by makeinfo version 7.1 from gforth.texi.

This manual is for Gforth (version 0.7.9_20250514, May 14, 2025), a fast
and portable implementation of the Standard Forth language.  It serves
as reference manual, but it also contains an introduction to Forth and a
Forth tutorial.

   Authors: Bernd Paysan, Anton Ertl, Gerald Wodni, Neal Crook, David
Kuehling, Jend Wilke Copyright © 1995, 1996, 1997, 1998, 2000, 2003,
2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015,
2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Free Software
Foundation, Inc.

     Permission is granted to copy, distribute and/or modify this
     document under the terms of the GNU Free Documentation License,
     Version 1.1 or any later version published by the Free Software
     Foundation; with no Invariant Sections, with the Front-Cover texts
     being "A GNU Manual," and with the Back-Cover Texts as in (a)
     below.  A copy of the license is included in the section entitled
     "GNU Free Documentation License."

     (a) The FSF's Back-Cover Text is: "You have freedom to copy and
     modify this GNU Manual, like GNU software.  Copies published by the
     Free Software Foundation raise funds for GNU development."
INFO-DIR-SECTION Software development
START-INFO-DIR-ENTRY
* Gforth: (gforth).             A fast interpreter for the Forth language.
END-INFO-DIR-ENTRY


Indirect:
gforth.info-1: 1418
gforth.info-2: 301956
gforth.info-3: 602981
gforth.info-4: 917123

Tag Table:
(Indirect)
Node: Top1418
Node: Goals17034
Ref: Goals-Footnote-118901
Node: Stability Goals19020
Node: Gforth Environment20707
Node: Invoking Gforth21474
Node: Leaving Gforth36623
Node: Help on Gforth37174
Node: Command-line editing38014
Ref: Command-line editing-Footnote-140596
Node: Environment variables40653
Node: Gforth Files42474
Node: Gforth in pipes43321
Node: Startup speed45170
Node: Tutorial46954
Node: Starting Gforth Tutorial49270
Node: Syntax Tutorial49678
Node: Crash Course Tutorial50574
Node: Stack Tutorial51422
Node: Arithmetics Tutorial52100
Ref: Arithmetics Tutorial-Footnote-153142
Node: Stack Manipulation Tutorial53223
Node: Using files for Forth code Tutorial54675
Node: Comments Tutorial56217
Ref: Comments Tutorial-Footnote-157343
Node: Colon Definitions Tutorial57410
Node: Decompilation Tutorial58546
Node: Stack-Effect Comments Tutorial59086
Node: Types Tutorial62290
Node: Factoring Tutorial64108
Node: Designing the stack effect Tutorial65274
Node: Local Variables Tutorial67858
Node: Conditional execution Tutorial69276
Node: Flags and Comparisons Tutorial70647
Node: General Loops Tutorial73354
Node: Counted loops Tutorial75401
Node: Recursion Tutorial76791
Node: Leaving definitions or loops Tutorial77808
Node: Return Stack Tutorial78533
Node: Memory Tutorial80399
Node: Characters and Strings Tutorial83282
Node: Alignment Tutorial84849
Node: Floating Point Tutorial86070
Node: Files Tutorial89649
Node: Interpretation and Compilation Semantics and Immediacy Tutorial92908
Node: Execution Tokens Tutorial95506
Node: Exceptions Tutorial98628
Node: Defining Words Tutorial100498
Node: Arrays and Records Tutorial103414
Node: POSTPONE Tutorial104796
Node: Literal Tutorial106791
Node: Advanced macros Tutorial107680
Node: Compilation Tokens Tutorial110068
Node: Wordlists and Search Order Tutorial111267
Node: Introduction114066
Node: Introducing the Text Interpreter116188
Ref: Introducing the Text Interpreter-Footnote-1121378
Node: Stacks and Postfix notation121460
Node: Your first definition130620
Ref: Your first definition-Footnote-1134144
Node: How does that work?134306
Node: Forth is written in Forth143645
Ref: Forth is written in Forth-Footnote-1145392
Ref: Forth is written in Forth-Footnote-2145480
Node: Review - elements of a Forth system145534
Node: Where to go next147430
Node: Exercises149175
Node: Literals in source code149483
Node: Integer and character literals149840
Node: Floating-point number and complex literals152243
Node: String and Environment variable Literals154962
Node: Literals for tokens and addresses156136
Node: Disambiguating recognizers157739
Node: Words158446
Node: Notation159333
Ref: Notation-Footnote-1165449
Node: Case insensitivity165543
Node: Comments166246
Node: Boolean Flags167621
Node: Arithmetic168477
Node: Single precision169224
Node: Double precision170380
Node: Mixed precision171791
Node: Integer division172068
Node: Two-stage integer division178472
Node: Bitwise operations184287
Node: Numeric comparison187871
Node: Floating Point190390
Ref: Floating Point-Footnote-1195388
Node: Floating-point comparisons195578
Node: Stack Manipulation197143
Node: Data stack197821
Node: Floating point stack199208
Node: Return stack200028
Node: Locals stack203162
Node: Stack pointer manipulation203456
Node: Memory204643
Node: Memory model205105
Ref: Memory model-Footnote-1207374
Node: Dictionary allocation207556
Node: Sections212162
Node: Heap Allocation217625
Node: Memory blocks and heap allocation219461
Node: Growable memory buffers220798
Node: Memory Access222081
Node: Special Memory Accesses223953
Node: Address arithmetic228423
Ref: Address arithmetic-Footnote-1234340
Ref: Address arithmetic-Footnote-2234386
Node: Memory Blocks234527
Node: Strings and Characters236473
Node: Characters236779
Node: String representations238294
Node: String and character literals239605
Node: String words245144
Node: $tring words251568
Node: Counted string words257379
Node: Control Structures259014
Ref: Control Structures-Footnote-1259726
Node: Selection259989
Node: General Loops262546
Node: Counted Loops263436
Ref: Counted Loops-Footnote-1274351
Node: General loops with multiple exits274390
Node: General control structures with CASE276489
Ref: General control structures with CASE-Footnote-1280960
Node: Arbitrary control structures281251
Node: Calls and returns285310
Node: Exception Handling288166
Node: Defining Words299874
Node: CREATE301956
Node: Variables304071
Node: Constants306342
Ref: Constants-Footnote-1307831
Node: Values307943
Node: Colon Definitions311637
Node: Inline Definitions312349
Node: Anonymous Definitions314901
Node: Quotations316491
Node: Supplying names317798
Node: User-defined Defining Words318463
Node: User-defined defining words with colon definitions319231
Ref: User-defined defining words with colon definitions-Footnote-1321809
Node: User-defined defining words using CREATE322093
Ref: User-defined defining words using CREATE-Footnote-1327006
Ref: User-defined defining words using CREATE-Footnote-2327073
Node: CREATE..DOES> applications327256
Node: CREATE..DOES> details328661
Node: Advanced does> usage example331215
Node: Words with user-defined TO etc.335746
Node: User-defined compile-comma341853
Node: Creating from a prototype346690
Node: Making a word current349130
Node: Const-does>349949
Node: Deferred Words351188
Node: Aliases355630
Node: Structures357298
Node: Standard Structures358049
Node: Value-Flavoured and Defer-Flavoured Fields363097
Node: Structure Extension369812
Ref: Structure Extension-Footnote-1371555
Node: Gforth structs371623
Node: User-defined Stacks375761
Node: Interpretation and Compilation Semantics377787
Ref: Interpretation and Compilation Semantics-Footnote-1380849
Ref: Interpretation and Compilation Semantics-Footnote-2380919
Node: Combined words381144
Ref: state-smartness383936
Ref: Combined words-Footnote-1385067
Node: Tokens for Words385279
Node: Execution token385740
Ref: Execution token-Footnote-1389526
Node: Name token389855
Node: Compilation token394584
Ref: Compilation token-Footnote-1396358
Node: Compiling words396583
Node: Literals397301
Node: Macros400487
Ref: Macros-Footnote-1409027
Node: The Text Interpreter409233
Ref: The Text Interpreter-Footnote-1415356
Ref: The Text Interpreter-Footnote-2415453
Ref: The Text Interpreter-Footnote-3415664
Ref: The Text Interpreter-Footnote-4415822
Ref: The Text Interpreter-Footnote-5415862
Node: Input Sources415956
Node: Number Conversion418328
Node: Interpret/Compile states420960
Node: Interpreter Directives421845
Node: Recognizers426132
Node: Default Recognizers426981
Node: Dealing with existing Recognizers430728
Node: Defining Recognizers437933
Node: Text Interpreter Hooks438104
Node: The Input Stream438633
Node: Word Lists442822
Node: Vocabularies450876
Node: Why use word lists?452123
Node: Word list example454673
Node: Environmental Queries455374
Node: Files463927
Node: Forth source files464489
Node: General files467814
Node: Redirection471898
Node: Directories473910
Node: Search Paths476479
Node: Source Search Paths478385
Node: General Search Paths479305
Node: Blocks481370
Ref: Blocks-Footnote-1491293
Node: Other I/O491692
Node: Simple numeric output492421
Node: Formatted numeric output494678
Node: Floating-point output501332
Node: Miscellaneous output506033
Node: Displaying characters and strings509075
Node: Terminal output509756
Node: Single-key input512326
Node: Line input and conversion518808
Node: Pipes522375
Node: Xchars and Unicode523341
Node: i18n and l10n529283
Node: Substitute532517
Node: CSV reading and writing534809
Node: OS command line arguments536014
Node: Locals538243
Node: Gforth locals538600
Node: Locals definition words542449
Node: Where are locals visible by name?545608
Ref: Where are locals visible by name?-Footnote-1553041
Node: How long do locals live?553140
Node: Locals programming style554042
Node: Locals implementation556754
Node: Standard Forth locals563628
Node: Object-oriented Forth565115
Node: Why object-oriented programming?565847
Node: Object-Oriented Terminology567204
Node: Objects569061
Node: Properties of the Objects model570204
Node: Basic Objects Usage571993
Node: The Objects base class574402
Node: Creating objects574892
Node: Object-Oriented Programming Style575686
Node: Class Binding576682
Node: Method conveniences578934
Ref: Method conveniences-Footnote-1581090
Node: Classes and Scoping581288
Node: Dividing classes582760
Node: Object Interfaces584012
Node: Objects Implementation586024
Ref: Objects Implementation-Footnote-1590883
Node: Objects Glossary590961
Node: OOF597516
Node: Properties of the OOF model598203
Node: Basic OOF Usage599255
Node: The OOF base class602981
Node: Class Declaration606366
Node: Mini-OOF607380
Node: Basic Mini-OOF Usage607869
Node: Mini-OOF Example609421
Node: Mini-OOF Implementation610968
Node: Mini-OOF2615020
Node: Comparison with other object models616563
Ref: Comparison with other object models-Footnote-1620237
Node: Closures620395
Node: How do I read outer locals?630252
Node: How do I write outer locals?631453
Node: Regular Expressions636081
Node: Programming Tools642317
Node: Locating source code definitions643055
Node: Locating uses of a word646240
Node: Locating exception source648730
Node: Examining compiled code649042
Node: Examining data654669
Node: Forgetting words656947
Node: Debugging658283
Node: Assertions661421
Node: Singlestep Debugger664820
Node: Code Coverage667161
Node: Multitasker670177
Node: Pthreads670802
Node: Basic multi-tasking671602
Node: Task-local data676496
Node: Semaphores678366
Node: Hardware operations for multi-tasking679708
Node: Message queues681467
Node: Cilk683406
Node: C Interface685430
Node: Calling C Functions686590
Ref: Calling C Functions-Footnote-1689106
Node: Declaring C Functions689318
Node: Calling C function pointers692921
Node: Defining library interfaces694480
Node: Declaring OS-level libraries697456
Node: Callbacks699626
Node: C interface internals701321
Node: Low-Level C Interface Words702665
Node: Automated interface generation using SWIG703378
Node: Migrating the C interface from earlier Gforth705737
Node: Assembler and Code Words706425
Node: Assembler Definitions707116
Node: Common Assembler714302
Node: Common Disassembler716998
Node: 386 Assembler718687
Node: AMD64 Assembler723126
Node: Alpha Assembler730267
Node: MIPS assembler731230
Node: PowerPC assembler734647
Node: ARM Assembler735655
Node: Other assemblers740586
Node: Carnal words741886
Node: Header fields742276
Node: Header methods745312
Node: Threading Words751662
Node: Passing Commands to the OS756390
Node: Keeping track of Time758014
Node: Miscellaneous Words759383
Node: Error messages759975
Node: Tools763208
Node: Standard Report763512
Node: Stack depth changes765411
Node: Standard conformance767389
Node: The Core Words770293
Node: core-idef770653
Node: core-ambcond779034
Node: core-other788622
Node: The optional Block word set789945
Node: block-idef790346
Node: block-ambcond790774
Node: block-other791722
Node: The optional Double Number word set792083
Node: double-ambcond792395
Node: The optional Exception word set792669
Node: exception-idef792986
Node: The optional Facility word set793720
Node: facility-idef794086
Node: facility-ambcond795265
Node: The optional File-Access word set795664
Node: file-idef796041
Node: file-ambcond798426
Node: The optional Floating-Point word set799737
Node: floating-idef800118
Node: floating-ambcond801262
Node: The optional Locals word set804433
Node: locals-idef804804
Node: locals-ambcond805347
Node: The optional Memory-Allocation word set805846
Node: memory-idef806189
Node: The optional Programming-Tools word set806654
Node: programming-idef807058
Node: programming-ambcond807990
Node: The optional Search-Order word set809323
Node: search-idef809669
Node: search-ambcond810047
Node: Standard vs Extensions810813
Node: Model814152
Node: Integrating Gforth814384
Node: Emacs and Gforth818013
Node: Installing gforth.el819907
Node: Emacs Tags820694
Node: Hilighting821603
Node: Auto-Indentation823443
Node: Blocks Files824840
Node: Image Files826222
Node: Image Licensing Issues827009
Node: Image File Background828197
Ref: Image File Background-Footnote-1832483
Node: Non-Relocatable Image Files832599
Node: Data-Relocatable Image Files833580
Node: Fully Relocatable Image Files834489
Node: gforthmi835363
Node: cross.fs838093
Node: Stack and Dictionary Sizes838803
Node: Running Image Files839893
Ref: Running Image Files-Footnote-1842824
Node: Modifying the Startup Sequence843189
Node: Engine845769
Node: Portability846508
Node: Threading849185
Node: Scheduling850420
Node: Direct or Indirect Threaded?852218
Node: Dynamic Superinstructions855075
Node: DOES>859858
Node: Primitives860964
Node: Automatic Generation861162
Ref: Automatic Generation-Footnote-1864669
Node: TOS Optimization864840
Node: Produced code867541
Node: Performance867960
Node: Cross Compiler873357
Node: Using the Cross Compiler873872
Node: How the Cross Compiler Works878507
Node: MINOS2878688
Node: MINOS2 object framework878879
Node: actor methods879360
Node: widget methods881011
Node: MINOS2 tutorial887350
Node: Bugs888207
Node: Origin889254
Node: Forth-related information892406
Node: Licenses893004
Node: GNU Free Documentation License893290
Node: Copying917123
Node: Word Index954675
Node: Concept Index1121122

End Tag Table


Local Variables:
coding: utf-8
End:
