Browsable LDF Grammar

CC-BY

Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: doc/ldf/readable/extracted
Source used for this grammar: Vadim Zaytsev, Software Language Processing Suite, LDF, shared/xsd/ldf.xsd, 2008–2011, readable version

Summary

Syntax

document ::=
	document-metadata part+
document-metadata ::=
	body? [number]::string? [author]::person* [topic]::string status version-or-edition [previous]::named-link* [date]::timestamp
body ::=
	[ansi]::ε
	[ecma]::ε
	[ieee]::ε
	[iso]::ε
	[iso/iet]::ε
	[itu]::ε
	[iec]::ε
	[ietf]::ε
	[oasis]::ε
	[omg]::ε
	[wsa]::ε
	[w3c]::ε
person ::=
	[name]::string [affiliation]::string? [email]::string?
status ::=
	[unknown]::ε
	[draft]::ε
	[candidate]::ε
	[proposed]::ε
	[approved]::ε
	[revised]::ε
	[obsolete]::ε
	[withdrawn]::ε
	[collection]::ε
	[trial]::ε
	[errata]::ε
	[report]::ε
version-or-edition ::=
	[version]::string
	[edition]::string
named-link ::=
	[title]::string version-or-edition? [uri]::anyURI?
part ::=
	part-metadata section+
part-metadata ::=
	[id]::ID? part-role [title]::string? [author]::person*
part-role ::=
	[front-matter]::ε
	[core-part]::ε
	[back-matter]::ε
	[annex]::ε
section ::=
	section-metadata section-structure
section-metadata ::=
	[id]::ID? section-role type? [title]::string? [author]::person*
section-role ::=
	[abstract]::ε
	[conformance]::ε
	[compatibility]::ε
	[design-goals]::ε
	[document-structure]::ε
	[foreword]::ε
	[references]::ε
	[notation]::ε
	[scope]::ε
	[what-is-new]::ε
	[index]::ε
	[full-grammar]::ε
	[list-of-tables]::ε
	[list-of-authors]::ε
	[list-of-contents]::ε
	[list-of-references]::ε
	[top-section]::ε
	[lexical-section]::ε
type ::=
	[normative]::ε
	[informative]::ε
section-structure ::=
	[content]::content-content+
	[placeholder]::α
	subsection+
content-content ::=
	[para]::mixed
	[list]::list
	production
mixed ::=
	(α | string)*
list ::=
	[item]::mixed+
production ::=
	[label]::label? [nonterminal]::nonterminal expression
label ::=
	string
nonterminal ::=
	string
expression ::=
	[epsilon]::ε
	[empty]::ε
	[value]::value
	[any]::ε
	[terminal]::terminal
	[nonterminal]::nonterminal
	[selectable]::([selector]::selector expression)
	[marked]::expression
	[sequence]::expression+
	[choice]::expression+
	[allof]::expression+
	[not]::expression
	[optional]::expression
	[plus]::expression
	[star]::expression
	[seplistplus]::(expression expression)
	[sepliststar]::(expression expression)
value ::=
	[int]::ε
	[string]::ε
terminal ::=
	string
selector ::=
	string
subsection ::=
	subsection-metadata section-structure
subsection-metadata ::=
	[id]::ID? subsection-role type? [title]::string? [author]::person*
subsection-role ::=
	[synopsis]::ε
	[description]::ε
	[syntax]::ε
	[constraints]::ε
	[relationship]::ε
	[semantics]::ε
	[default]::ε
	[rationale]::ε
	[example]::ε
	[update]::ε
	[subtopic]::ε
	[section]::ε

GrammarLabMaintained by Dr. Vadim Zaytsev a.k.a. @grammarware. Last updated in September 2015. []