Package

org.apache.daffodil.grammar

primitives

Permalink

package primitives

Visibility
  1. Public
  2. All

Type Members

  1. case class AlignmentFill(e: Term) extends Terminal with Product with Serializable

    Permalink
  2. abstract class AssertBase extends ExpressionEvaluatorBase

    Permalink
  3. case class AssertBooleanPrim(decl: AnnotatedSchemaComponent, stmt: DFDLAssertionBase) extends AssertBooleanPrimBase with Product with Serializable

    Permalink
  4. abstract class AssertBooleanPrimBase extends AssertBase

    Permalink
  5. case class AssertPatternPrim(term: Term, stmt: DFDLAssert) extends AssertPatternPrimBase with Product with Serializable

    Permalink
  6. abstract class AssertPatternPrimBase extends ExpressionEvaluatorBase

    Permalink
  7. abstract class BCDDecimalDelimited extends StringDelimited

    Permalink
  8. case class BCDDecimalDelimitedEndOfData(e: ElementBase) extends BCDDecimalDelimited with Product with Serializable

    Permalink
  9. class BCDDecimalKnownLength extends Terminal

    Permalink
  10. class BCDDecimalPrefixedLength extends Terminal

    Permalink
  11. class BCDDecimalRuntimeLength extends Terminal

    Permalink
  12. abstract class BCDIntegerDelimited extends StringDelimited

    Permalink
  13. case class BCDIntegerDelimitedEndOfData(e: ElementBase) extends BCDIntegerDelimited with Product with Serializable

    Permalink
  14. class BCDIntegerKnownLength extends Terminal

    Permalink
  15. class BCDIntegerPrefixedLength extends Terminal

    Permalink
  16. class BCDIntegerRuntimeLength extends Terminal

    Permalink
  17. class BinaryBoolean extends Terminal

    Permalink
  18. class BinaryBooleanPrefixedLength extends Terminal

    Permalink
  19. class BinaryDecimalKnownLength extends Terminal

    Permalink
  20. class BinaryDecimalPrefixedLength extends Terminal

    Permalink
  21. class BinaryDecimalRuntimeLength extends Terminal

    Permalink
  22. class BinaryDouble extends Terminal

    Permalink
  23. class BinaryFloat extends Terminal

    Permalink
  24. class BinaryIntegerKnownLength extends Terminal

    Permalink
  25. class BinaryIntegerPrefixedLength extends Terminal

    Permalink
  26. class BinaryIntegerRuntimeLength extends Terminal

    Permalink
  27. case class CaptureContentLengthEnd(ctxt: ElementBase) extends Terminal with Product with Serializable

    Permalink
  28. case class CaptureContentLengthStart(ctxt: ElementBase) extends Terminal with Product with Serializable

    Permalink
  29. case class CaptureValueLengthEnd(ctxt: ElementBase) extends Terminal with Product with Serializable

    Permalink
  30. case class CaptureValueLengthStart(ctxt: ElementBase) extends Terminal with Product with Serializable

    Permalink
  31. case class ChoiceCombinator(ch: ChoiceTermBase, rawAlternatives: Seq[Gram]) extends Terminal with Product with Serializable

    Permalink
  32. class ChoiceElementCombinator extends ElementCombinatorBase

    Permalink
  33. case class ComplexNilOrContent(ctxt: ElementBase, nilGram: Gram, contentGram: Gram) extends Terminal with Product with Serializable

    Permalink
  34. case class ConvertBinaryDateTimeSecMilliPrim(e: ElementBase, lengthInBits: Long) extends ConvertCalendarPrimBase with Product with Serializable

    Permalink
  35. abstract class ConvertCalendarPrimBase extends Terminal

    Permalink
  36. case class ConvertTextBooleanPrim(e: ElementBase) extends Terminal with Product with Serializable

    Permalink
  37. case class ConvertTextBytePrim(e: ElementBase) extends ConvertTextNumberPrim[Byte] with Product with Serializable

    Permalink
  38. abstract class ConvertTextCalendarPrimBase extends ConvertCalendarPrimBase

    Permalink
  39. case class ConvertTextCombinator(e: ElementBase, value: Gram, converter: Gram) extends Terminal with Product with Serializable

    Permalink
  40. case class ConvertTextDatePrim(e: ElementBase) extends ConvertTextCalendarPrimBase with Product with Serializable

    Permalink
  41. case class ConvertTextDateTimePrim(e: ElementBase) extends ConvertTextCalendarPrimBase with Product with Serializable

    Permalink
  42. case class ConvertTextDecimalPrim(e: ElementBase) extends ConvertTextNumberPrim[BigDecimal] with Product with Serializable

    Permalink
  43. case class ConvertTextDoublePrim(e: ElementBase) extends ConvertTextNumberPrim[Double] with Product with Serializable

    Permalink
  44. case class ConvertTextFloatPrim(e: ElementBase) extends ConvertTextNumberPrim[Float] with Product with Serializable

    Permalink
  45. case class ConvertTextIntPrim(e: ElementBase) extends ConvertTextNumberPrim[Int] with Product with Serializable

    Permalink
  46. case class ConvertTextIntegerPrim(e: ElementBase) extends ConvertTextNumberPrim[BigInteger] with Product with Serializable

    Permalink
  47. case class ConvertTextLongPrim(e: ElementBase) extends ConvertTextNumberPrim[Long] with Product with Serializable

    Permalink
  48. case class ConvertTextNonNegativeIntegerPrim(e: ElementBase) extends ConvertTextNumberPrim[BigInteger] with Product with Serializable

    Permalink
  49. abstract class ConvertTextNumberPrim[S] extends Terminal

    Permalink
  50. case class ConvertTextShortPrim(e: ElementBase) extends ConvertTextNumberPrim[Short] with Product with Serializable

    Permalink
  51. case class ConvertTextTimePrim(e: ElementBase) extends ConvertTextCalendarPrimBase with Product with Serializable

    Permalink
  52. case class ConvertTextUnsignedBytePrim(e: ElementBase) extends ConvertTextNumberPrim[Short] with Product with Serializable

    Permalink
  53. case class ConvertTextUnsignedIntPrim(e: ElementBase) extends ConvertTextNumberPrim[Long] with Product with Serializable

    Permalink
  54. case class ConvertTextUnsignedLongPrim(e: ElementBase) extends ConvertTextNumberPrim[BigInteger] with Product with Serializable

    Permalink
  55. case class ConvertTextUnsignedShortPrim(e: ElementBase) extends ConvertTextNumberPrim[Int] with Product with Serializable

    Permalink
  56. case class ConvertZonedBytePrim(e: ElementBase) extends ConvertZonedNumberPrim[Byte] with Product with Serializable

    Permalink
  57. case class ConvertZonedCombinator(e: ElementBase, value: Gram, converter: Gram) extends Terminal with Product with Serializable

    Permalink
  58. case class ConvertZonedDecimalPrim(e: ElementBase) extends ConvertZonedNumberPrim[BigDecimal] with Product with Serializable

    Permalink
  59. case class ConvertZonedIntPrim(e: ElementBase) extends ConvertZonedNumberPrim[Int] with Product with Serializable

    Permalink
  60. case class ConvertZonedIntegerPrim(e: ElementBase) extends ConvertZonedNumberPrim[BigInteger] with Product with Serializable

    Permalink
  61. case class ConvertZonedLongPrim(e: ElementBase) extends ConvertZonedNumberPrim[Long] with Product with Serializable

    Permalink
  62. case class ConvertZonedNonNegativeIntegerPrim(e: ElementBase) extends ConvertZonedNumberPrim[BigInteger] with Product with Serializable

    Permalink
  63. abstract class ConvertZonedNumberPrim[S] extends Terminal

    Permalink
  64. case class ConvertZonedShortPrim(e: ElementBase) extends ConvertZonedNumberPrim[Short] with Product with Serializable

    Permalink
  65. case class ConvertZonedUnsignedBytePrim(e: ElementBase) extends ConvertZonedNumberPrim[Short] with Product with Serializable

    Permalink
  66. case class ConvertZonedUnsignedIntPrim(e: ElementBase) extends ConvertZonedNumberPrim[Long] with Product with Serializable

    Permalink
  67. case class ConvertZonedUnsignedLongPrim(e: ElementBase) extends ConvertZonedNumberPrim[BigInteger] with Product with Serializable

    Permalink
  68. case class ConvertZonedUnsignedShortPrim(e: ElementBase) extends ConvertZonedNumberPrim[Int] with Product with Serializable

    Permalink
  69. case class DelimiterStackCombinatorChoice(ch: ChoiceTermBase, body: Gram) extends Terminal with Product with Serializable

    Permalink
  70. case class DelimiterStackCombinatorElement(e: ElementBase, body: Gram) extends Terminal with Product with Serializable

    Permalink
  71. case class DelimiterStackCombinatorSequence(sq: SequenceTermBase, body: Gram) extends Terminal with Product with Serializable

    Permalink
  72. abstract class DelimiterText extends Text

    Permalink
  73. case class DiscriminatorBooleanPrim(decl: AnnotatedSchemaComponent, stmt: DFDLAssertionBase) extends AssertBooleanPrimBase with Product with Serializable

    Permalink
  74. case class DiscriminatorPatternPrim(term: Term, stmt: DFDLDiscriminator) extends AssertPatternPrimBase with Product with Serializable

    Permalink
  75. case class DynamicEscapeSchemeCombinatorElement(e: ElementBase, body: Gram) extends Terminal with Product with Serializable

    Permalink
  76. class ElementCombinator extends NamedGram with Padded

    Permalink

    This uber combinator exists because we (currently) do quite different things for parsing and unparsing.

    This uber combinator exists because we (currently) do quite different things for parsing and unparsing.

    It lets us introduce the new unparser capabilities for the situations where they are truly necessary, and keep using the older style stuff for the situations where it works already.

    Ultimately, some big refactoring is needed here though, or this is going to get very complicated to reason about, as if it isn't already :-), well this is going to make it worse.

  77. abstract class ElementCombinatorBase extends NamedGram

    Permalink
  78. class ElementParseAndUnspecifiedLength extends ElementCombinatorBase

    Permalink
  79. sealed abstract class ElementSequenceChild extends SequenceChild

    Permalink
  80. case class ElementUnused(ctxt: ElementBase) extends Terminal with Product with Serializable

    Permalink
  81. abstract class ExpressionEvaluatorBase extends Terminal

    Permalink

    Refactored primitives that use expressions to put expression evaluation in one place.

    Refactored primitives that use expressions to put expression evaluation in one place. On this base (for the primitive), and a corresponding parser base class for the actual evaluation.

    That fixed a bug where a SDE wasn't being reported until the parser was run that could have been reported at compilation time.

    Anything being computed that involves the dsom or grammar objects or attributes of them, should be done in the grammar primitives, and NOT in the parser. This is important to insure errors are captured at compilation time and reported on relevant objects.

  82. abstract class HexBinaryDelimited extends StringDelimited

    Permalink
  83. case class HexBinaryDelimitedEndOfData(e: ElementBase) extends HexBinaryDelimited with Product with Serializable

    Permalink
  84. case class HexBinaryEndOfBitLimit(e: ElementBase) extends Terminal with Product with Serializable

    Permalink
  85. case class HexBinaryLengthPrefixed(e: ElementBase) extends Terminal with Product with Serializable

    Permalink
  86. case class HexBinarySpecifiedLength(e: ElementBase) extends Terminal with Product with Serializable

    Permalink
  87. abstract class IBM4690PackedDecimalDelimited extends StringDelimited

    Permalink
  88. case class IBM4690PackedDecimalDelimitedEndOfData(e: ElementBase) extends IBM4690PackedDecimalDelimited with Product with Serializable

    Permalink
  89. class IBM4690PackedDecimalKnownLength extends Terminal

    Permalink
  90. class IBM4690PackedDecimalPrefixedLength extends Terminal

    Permalink
  91. class IBM4690PackedDecimalRuntimeLength extends Terminal

    Permalink
  92. abstract class IBM4690PackedIntegerDelimited extends StringDelimited

    Permalink
  93. case class IBM4690PackedIntegerDelimitedEndOfData(e: ElementBase, signed: Boolean) extends IBM4690PackedIntegerDelimited with Product with Serializable

    Permalink
  94. class IBM4690PackedIntegerKnownLength extends Terminal

    Permalink
  95. class IBM4690PackedIntegerPrefixedLength extends Terminal

    Permalink
  96. class IBM4690PackedIntegerRuntimeLength extends Terminal

    Permalink
  97. case class InitiatedContent(decl: AnnotatedSchemaComponent) extends AssertBase with Product with Serializable

    Permalink
  98. case class Initiator(e: Term) extends DelimiterText with Product with Serializable

    Permalink
  99. case class InputValueCalc(e: ElementBase, property: PropertyLookupResult) extends ValueCalcBase with Product with Serializable

    Permalink
  100. case class LayeredSequence(sq: SequenceTermBase, bodyTerm: SequenceChild) extends Terminal with Product with Serializable

    Permalink
  101. case class LeadingSkipRegion(e: Term) extends SkipRegion with Product with Serializable

    Permalink
  102. case class LeftCenteredPadding(ctxt: ElementBase) extends Terminal with Padded with Product with Serializable

    Permalink
  103. case class LiteralCharacterNilOfSpecifiedLength(e: ElementBase) extends Terminal with Padded with Product with Serializable

    Permalink
  104. case class LiteralNilDelimitedEndOfData(eb: ElementBase) extends StringDelimited with Product with Serializable

    Permalink
  105. case class LiteralValueNilOfSpecifiedLength(e: ElementBase) extends Terminal with Padded with Product with Serializable

    Permalink
  106. case class LogicalNilValue(e: ElementBase) extends UnimplementedPrimitive with Product with Serializable

    Permalink
  107. case class MandatoryTextAlignment(e: Term, alignmentInBits: Int, forDelimiter: Boolean) extends Terminal with Product with Serializable

    Permalink
  108. abstract class NewVariableInstanceBase extends Terminal

    Permalink
  109. case class NewVariableInstanceEnd(decl: AnnotatedSchemaComponent, stmt: DFDLNewVariableInstance) extends NewVariableInstanceBase with Product with Serializable

    Permalink
  110. case class NewVariableInstanceStart(decl: AnnotatedSchemaComponent, stmt: DFDLNewVariableInstance) extends NewVariableInstanceBase with Product with Serializable

    Permalink
  111. case class OnlyPadding(ctxt: ElementBase) extends Terminal with Padded with Product with Serializable

    Permalink
  112. class OrderedSequence extends SequenceCombinator

    Permalink
  113. abstract class PackedDecimalDelimited extends StringDelimited

    Permalink
  114. case class PackedDecimalDelimitedEndOfData(e: ElementBase, packedSignCodes: PackedSignCodes) extends PackedDecimalDelimited with Product with Serializable

    Permalink
  115. class PackedDecimalKnownLength extends Terminal

    Permalink
  116. class PackedDecimalPrefixedLength extends Terminal

    Permalink
  117. class PackedDecimalRuntimeLength extends Terminal

    Permalink
  118. abstract class PackedIntegerDelimited extends StringDelimited

    Permalink
  119. case class PackedIntegerDelimitedEndOfData(e: ElementBase, signed: Boolean, packedSignCodes: PackedSignCodes) extends PackedIntegerDelimited with Product with Serializable

    Permalink
  120. class PackedIntegerKnownLength extends Terminal

    Permalink
  121. class PackedIntegerPrefixedLength extends Terminal

    Permalink
  122. class PackedIntegerRuntimeLength extends Terminal

    Permalink
  123. trait Padded extends PaddingInfoMixin

    Permalink
  124. trait PaddingInfoMixin extends AnyRef

    Permalink
  125. abstract class Primitive extends Terminal

    Permalink
  126. class RepOrderedExactlyNSequenceChild extends ElementSequenceChild with RepUnparserMixin

    Permalink
  127. class RepOrderedExactlyTotalOccursCountSequenceChild extends ElementSequenceChild with RepUnparserMixin

    Permalink
  128. class RepOrderedWithMinMaxSequenceChild extends ElementSequenceChild with RepUnparserMixin

    Permalink
  129. sealed trait RepUnparserMixin extends AnyRef

    Permalink
  130. case class RightCenteredPadding(ctxt: ElementBase) extends Terminal with Padded with Product with Serializable

    Permalink
  131. case class RightFill(ctxt: ElementBase) extends Terminal with Padded with Product with Serializable

    Permalink
  132. class ScalarOrderedSequenceChild extends SequenceChild

    Permalink
  133. abstract class SequenceChild extends Terminal

    Permalink

    A SequenceChild is exactly that, a child Term of a Sequence

    A SequenceChild is exactly that, a child Term of a Sequence

    These objects are part of the Gram object hierarchy. They represent the use of a Term in a context. They are objects that belong to (are owned by exactly one) the enclosing sequence, are part of it, and so it is reasonable for a SequenceChild to have a backpointer to the enclosing Sequence object.

    This allows the Term object that provides the definition of the SequenceChild to be shared/reused, in principle without having a backpointer to the enclosing Sequence. That allows sharing, and removes lots of duplication/copying in the schema compiler data strucures.

    Eventually things like alignment calculations should move from Terms to these objects. That is, those calculations should not be done on the DSOM objects, but on these SequenceChild objects in the Gram objects.

  134. abstract class SequenceCombinator extends Terminal

    Permalink

    Base class for all kinds of sequences.

  135. case class SequenceSeparator(s: SequenceTermBase) extends DelimiterText with Product with Serializable

    Permalink
  136. case class SetVariable(stmt: DFDLSetVariable) extends ExpressionEvaluatorBase with Product with Serializable

    Permalink
  137. case class SimpleNilOrValue(ctxt: ElementBase, nilGram: Gram, valueGram: Gram) extends Terminal with Product with Serializable

    Permalink
  138. case class SimpleTypeRetry(ctxt: ElementBase, v: Gram) extends Terminal with Product with Serializable

    Permalink
  139. abstract class SkipRegion extends Terminal

    Permalink
  140. abstract class SpecifiedLengthCombinatorBase extends Terminal

    Permalink
  141. class SpecifiedLengthExplicit extends SpecifiedLengthCombinatorBase with SpecifiedLengthExplicitImplicitUnparserMixin

    Permalink
  142. class SpecifiedLengthExplicitCharacters extends SpecifiedLengthCombinatorBase with SpecifiedLengthExplicitImplicitUnparserMixin

    Permalink
  143. trait SpecifiedLengthExplicitImplicitUnparserMixin extends AnyRef

    Permalink
  144. class SpecifiedLengthImplicit extends SpecifiedLengthCombinatorBase with SpecifiedLengthExplicitImplicitUnparserMixin

    Permalink
  145. class SpecifiedLengthImplicitCharacters extends SpecifiedLengthCombinatorBase with SpecifiedLengthExplicitImplicitUnparserMixin

    Permalink
  146. class SpecifiedLengthPattern extends SpecifiedLengthCombinatorBase

    Permalink
  147. class SpecifiedLengthPrefixed extends SpecifiedLengthCombinatorBase

    Permalink
  148. class SpecifiedLengthPrefixedCharacters extends SpecifiedLengthCombinatorBase

    Permalink
  149. abstract class StaticText extends Text

    Permalink
  150. abstract class StringDelimBase extends Terminal

    Permalink
  151. abstract class StringDelimited extends StringDelimBase with Padded

    Permalink
  152. case class StringDelimitedEndOfData(e: ElementBase) extends StringDelimited with Product with Serializable

    Permalink
  153. case class StringOfSpecifiedLength(e: ElementBase) extends Terminal with Padded with Product with Serializable

    Permalink
  154. case class Terminator(e: Term) extends DelimiterText with Product with Serializable

    Permalink
  155. abstract class Text extends StringDelimBase

    Permalink
  156. case class TrailingSkipRegion(e: Term) extends SkipRegion with Product with Serializable

    Permalink
  157. case class UnicodeByteOrderMark(e: Root) extends UnimplementedPrimitive with Product with Serializable

    Permalink
  158. abstract class UnimplementedPrimitive extends Primitive

    Permalink

    For stubbing out primitives that are placeholders

  159. abstract class ValueCalcBase extends ExpressionEvaluatorBase

    Permalink

Value Members

  1. object INoWarn5

    Permalink
  2. object PatternChecker

    Permalink

    The purpose of this checker is to examine a regex and look for a situation one can run into if you try to use the free-form regex syntax, which allows a regex to be spread out over multiple lines with comments intersperced.

    The purpose of this checker is to examine a regex and look for a situation one can run into if you try to use the free-form regex syntax, which allows a regex to be spread out over multiple lines with comments intersperced.

    Trouble is, such regex must be wrapped with CDATA bracketing, otherwise it will all end up on one line, and the comments are from a # to end of line, so this breaks the regex, and very commonly the regex will begin with a comment and so the effective regex is one that matches anything at all, but is completely legal as a regex, which makes it very very painful to debug.

  3. object VariableMapFactory

    Permalink

Ungrouped