Name
productionset — A set of EBNF productions
Synopsis
productionset ::=
((((title
? &
titleabbrev
?),
info
? db.titleforbidden.info) |
info
db.titleonly.info),
(production
|
productionrecap
)+)
Attribute synopsis
Description
A productionset
is a collection of
Extended Backus-Naur Form (EBNF)
production
s.
EBNF is a notation for describing the grammar of context-free languages. Even if you aren’t conversant in the programming language concepts of context-free languages and grammars, it’s not really as hard to understand as it sounds.
Processing expectations
Formatted as a displayed block. The detailed processing expectations with respect to individual productions, lefthand sides, and righthand sides are quite complex.
The production
s should be numbered.
See Also
constraint
, lhs
, production
, productionrecap
, rhs
Examples
A set of EBNF productions describes the legal arrangements of tokens in a language. Consider arithmetic expressions as a simple example.
The expression 3 + 4
is valid and so is
3 + 4 - 5
, but 3 - + - 4
is not,
nor is 3 + 4 6
. We can use EBNF to describe all the
possible legal arrangements.
That is expressed in DocBook like this:
<article xmlns='http://docbook.org/ns/docbook'> <title>Example productionset</title> <simplesect><title>EBNF Grammar</title> <productionset><title>Arithemetic Expressions</title> <production xml:id="ebnf.expression"> <lhs>Expression</lhs> <rhs><nonterminal def="#ebnf.arith">ArithExpression</nonterminal> | <nonterminal ...
Get DocBook 5: The Definitive Guide now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.