Overview
ISO/IEC 15145:1997 - Information technology - Programming languages - Forth - defines the standardized interface between a Forth System and a Forth Program by specifying the words (language primitives and standard library) that a Standard System must provide. The standard aims to promote portability of Forth programs, ease communication among Forth programmers, and provide a stable basis for future language evolution.
Key topics
- Scope and purpose: Specifies the forms and interface expected of a Standard Forth System to increase portability and interoperability.
- Terms and notation: Definitions, numeric/stack/parsed-text notation and glossary to ensure consistent interpretation.
- Usage requirements: Requirements for data types, character types, single-cell/double-cell types, system types, numerical representation, arithmetic and stack behaviour.
- Implementation environment: Guidance on stacks, operator terminal, mass storage and environmental queries relevant to Forth systems.
- Forth dictionary and interpreter: Rules for name space, code/data space, parsing, finding definitions, compilation semantics and handling ambiguous conditions.
- Optional word sets: Standard (core) and multiple optional sets such as Block, Double-Number, Exception, Facility, File-Access, Floating-Point, Locals, Memory-Allocation, Programming-Tools, Search-Order, and String.
- Documentation and compliance: System and program documentation requirements, implementation-defined options, ambiguous-condition handling, and labeling/compliance rules (including references to ANS Forth).
- Annexes: Informative rationale, bibliography, perspective, compatibility analysis, portability guide and alphabetic word list to support implementers.
Practical applications
- Implementing a portable Forth interpreter or compiler that conforms to a recognized standard.
- Developing embedded systems, device firmware or low-level control software using Forth where predictable stack/data/word semantics matter.
- Creating libraries and toolsets (file access, floating point, exception handling) that can be shared across Forth implementations.
- Producing clear system and program documentation and compliance labels for distribution and certification.
- Assisting educators, language designers and tool vendors to teach or extend Forth while maintaining portability.
Who should use this standard
- Forth system implementers and compiler/interpreter developers
- Embedded systems engineers and firmware developers using Forth
- Tool and library authors targeting Forth environments
- Technical writers and archivists preparing Forth program documentation
- Standards bodies and project managers aiming for cross-platform portability
Related standards
- Historical Forth references such as Forth-77, Forth-79 and Forth-83, and efforts like ANS Forth are discussed in the standard’s annexes and compatibility analyses - useful context for implementers migrating legacy code.
Keywords: ISO/IEC 15145:1997, Forth standard, portable Forth programs, Forth dictionary, Forth word sets, Forth interpreter, ANS Forth, embedded Forth.