Class CountEmitter

java.lang.Object
jflex.generator.PackEmitter
jflex.generator.CountEmitter

public class CountEmitter extends PackEmitter
An emitter for an array encoded as count/value pairs in a string.
Version:
JFlex 1.8.2
  • Field Details

    • numEntries

      private int numEntries
      number of entries in expanded array
    • translate

      private int translate
      translate all values by this amount
  • Constructor Details

    • CountEmitter

      protected CountEmitter(String name)
      Create a count/value emitter for a specific field.
      Parameters:
      name - name of the generated array
  • Method Details

    • emitUnpack

      public void emitUnpack()
      Emits count/value unpacking code for the generated array.
      Specified by:
      emitUnpack in class PackEmitter
      See Also:
    • setValTranslation

      public void setValTranslation(int i)
      Translate all values by given amount.

      Use to move value interval from [0, 0xFFFF] to something different.

      Parameters:
      i - amount the value will be translated by. Example: i = 1 allows values in [-1, 0xFFFE].
    • emit

      public void emit(int count, int value)
      Emit one count/value pair.

      Automatically translates value by the translate value.

      Parameters:
      count - a int.
      value - a int.
      See Also:
    • emitCountValueString

      public void emitCountValueString(int[] a)
      Emits a plain int array as a count/value string. Expects the preamble code (declaration, javadoc) to already be emitted. Values in the array must be no larger than 0xFFFF (encoded as char), array must have at least one element.