Site Menu Project Specification Implementation Recommendations Reference Needs Updating Work in Progress Wastebasket Wiki Manual |
Output Formats For SYSTEM TypesWiP.OutputFormatsForSYSTEMTypes HistoryHide minor edits - Show changes to output 2010-02-02 09:24
by -
Changed lines 76-77 from:
'0' 'x' base16DigitLowercase to:
'0' 'x' base16DigitLowercase+ ; Changed lines 79-80 from:
'0' base16DigitUppercase to:
'0' base16DigitUppercase+ 'H' ; Added line 100:
* the number of digits shown is always the maximum required for the type 2010-02-02 09:18
by -
Added lines 1-99:
!!!Types @@BYTE@@, @@WORD@@, @@ADDRESS@@, @@MACHINEBYTE@@, @@MACHINEADDRESS@@ !!!Syntax The EBNF for the textual representation of values of system types is !!!!!Values and Value Lists [@ systemUnitValue : systemUnitNotation; systemUnitValueList : systemUnitValue ( listSeparator systemUnitValue )* ; listSeparator : defaultListSeparator | userDefinedListSeparator | newline ; defaultListSeparator : ',' whitespace ; userDefinedListSeparator : character whitespace? ; @] !!!!!Arrays and Array Lists [@ systemUnitArray : openingArrayDelimiter systemUnitValueList closingArrayDelimiter ; systemUnitArrayList : systemUnitArray ( listSeparator systemUnitArray )* ; openingArrayDelimiter : ( defaultOpeningArrayDelimiter | userDefinedOpeningArrayDelimiter ) whitespace ; closingArrayDelimiter : whitespace ( defaultClosingArrayDelimiter | userDefinedOpeningArrayDelimiter ) ; defaultOpeningArrayDelimiter : '{' ; defaultClosingArrayDelimiter : '}' ; userDefinedOpeningArrayDelimiter : '(' | '[' ; userDefinedClosingArrayDelimiter : ')' | ']' ; @] !!!!!System Unit Notation [@ systemUnitNotation : unpaddedSystemUnitValue | leftPaddedSystemUnitValue | rightPaddedSystemUnitValue ; leftPaddedSystemUnitValue : whitespace+ unpaddedSystemUnitValue ; rightPaddedSystemUnitValue : unpaddedSystemUnitValue whitespace+ ; whitespace : ' ' ; unpaddedSystemUnitValue : simpleFormat | otherFormats ; simpleFormat : digitGroup ( digitGroupSeparator digitGroup )* ; otherFormats : base16CLiteralFmt | base16M2LiteralFmt ; base16CLiteralFmt : '0' 'x' base16DigitLowercase base16DigitLowercase ; base16M2LiteralFmt : '0' base16DigitUppercase base16DigitUppercase 'H' ; base16DigitLowercase : '0' .. '9' | 'a' .. 'f' ; base16DigitUppercase : '0' .. '9' | 'A' .. 'F' ; digitGroup : base16DigitUppercase+ ; digitGroupSeparator : whitespace | ',' | ':' ; newline : <runtime host dependent ASCII control sequence for new line> ; @] !!!Static Semantics * all values in a list are shown in the same notation. * all values in a list are shown with identical formatting. |