Site Menu Project Specification Implementation Recommendations Reference Needs Updating Work in Progress Wastebasket Wiki Manual |
Output Formats For Numeric Types Representing Real NumbersTypes
SyntaxThe EBNF for the textual representation of values of types that represent real numbers is Values and Value ListsrealNumberValue : realNumberNotation ; realNumberValueList : realNumberValue ( listSeparator realNumberValue )* ; listSeparator : defaultListSeparator | userDefinedListSeparator | newline ; defaultListSeparator : defaultListSeparatorForValuesWithCommas | defaultListSeparatorForValuesWithoutCommas ; defaultListSeparatorForValuesWithCommas : ';' whitespace ; defaultListSeparatorForValuesWithoutCommas : ',' whitespace ; userDefinedListSeparator : character whitespace? ; Arrays and Array ListsrealNumberArray : openingArrayDelimiter realNumberValueList closingArrayDelimiter ; realNumberArrayList : realNumberArray ( listSeparator realNumberArray )* ; openingArrayDelimiter : ( defaultOpeningArrayDelimiter | userDefinedOpeningArrayDelimiter ) whitespace ; closingArrayDelimiter : whitespace ( defaultClosingArrayDelimiter | userDefinedOpeningArrayDelimiter ) ; defaultOpeningArrayDelimiter : '{' ; defaultClosingArrayDelimiter : '}' ; userDefinedOpeningArrayDelimiter : '(' | '[' ; userDefinedClosingArrayDelimiter : ')' | ']' ; Real Number NotationrealNumberNotation : unpaddedRealNumberValue | leftPaddedRealNumberValue | rightPaddedRealNumberValue ; leftPaddedRealNumberValue : whitespace+ unpaddedRealNumberValue ; rightPaddedRealNumberValue : unpaddedRealNumberValue whitespace+ ; whitespace : ' ' ; unpaddedRealNumberValue : simpleFormat | otherFormats ; simpleFormat : negativeSign? decimalDigit decimalPoint decimalDigit+ exponent ; otherFormats : sign? fillChar* ( fixedFmtDecimal | engFmtDecimal | expFmtDecimal ) suffix? ; fixedFmtDecimal : integralPart ( decimalPoint | decimalComma ) fractionalPart ; engFmtDecimal : engIntegralPart ( decimalPoint | decimalComma ) fractionalPart engExponent ; expFmtDecimal : fixedFmtDecimal exponent ; sign : whitespace | '+' | '-' ; negativeSign : '-' ; fillChar : whitespace | '*' | '0' ; integralPart : decimalDigit decimalDigit? decimalDigit? ( digitSeparator? digitGroup )* ; engIntegralPart : ( ( ( decimalDigit digitSeparator? )? decimalDigit )? decimalDigit )? decimalDigit ; fractionalPart : ( decimalDigit ( decimalDigit ( decimalDigit digitSeparator )? )? )* decimalDigit ; exponent : 'E' ( '+' | '-' ) decimalDigit decimalDigit+ ; engExponent : exponent ; digitSeparator : decimalPointModeDigitSeparator | decimalCommaModeDigitSeparator ; decimalPointModeDigitSeparator : whitespace | ',' ; decimalCommaModeDigitSeparator : whitespace | '.' ; digitGroup : decimalDigit decimalDigit decimalDigit ; decimalPoint : '.' ; decimalComma : ',' ; decimalDigit : '0' .. '9' ; suffix : character* ; character : <any printable ASCII character> ; newline : <runtime host dependent ASCII control sequence for new line> ; Static Semantics
|