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

This manual is for Gforth (version 0.7.9_20250524, May 24, 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: 601608
gforth.info-4: 919110

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 input514315
Node: Line input and conversion520797
Node: Pipes524364
Node: Xchars and Unicode525330
Node: i18n and l10n531272
Node: Substitute534506
Node: CSV reading and writing536798
Node: OS command line arguments538003
Node: Locals540232
Node: Gforth locals540589
Node: Locals definition words544438
Node: Where are locals visible by name?547595
Ref: Where are locals visible by name?-Footnote-1555028
Node: How long do locals live?555127
Node: Locals programming style556029
Node: Locals implementation558741
Node: Standard Forth locals565615
Node: Object-oriented Forth567102
Node: Why object-oriented programming?567834
Node: Object-Oriented Terminology569191
Node: Objects571048
Node: Properties of the Objects model572191
Node: Basic Objects Usage573980
Node: The Objects base class576389
Node: Creating objects576879
Node: Object-Oriented Programming Style577673
Node: Class Binding578669
Node: Method conveniences580921
Ref: Method conveniences-Footnote-1583077
Node: Classes and Scoping583275
Node: Dividing classes584747
Node: Object Interfaces585999
Node: Objects Implementation588011
Ref: Objects Implementation-Footnote-1592870
Node: Objects Glossary592948
Node: OOF599503
Node: Properties of the OOF model601608
Node: Basic OOF Usage602660
Node: The OOF base class604968
Node: Class Declaration608353
Node: Mini-OOF609367
Node: Basic Mini-OOF Usage609856
Node: Mini-OOF Example611408
Node: Mini-OOF Implementation612955
Node: Mini-OOF2617007
Node: Comparison with other object models618550
Ref: Comparison with other object models-Footnote-1622224
Node: Closures622382
Node: How do I read outer locals?632239
Node: How do I write outer locals?633440
Node: Regular Expressions638068
Node: Programming Tools644304
Node: Locating source code definitions645042
Node: Locating uses of a word648227
Node: Locating exception source650717
Node: Examining compiled code651029
Node: Examining data656656
Node: Forgetting words658934
Node: Debugging660270
Node: Assertions663408
Node: Singlestep Debugger666807
Node: Code Coverage669148
Node: Multitasker672164
Node: Pthreads672789
Node: Basic multi-tasking673589
Node: Task-local data678483
Node: Semaphores680353
Node: Hardware operations for multi-tasking681695
Node: Message queues683454
Node: Cilk685393
Node: C Interface687417
Node: Calling C Functions688577
Ref: Calling C Functions-Footnote-1691093
Node: Declaring C Functions691305
Node: Calling C function pointers694908
Node: Defining library interfaces696467
Node: Declaring OS-level libraries699443
Node: Callbacks701613
Node: C interface internals703308
Node: Low-Level C Interface Words704652
Node: Automated interface generation using SWIG705365
Node: Migrating the C interface from earlier Gforth707724
Node: Assembler and Code Words708412
Node: Assembler Definitions709103
Node: Common Assembler716289
Node: Common Disassembler718985
Node: 386 Assembler720674
Node: AMD64 Assembler725113
Node: Alpha Assembler732254
Node: MIPS assembler733217
Node: PowerPC assembler736634
Node: ARM Assembler737642
Node: Other assemblers742573
Node: Carnal words743873
Node: Header fields744263
Node: Header methods747299
Node: Threading Words753649
Node: Passing Commands to the OS758377
Node: Keeping track of Time760001
Node: Miscellaneous Words761370
Node: Error messages761962
Node: Tools765195
Node: Standard Report765499
Node: Stack depth changes767398
Node: Standard conformance769376
Node: The Core Words772280
Node: core-idef772640
Node: core-ambcond781021
Node: core-other790609
Node: The optional Block word set791932
Node: block-idef792333
Node: block-ambcond792761
Node: block-other793709
Node: The optional Double Number word set794070
Node: double-ambcond794382
Node: The optional Exception word set794656
Node: exception-idef794973
Node: The optional Facility word set795707
Node: facility-idef796073
Node: facility-ambcond797252
Node: The optional File-Access word set797651
Node: file-idef798028
Node: file-ambcond800413
Node: The optional Floating-Point word set801724
Node: floating-idef802105
Node: floating-ambcond803249
Node: The optional Locals word set806420
Node: locals-idef806791
Node: locals-ambcond807334
Node: The optional Memory-Allocation word set807833
Node: memory-idef808176
Node: The optional Programming-Tools word set808641
Node: programming-idef809045
Node: programming-ambcond809977
Node: The optional Search-Order word set811310
Node: search-idef811656
Node: search-ambcond812034
Node: Standard vs Extensions812800
Node: Model816139
Node: Integrating Gforth816371
Node: Emacs and Gforth820000
Node: Installing gforth.el821894
Node: Emacs Tags822681
Node: Hilighting823590
Node: Auto-Indentation825430
Node: Blocks Files826827
Node: Image Files828209
Node: Image Licensing Issues828996
Node: Image File Background830184
Ref: Image File Background-Footnote-1834470
Node: Non-Relocatable Image Files834586
Node: Data-Relocatable Image Files835567
Node: Fully Relocatable Image Files836476
Node: gforthmi837350
Node: cross.fs840080
Node: Stack and Dictionary Sizes840790
Node: Running Image Files841880
Ref: Running Image Files-Footnote-1844811
Node: Modifying the Startup Sequence845176
Node: Engine847756
Node: Portability848495
Node: Threading851172
Node: Scheduling852407
Node: Direct or Indirect Threaded?854205
Node: Dynamic Superinstructions857062
Node: DOES>861845
Node: Primitives862951
Node: Automatic Generation863149
Ref: Automatic Generation-Footnote-1866656
Node: TOS Optimization866827
Node: Produced code869528
Node: Performance869947
Node: Cross Compiler875344
Node: Using the Cross Compiler875859
Node: How the Cross Compiler Works880494
Node: MINOS2880675
Node: MINOS2 object framework880866
Node: actor methods881347
Node: widget methods882998
Node: MINOS2 tutorial889337
Node: Bugs890194
Node: Origin891241
Node: Forth-related information894393
Node: Licenses894991
Node: GNU Free Documentation License895277
Node: Copying919110
Node: Word Index956662
Node: Concept Index1123108

End Tag Table


Local Variables:
coding: utf-8
End:
