Overview
ISO/IEC TS 13211-3:2025 - "Programming languages - Prolog - Part 3: Definite clause grammar rules as an extension of ISO/IEC 13211‑1" standardizes Definite Clause Grammar (DCG) rules as an extension to the ISO Prolog core. It promotes the applicability and portability of Prolog grammar rules across data‑processing systems that implement ISO/IEC 13211‑1 and ISO/IEC 13211‑2. The Technical Specification defines the representation, syntax, constraints, a logical expansion of grammar rules into Prolog clauses, and a set of built‑in predicates for parsing.
Key topics and technical requirements
- Representation & Syntax: Formalizes grammar rule terms (principal functor (-->)/2), operator table entries (including a second-form alternative operator ‘|’), terminals, non‑terminals and semicontexts.
- Logical expansion: Specifies how grammar rules are expanded into executable Prolog clauses during preparation for execution, including the mapping from non‑terminal indicators NT//N to predicate indicators NT/M (where M = N+2).
- Built‑in predicates: Standardizes grammar processing predicates such as phrase/2 and phrase/3 for parsing and generating terminal sequences.
- Grammar control constructs: Defines control constructs and built‑in non‑terminals used inside grammar bodies (e.g., grammar body cut, grammar body not, call//1), and how processors must treat implementation‑specific constructs in strictly conforming mode.
- Conformance rules: Clarifies processor responsibilities for preparing Prolog text for execution, conflict resolution when clauses and grammar rules collide (implementation‑defined behaviors), and applicability of directives (dynamic/1, multifile/1, discontiguous/1) to non‑terminal indicators.
- Terminology & semantics: Provides formal definitions for terms such as terminal sequence, generating vs parsing, semicontext, expansion of a grammar rule, and steadfastness.
Applications and users
- Prolog implementers and compiler authors - to implement portable DCG support and ensure standard mapping from grammar syntax to runtime clauses.
- Tool and library developers - for building parsing libraries, language processors, CLI tools, or DSLs using Prolog DCGs.
- Software architects and integrators - who need portable grammar-based parsers for natural language processing, protocol parsing, config-file or data format processing.
- Educators and researchers - for consistent teaching and experimentation with Prolog grammar rules and parsing techniques.
- Standards and compliance teams - to verify conformity and portability across Prolog implementations.
Related standards
Keywords: ISO/IEC TS 13211-3:2025, Prolog, Definite Clause Grammar, DCG, grammar rules, phrase/2, phrase/3, parsing, non-terminal indicator, portability, standardization.