Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: pl1/bruneliere/extracted
Source used for this grammar: Hugo Brunelière, PL/1 0.1, PL1.ecore
, 2005/08/11
PLIClassifier
, PLISimpleType
, PLINamedType
, PLIComposedType
, PLIAlias
, PLIAttribute
, PLIComputationalType
, PLINonComputationalType
, PLIElement
, PLIElementInitialValue
, PLISourceText
, PLIArray
, PLIFixedBoundArray
, PLIFixedLboundArray
, PLIHBoundArray
, PLIVariableBoundArray
, String
, Integer
), 0 root (—), 0 top (—), 0 bottom (—).[name]
3, [typedElements]
2, [alias]
3, [elements]
, [type]
, [contains]
, [level]
, [sharedType]
, [group]
, [initial]
, [source]
2, [array]
, [initialValue]
, [fileName]
, [arrayOf]
, [IBound]
2, [uBound]
2, [referredTo]
4, [uBoundToAllocate]
, [IBoundToAllocate]
2, [hBoundToAllocate]
.PLIClassifier ::= PLISimpleType
PLIClassifier ::= PLINamedType
PLIClassifier ::= PLIComposedType
PLIClassifier ::=
[name]::String [typedElements]::PLIElement
PLISimpleType ::= PLIComputationalType
PLISimpleType ::= PLINonComputationalType
PLISimpleType ::= [alias]::PLIAlias
PLINamedType ::=
[name]::String [typedElements]::PLIElement
PLIComposedType ::=
[elements]::PLIElement
PLIAlias ::=
[type]::PLISimpleType [contains]::PLIAttribute
PLIAttribute ::= ε
PLIComputationalType ::= [alias]::PLIAlias
PLINonComputationalType ::= [alias]::PLIAlias
PLIElement ::= [level]::String [name]::String [sharedType]::PLIClassifier [group]::PLIComposedType [initial]::PLIElementInitialValue [source]::PLISourceText [array]::PLIArray
PLIElementInitialValue ::= [initialValue]::String
PLISourceText ::= [source]::String [fileName]::String
PLIArray ::= PLIFixedBoundArray
PLIArray ::= PLIFixedLboundArray
PLIArray ::= PLIHBoundArray
PLIArray ::= PLIVariableBoundArray
PLIArray ::= [arrayOf]::PLIElement
PLIFixedBoundArray ::= [IBound]::Integer [uBound]::Integer [referredTo]::PLIElement
PLIFixedLboundArray ::= [IBound]::Integer [uBoundToAllocate]::String [referredTo]::PLIElement
PLIHBoundArray ::= [uBound]::Integer [IBoundToAllocate]::String [referredTo]::PLIElement
PLIVariableBoundArray ::= [IBoundToAllocate]::String [hBoundToAllocate]::String [referredTo]::PLIElement
String ::= string
Integer ::= integer