
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]::COBOLElementCOBOLSimpleType ::= [usageValue]::COBOLUsageValue [pictureString]::String [usage]::Boolean
COBOLComposedType ::=
[elements]::COBOLElementCOBOLElementInitialValue ::= [initVal]::String [valueKind]::COBOLInitialValueKind
COBOL88Element ::=
[name]::String [has]::COBOL88ElementValueCOBOL88ElementValue ::= [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"