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

This manual is for Gforth (version 0.7.9_20250219, February 19, 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: 1439
gforth.info-2: 302474
gforth.info-3: 604524
gforth.info-4: 901941

Tag Table:
(Indirect)
Node: Top1439
Node: Goals16879
Ref: Goals-Footnote-118746
Node: Stability Goals18865
Node: Gforth Environment20554
Node: Invoking Gforth21323
Node: Leaving Gforth36490
Node: Help on Gforth37047
Node: Command-line editing37905
Ref: Command-line editing-Footnote-140507
Node: Environment variables40566
Node: Gforth Files42409
Node: Gforth in pipes43256
Node: Startup speed45113
Node: Tutorial46897
Node: Starting Gforth Tutorial49215
Node: Syntax Tutorial49623
Node: Crash Course Tutorial50521
Node: Stack Tutorial51375
Node: Arithmetics Tutorial52053
Ref: Arithmetics Tutorial-Footnote-153095
Node: Stack Manipulation Tutorial53176
Node: Using files for Forth code Tutorial54628
Node: Comments Tutorial56170
Ref: Comments Tutorial-Footnote-157296
Node: Colon Definitions Tutorial57365
Node: Decompilation Tutorial58503
Node: Stack-Effect Comments Tutorial59043
Node: Types Tutorial62249
Node: Factoring Tutorial64069
Node: Designing the stack effect Tutorial65241
Node: Local Variables Tutorial67829
Node: Conditional execution Tutorial69247
Node: Flags and Comparisons Tutorial70620
Node: General Loops Tutorial73327
Node: Counted loops Tutorial75377
Node: Recursion Tutorial76769
Node: Leaving definitions or loops Tutorial77786
Node: Return Stack Tutorial78511
Node: Memory Tutorial80379
Node: Characters and Strings Tutorial83268
Node: Alignment Tutorial84835
Node: Floating Point Tutorial86056
Node: Files Tutorial89635
Node: Interpretation and Compilation Semantics and Immediacy Tutorial92902
Node: Execution Tokens Tutorial95500
Node: Exceptions Tutorial98623
Node: Defining Words Tutorial100493
Node: Arrays and Records Tutorial103409
Node: POSTPONE Tutorial104793
Node: Literal Tutorial106746
Node: Advanced macros Tutorial107637
Node: Compilation Tokens Tutorial110027
Node: Wordlists and Search Order Tutorial111226
Node: Introduction114027
Node: Introducing the Text Interpreter116155
Ref: Introducing the Text Interpreter-Footnote-1121375
Node: Stacks and Postfix notation121459
Node: Your first definition130679
Ref: Your first definition-Footnote-1134233
Node: How does that work?134397
Node: Forth is written in Forth143762
Ref: Forth is written in Forth-Footnote-1145509
Ref: Forth is written in Forth-Footnote-2145599
Node: Review - elements of a Forth system145653
Node: Where to go next147549
Node: Exercises149301
Node: Literals in source code149609
Node: Words156994
Node: Notation157850
Ref: Notation-Footnote-1163545
Node: Case insensitivity163639
Node: Comments164344
Node: Boolean Flags165675
Node: Arithmetic166565
Node: Single precision167304
Node: Double precision168532
Node: Mixed precision169995
Node: Integer division170290
Node: Two-stage integer division176858
Node: Bitwise operations182737
Node: Numeric comparison186472
Node: Floating Point189189
Ref: Floating Point-Footnote-1195911
Node: Stack Manipulation196103
Node: Data stack196773
Node: Floating point stack198280
Node: Return stack199164
Node: Locals stack201104
Node: Stack pointer manipulation201398
Node: Memory202668
Node: Memory model203130
Ref: Memory model-Footnote-1204371
Node: Dictionary allocation204587
Node: Sections209295
Node: Heap Allocation214787
Node: Memory blocks and heap allocation216597
Node: Growable memory buffers217952
Node: Memory Access219246
Node: Special Memory Accesses220798
Node: Address arithmetic225350
Ref: Address arithmetic-Footnote-1231437
Node: Memory Blocks231483
Node: Strings and Characters233469
Node: Characters233775
Node: String representations235296
Node: String and character literals236611
Node: String words242250
Node: $tring words248605
Node: Counted string words255230
Node: Control Structures256821
Ref: Control Structures-Footnote-1257530
Node: Selection257643
Node: Simple Loops260598
Node: Counted Loops261329
Ref: Counted Loops-Footnote-1272422
Node: BEGIN loops with multiple exits272467
Node: General control structures with CASE274497
Ref: General control structures with CASE-Footnote-1277451
Node: Arbitrary control structures277589
Node: Calls and returns284125
Node: Exception Handling286278
Node: Defining Words298095
Node: CREATE298812
Node: Variables302474
Node: Constants304635
Ref: Constants-Footnote-1307955
Node: Values308071
Node: Varues309709
Node: Colon Definitions310925
Node: Anonymous Definitions314047
Node: Quotations315694
Node: Supplying names316909
Node: User-defined Defining Words317580
Node: User-defined defining words with colon definitions318348
Ref: User-defined defining words with colon definitions-Footnote-1320934
Node: User-defined defining words using CREATE321218
Ref: User-defined defining words using CREATE-Footnote-1326137
Ref: User-defined defining words using CREATE-Footnote-2326204
Node: CREATE..DOES> applications326389
Node: CREATE..DOES> details327794
Node: Advanced does> usage example330370
Node: Words with user-defined TO etc.334907
Node: User-defined compile-comma341332
Node: Creating from a prototype346187
Node: Making a word current348653
Node: Const-does>349486
Node: Deferred Words350733
Node: Forward355249
Node: Aliases356028
Node: Structures357705
Node: Standard Structures358456
Node: Varue-Flavoured and Defer-Flavoured Fields363578
Node: Structure Extension370032
Ref: Structure Extension-Footnote-1371781
Node: Gforth structs371849
Node: User-defined Stacks376083
Node: Interpretation and Compilation Semantics378169
Ref: Interpretation and Compilation Semantics-Footnote-1381253
Ref: Interpretation and Compilation Semantics-Footnote-2381327
Node: Combined words381552
Ref: state-smartness384380
Ref: Combined words-Footnote-1385513
Node: Tokens for Words385728
Node: Execution token386189
Ref: Execution token-Footnote-1390021
Node: Name token390350
Node: Compilation token395160
Ref: Compilation token-Footnote-1396960
Node: Compiling words397185
Node: Literals397903
Node: Macros401151
Ref: Macros-Footnote-1409733
Node: The Text Interpreter409939
Ref: The Text Interpreter-Footnote-1416134
Ref: The Text Interpreter-Footnote-2416231
Ref: The Text Interpreter-Footnote-3416442
Ref: The Text Interpreter-Footnote-4416600
Ref: The Text Interpreter-Footnote-5416640
Node: Input Sources416734
Node: Number Conversion419146
Node: Interpret/Compile states421814
Node: Interpreter Directives422699
Node: Recognizers427120
Node: Default Recognizers427969
Node: Dealing with existing Recognizers431724
Node: Defining Recognizers439125
Node: Text Interpreter Hooks439296
Node: The Input Stream439843
Node: Word Lists444086
Node: Vocabularies452342
Node: Why use word lists?453589
Node: Word list example456145
Node: Environmental Queries456846
Node: Files465583
Node: Forth source files466147
Node: General files469540
Node: Redirection473800
Node: Directories475842
Node: Search Paths478486
Node: Source Search Paths480400
Node: General Search Paths481338
Node: Blocks483447
Ref: Blocks-Footnote-1493529
Node: Other I/O493928
Node: Simple numeric output494657
Node: Formatted numeric output496994
Node: Floating-point output503712
Node: Miscellaneous output508473
Node: Displaying characters and strings511579
Node: Terminal output512284
Node: Single-key input514962
Node: Line input and conversion521720
Node: Pipes525353
Node: Xchars and Unicode526339
Node: i18n and l10n532386
Node: Substitute535698
Node: CSV reading and writing538042
Node: OS command line arguments539279
Node: Locals541544
Node: Gforth locals542287
Node: Locals definition words547251
Node: Where are locals visible by name?551371
Ref: Where are locals visible by name?-Footnote-1558572
Node: How long do locals live?558671
Node: Locals programming style559533
Node: Locals implementation562245
Node: Standard Forth locals568798
Node: Object-oriented Forth570356
Node: Why object-oriented programming?571088
Node: Object-Oriented Terminology572451
Node: Objects574310
Node: Properties of the Objects model575455
Node: Basic Objects Usage577246
Node: The Objects base class579655
Node: Creating objects580145
Node: Object-Oriented Programming Style580947
Node: Class Binding581943
Node: Method conveniences584197
Ref: Method conveniences-Footnote-1586353
Node: Classes and Scoping586551
Node: Dividing classes588023
Node: Object Interfaces589277
Node: Objects Implementation591293
Ref: Objects Implementation-Footnote-1596160
Node: Objects Glossary596238
Node: OOF604524
Node: Properties of the OOF model605211
Node: Basic OOF Usage606267
Node: The OOF base class608577
Node: Class Declaration612100
Node: Mini-OOF613168
Node: Basic Mini-OOF Usage613659
Node: Mini-OOF Example615263
Node: Mini-OOF Implementation616810
Node: Mini-OOF2620874
Node: Comparison with other object models622441
Ref: Comparison with other object models-Footnote-1626119
Node: Closures626277
Node: How do I read outer locals?636248
Node: How do I write outer locals?637451
Node: Regular Expressions642097
Node: Programming Tools648659
Node: Locating source code definitions649397
Node: Locating uses of a word652642
Node: Locating exception source655200
Node: Examining compiled code655530
Node: Examining data661207
Node: Forgetting words663557
Node: Debugging664904
Node: Assertions668144
Node: Singlestep Debugger671587
Node: Code Coverage673958
Node: Multitasker677058
Node: Pthreads677683
Node: Basic multi-tasking678483
Node: Task-local data683509
Node: Semaphores685443
Node: Hardware operations for multi-tasking686811
Node: Message queues688341
Node: Cilk690302
Node: C Interface692376
Node: Calling C Functions693540
Ref: Calling C Functions-Footnote-1696056
Node: Declaring C Functions696268
Node: Calling C function pointers699899
Node: Defining library interfaces701465
Node: Declaring OS-level libraries704473
Node: Callbacks706687
Node: C interface internals708396
Node: Low-Level C Interface Words709740
Node: Automated interface generation using SWIG710477
Node: Migrating the C interface from earlier Gforth712846
Node: Assembler and Code Words713536
Node: Assembler Definitions714227
Node: Common Assembler721469
Node: Common Disassembler724167
Node: 386 Assembler725862
Node: AMD64 Assembler730313
Node: Alpha Assembler737468
Node: MIPS assembler738433
Node: PowerPC assembler741858
Node: ARM Assembler742870
Node: Other assemblers747809
Node: Carnal words749111
Node: Header fields749505
Node: Header methods752537
Node: Threading Words758937
Node: Passing Commands to the OS763761
Node: Keeping track of Time765419
Node: Miscellaneous Words766830
Node: Error messages767428
Node: Tools770663
Node: Standard Report770967
Node: Stack depth changes772866
Node: Standard conformance774844
Node: The Core Words777748
Node: core-idef778108
Node: core-ambcond786499
Node: core-other796089
Node: The optional Block word set797416
Node: block-idef797817
Node: block-ambcond798245
Node: block-other799193
Node: The optional Double Number word set799554
Node: double-ambcond799866
Node: The optional Exception word set800140
Node: exception-idef800457
Node: The optional Facility word set801191
Node: facility-idef801557
Node: facility-ambcond802736
Node: The optional File-Access word set803137
Node: file-idef803514
Node: file-ambcond805901
Node: The optional Floating-Point word set807212
Node: floating-idef807593
Node: floating-ambcond808737
Node: The optional Locals word set811908
Node: locals-idef812279
Node: locals-ambcond812822
Node: The optional Memory-Allocation word set813325
Node: memory-idef813668
Node: The optional Programming-Tools word set814133
Node: programming-idef814537
Node: programming-ambcond815469
Node: The optional Search-Order word set816804
Node: search-idef817150
Node: search-ambcond817528
Node: Standard vs Extensions818294
Node: Model821641
Node: Integrating Gforth821873
Node: Emacs and Gforth825506
Node: Installing gforth.el827402
Node: Emacs Tags828189
Node: Hilighting829098
Node: Auto-Indentation830970
Node: Blocks Files832387
Node: Image Files833779
Node: Image Licensing Issues834568
Node: Image File Background835758
Ref: Image File Background-Footnote-1840050
Node: Non-Relocatable Image Files840166
Node: Data-Relocatable Image Files841157
Node: Fully Relocatable Image Files842066
Node: gforthmi842940
Node: cross.fs845670
Node: Stack and Dictionary Sizes846380
Node: Running Image Files847470
Ref: Running Image Files-Footnote-1850411
Node: Modifying the Startup Sequence850782
Node: Engine853382
Node: Portability854127
Node: Threading856806
Node: Scheduling858045
Node: Direct or Indirect Threaded?859847
Node: Dynamic Superinstructions862704
Node: DOES>867487
Node: Primitives868593
Node: Automatic Generation868791
Ref: Automatic Generation-Footnote-1872298
Node: TOS Optimization872469
Node: Produced code875170
Node: Performance875589
Node: Cross Compiler880991
Node: Using the Cross Compiler881506
Node: How the Cross Compiler Works886151
Node: MINOS2886332
Node: MINOS2 object framework886523
Node: actor methods887018
Node: widget methods888783
Node: MINOS2 tutorial895442
Node: Bugs896299
Node: Origin897346
Node: Forth-related information901941
Node: Licenses902539
Node: GNU Free Documentation License902825
Node: Copying925406
Node: Word Index963161
Node: Concept Index1130112

End Tag Table


Local Variables:
coding: utf-8
End:
