Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: cobol/bruneliere/extracted
Source used for this grammar: Hugo Brunelière, COBOL 1.0, COBOL.ecore
, 2005/08/08
COBOLUsageValue
, COBOLInitialValueKind
, COBOLElement
, COBOLClassifier
, COBOLSimpleType
, COBOLComposedType
, COBOLElementInitialValue
, COBOL88Element
, COBOL88ElementValue
, COBOLRedefiningElement
, COBOL66Element
, COBOLSourceText
, COBOLFixedLengthArray
, COBOLVariableLengthArray
, Integer
, String
, Boolean
), 0 root (—), 1 top (COBOL66Element
), 0 bottom (—).[cuv_binary]
, [cuv_dbcs]
, [cuv_double]
, [cuv_display]
, [cuv_float]
, [cuv_index]
, [cuv_objectReference]
, [cuv_packedDecimal]
, [cuv_pointer]
, [cuv_procedurePointer]
, [civk_string_value]
, [civk_low_value]
, [civk_high_value]
, [civk_zero_value]
, [civk_quotes]
, [civk_null]
, [civk_all_literal]
, [level]
, [refined]
, [name]
4, [sharedType]
, [group]
, [initial]
, [contains]
, [source]
2, [array]
, [typeded]
, [typedElements]
, [usageValue]
, [pictureString]
, [usage]
, [elements]
, [initVal]
, [valueKind]
, [has]
, [lowerLimit]
, [upperLimit]
, [range]
, [redefines]
, [end]
, [start]
, [fileName]
, [maxUpper]
, [minUpper]
, [dependingOn]
.COBOLUsageValue ::= [cuv_binary]::ε [cuv_dbcs]::ε [cuv_double]::ε [cuv_display]::ε [cuv_float]::ε [cuv_index]::ε [cuv_objectReference]::ε [cuv_packedDecimal]::ε [cuv_pointer]::ε [cuv_procedurePointer]::ε
COBOLInitialValueKind ::= [civk_string_value]::ε [civk_low_value]::ε [civk_high_value]::ε [civk_zero_value]::ε [civk_quotes]::ε [civk_null]::ε [civk_all_literal]::ε
COBOLElement ::= COBOLRedefiningElement
COBOLElement ::= [level]::String [refined]::Boolean [name]::String [sharedType]::COBOLClassifier [group]::COBOLComposedType [initial]::COBOLElementInitialValue[contains]::COBOL88Element [source]::COBOLSourceText [array]::COBOLFixedLengthArray
COBOLClassifier ::= COBOLSimpleType
COBOLClassifier ::= COBOLComposedType
COBOLClassifier ::=
[typeded]::Boolean [name]::String [typedElements]::COBOLElement
COBOLSimpleType ::= [usageValue]::COBOLUsageValue [pictureString]::String [usage]::Boolean
COBOLComposedType ::=
[elements]::COBOLElement
COBOLElementInitialValue ::= [initVal]::String [valueKind]::COBOLInitialValueKind
COBOL88Element ::=
[name]::String [has]::COBOL88ElementValue
COBOL88ElementValue ::= [lowerLimit]::String [upperLimit]::String [range]::Boolean
COBOLRedefiningElement ::= [redefines]::COBOLElement
COBOL66Element ::= [name]::String [end]::COBOLElement [start]::COBOLElement
COBOLSourceText ::= [source]::String [fileName]::String
COBOLFixedLengthArray ::= COBOLVariableLengthArray
COBOLFixedLengthArray ::= [maxUpper]::Integer
COBOLVariableLengthArray ::= [minUpper]::Integer [dependingOn]::COBOLElement
Integer ::= integer
String ::= string
Boolean ::= "true" "false"