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

This manual is for Gforth (version 0.7.9_20250521, May 21, 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: 602416
gforth.info-4: 918866

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 Definitions312043
Node: Inline Definitions312755
Node: Anonymous Definitions315307
Node: Quotations316897
Node: Supplying names318285
Node: User-defined Defining Words318950
Node: User-defined defining words with colon definitions319718
Node: User-defined defining words using CREATE322381
Node: CREATE..DOES> applications326543
Node: CREATE..DOES> details327948
Node: Advanced does> usage example332010
Node: Words with user-defined TO etc.336541
Ref: Words with user-defined TO etc.-Footnote-1342378
Node: User-defined compile-comma342630
Node: Creating from a prototype347444
Node: Making a word current349884
Node: Const-does>350703
Node: Deferred Words351942
Node: Aliases357131
Node: Structures358799
Node: Standard Structures359550
Node: Value-Flavoured and Defer-Flavoured Fields364598
Node: Structure Extension371314
Ref: Structure Extension-Footnote-1373057
Node: Gforth structs373125
Node: User-defined Stacks377263
Node: Interpretation and Compilation Semantics379289
Ref: Interpretation and Compilation Semantics-Footnote-1382351
Ref: Interpretation and Compilation Semantics-Footnote-2382421
Node: Combined words382646
Ref: state-smartness385438
Ref: Combined words-Footnote-1386569
Node: Tokens for Words386781
Node: Execution token387242
Ref: Execution token-Footnote-1391028
Node: Name token391357
Node: Compilation token396086
Ref: Compilation token-Footnote-1397860
Node: Compiling words398085
Node: Literals398803
Node: Macros401989
Ref: Macros-Footnote-1410772
Node: The Text Interpreter410978
Ref: The Text Interpreter-Footnote-1417101
Ref: The Text Interpreter-Footnote-2417198
Ref: The Text Interpreter-Footnote-3417409
Ref: The Text Interpreter-Footnote-4417567
Ref: The Text Interpreter-Footnote-5417607
Node: Input Sources417701
Node: Number Conversion420073
Node: Interpret/Compile states422705
Node: Interpreter Directives423590
Node: Recognizers427877
Node: Default Recognizers428726
Node: Dealing with existing Recognizers432473
Node: Defining Recognizers439678
Node: Text Interpreter Hooks439849
Node: The Input Stream440378
Node: Word Lists444567
Node: Vocabularies452621
Node: Why use word lists?453868
Node: Word list example456418
Node: Environmental Queries457119
Node: Files465672
Node: Forth source files466234
Node: General files469559
Node: Redirection473643
Node: Directories475655
Node: Search Paths478224
Node: Source Search Paths480130
Node: General Search Paths481050
Node: Blocks483115
Ref: Blocks-Footnote-1493038
Node: Other I/O493437
Node: Simple numeric output494166
Node: Formatted numeric output496423
Node: Floating-point output503077
Node: Miscellaneous output507778
Node: Displaying characters and strings510820
Node: Terminal output511501
Node: Single-key input514071
Node: Line input and conversion520553
Node: Pipes524120
Node: Xchars and Unicode525086
Node: i18n and l10n531028
Node: Substitute534262
Node: CSV reading and writing536554
Node: OS command line arguments537759
Node: Locals539988
Node: Gforth locals540345
Node: Locals definition words544194
Node: Where are locals visible by name?547351
Ref: Where are locals visible by name?-Footnote-1554784
Node: How long do locals live?554883
Node: Locals programming style555785
Node: Locals implementation558497
Node: Standard Forth locals565371
Node: Object-oriented Forth566858
Node: Why object-oriented programming?567590
Node: Object-Oriented Terminology568947
Node: Objects570804
Node: Properties of the Objects model571947
Node: Basic Objects Usage573736
Node: The Objects base class576145
Node: Creating objects576635
Node: Object-Oriented Programming Style577429
Node: Class Binding578425
Node: Method conveniences580677
Ref: Method conveniences-Footnote-1582833
Node: Classes and Scoping583031
Node: Dividing classes584503
Node: Object Interfaces585755
Node: Objects Implementation587767
Ref: Objects Implementation-Footnote-1592626
Node: Objects Glossary592704
Node: OOF599259
Node: Properties of the OOF model599946
Node: Basic OOF Usage602416
Node: The OOF base class604724
Node: Class Declaration608109
Node: Mini-OOF609123
Node: Basic Mini-OOF Usage609612
Node: Mini-OOF Example611164
Node: Mini-OOF Implementation612711
Node: Mini-OOF2616763
Node: Comparison with other object models618306
Ref: Comparison with other object models-Footnote-1621980
Node: Closures622138
Node: How do I read outer locals?631995
Node: How do I write outer locals?633196
Node: Regular Expressions637824
Node: Programming Tools644060
Node: Locating source code definitions644798
Node: Locating uses of a word647983
Node: Locating exception source650473
Node: Examining compiled code650785
Node: Examining data656412
Node: Forgetting words658690
Node: Debugging660026
Node: Assertions663164
Node: Singlestep Debugger666563
Node: Code Coverage668904
Node: Multitasker671920
Node: Pthreads672545
Node: Basic multi-tasking673345
Node: Task-local data678239
Node: Semaphores680109
Node: Hardware operations for multi-tasking681451
Node: Message queues683210
Node: Cilk685149
Node: C Interface687173
Node: Calling C Functions688333
Ref: Calling C Functions-Footnote-1690849
Node: Declaring C Functions691061
Node: Calling C function pointers694664
Node: Defining library interfaces696223
Node: Declaring OS-level libraries699199
Node: Callbacks701369
Node: C interface internals703064
Node: Low-Level C Interface Words704408
Node: Automated interface generation using SWIG705121
Node: Migrating the C interface from earlier Gforth707480
Node: Assembler and Code Words708168
Node: Assembler Definitions708859
Node: Common Assembler716045
Node: Common Disassembler718741
Node: 386 Assembler720430
Node: AMD64 Assembler724869
Node: Alpha Assembler732010
Node: MIPS assembler732973
Node: PowerPC assembler736390
Node: ARM Assembler737398
Node: Other assemblers742329
Node: Carnal words743629
Node: Header fields744019
Node: Header methods747055
Node: Threading Words753405
Node: Passing Commands to the OS758133
Node: Keeping track of Time759757
Node: Miscellaneous Words761126
Node: Error messages761718
Node: Tools764951
Node: Standard Report765255
Node: Stack depth changes767154
Node: Standard conformance769132
Node: The Core Words772036
Node: core-idef772396
Node: core-ambcond780777
Node: core-other790365
Node: The optional Block word set791688
Node: block-idef792089
Node: block-ambcond792517
Node: block-other793465
Node: The optional Double Number word set793826
Node: double-ambcond794138
Node: The optional Exception word set794412
Node: exception-idef794729
Node: The optional Facility word set795463
Node: facility-idef795829
Node: facility-ambcond797008
Node: The optional File-Access word set797407
Node: file-idef797784
Node: file-ambcond800169
Node: The optional Floating-Point word set801480
Node: floating-idef801861
Node: floating-ambcond803005
Node: The optional Locals word set806176
Node: locals-idef806547
Node: locals-ambcond807090
Node: The optional Memory-Allocation word set807589
Node: memory-idef807932
Node: The optional Programming-Tools word set808397
Node: programming-idef808801
Node: programming-ambcond809733
Node: The optional Search-Order word set811066
Node: search-idef811412
Node: search-ambcond811790
Node: Standard vs Extensions812556
Node: Model815895
Node: Integrating Gforth816127
Node: Emacs and Gforth819756
Node: Installing gforth.el821650
Node: Emacs Tags822437
Node: Hilighting823346
Node: Auto-Indentation825186
Node: Blocks Files826583
Node: Image Files827965
Node: Image Licensing Issues828752
Node: Image File Background829940
Ref: Image File Background-Footnote-1834226
Node: Non-Relocatable Image Files834342
Node: Data-Relocatable Image Files835323
Node: Fully Relocatable Image Files836232
Node: gforthmi837106
Node: cross.fs839836
Node: Stack and Dictionary Sizes840546
Node: Running Image Files841636
Ref: Running Image Files-Footnote-1844567
Node: Modifying the Startup Sequence844932
Node: Engine847512
Node: Portability848251
Node: Threading850928
Node: Scheduling852163
Node: Direct or Indirect Threaded?853961
Node: Dynamic Superinstructions856818
Node: DOES>861601
Node: Primitives862707
Node: Automatic Generation862905
Ref: Automatic Generation-Footnote-1866412
Node: TOS Optimization866583
Node: Produced code869284
Node: Performance869703
Node: Cross Compiler875100
Node: Using the Cross Compiler875615
Node: How the Cross Compiler Works880250
Node: MINOS2880431
Node: MINOS2 object framework880622
Node: actor methods881103
Node: widget methods882754
Node: MINOS2 tutorial889093
Node: Bugs889950
Node: Origin890997
Node: Forth-related information894149
Node: Licenses894747
Node: GNU Free Documentation License895033
Node: Copying918866
Node: Word Index956418
Node: Concept Index1122864

End Tag Table


Local Variables:
coding: utf-8
End:
