Van Wijngaarden grammars
E440604
Van Wijngaarden grammars are a highly expressive formal grammar formalism, introduced for defining complex programming language syntax and semantics, notably used in the specification of ALGOL 68.
Observed surface forms (1)
| Surface form | Occurrences |
|---|---|
| Van Wijngaarden grammar | 1 |
Statements (44)
| Predicate | Object |
|---|---|
| instanceOf |
formal grammar formalism
ⓘ
meta-grammar formalism ⓘ two-level grammar ⓘ |
| alternativeName | two-level grammars ⓘ |
| canSpecify |
context-dependent syntax rules
ⓘ
elaborate type-related constraints in syntax ⓘ lexical structure of programming languages ⓘ |
| characteristic |
ability to capture complex context conditions
ⓘ
two-level structure ⓘ use of hyper-rules ⓘ use of meta-variables ⓘ |
| classification | context-sensitive grammar formalism ⓘ |
| comparedTo | context-free grammars ⓘ |
| difficulty |
considered difficult to implement
ⓘ
considered difficult to understand ⓘ |
| expressiveness | highly expressive ⓘ |
| field |
formal language theory
ⓘ
programming language theory ⓘ |
| formalismType | generative grammar ⓘ |
| goal | provide precise language definition independent of implementation ⓘ |
| hasComponent |
hypergrammar
ⓘ
metagrammar ⓘ |
| hasConcept |
hyper-rule
ⓘ
meta-variable ⓘ phrase structure rule schema ⓘ |
| influenced | later grammar formalisms for programming languages ⓘ |
| influencedBy | earlier work on ALGOL language specifications ⓘ |
| introducedBy | Adriaan van Wijngaarden NERFINISHED ⓘ |
| introducedFor | formal definition of ALGOL 68 ⓘ |
| moreExpressiveThan | context-free grammars ⓘ |
| namedAfter | Adriaan van Wijngaarden NERFINISHED ⓘ |
| notableProperty |
can define infinite sets of productions finitely
ⓘ
combine grammar and meta-grammar in one formalism ⓘ |
| notableUse | ALGOL 68 language specification ⓘ |
| relatedTo |
affix grammars
ⓘ
attribute grammars ⓘ macro grammars ⓘ |
| supports |
context-sensitive language description
ⓘ
infinite families of production rules ⓘ parameterized nonterminals ⓘ |
| timePeriod | 1960s ⓘ |
| usedFor |
defining programming language semantics
ⓘ
defining programming language syntax ⓘ |
| usedIn | formal specification of ALGOL 68 report ⓘ |
Referenced by (2)
Full triples — surface form annotated when it differs from this entity's canonical label.
this entity surface form:
Van Wijngaarden grammar