Class Skeleton

java.lang.Object
jflex.skeleton.Skeleton

public class Skeleton extends Object
This class stores the skeleton of generated scanners.

The skeleton consists of several parts that can be emitted to a file. Usually there is a portion of generated code (produced in class Emitter) between every two parts of skeleton code.

There is a static part (the skeleton code) and state based iterator part to this class. The iterator part is used to emit consecutive skeleton sections to some PrintWriter.

Version:
JFlex 1.9.1
See Also:
  • Field Details

    • DEFAULT_LOC

      private static final String DEFAULT_LOC
      location of default skeleton
      See Also:
    • size

      private static final int size
      expected number of sections in the skeleton file
      See Also:
    • line

      public static String[] line
      The skeleton
    • pos

      private int pos
      The current part of the skeleton (an index of nextStop[])
    • out

      private final PrintWriter out
      The writer to write the skeleton-parts to
  • Constructor Details

    • Skeleton

      public Skeleton(PrintWriter out)
      Creates a new skeleton (iterator) instance.
      Parameters:
      out - the writer to write the skeleton-parts to
  • Method Details

    • emitNext

      public void emitNext()
      Emits the next part of the skeleton
    • makePrivate

      public static void makePrivate()
      Make the skeleton private.

      Replaces all occurrences of " public " in the skeleton with " private ".

    • readSkelFile

      public static void readSkelFile(File skeletonFile)
      Reads an external skeleton file for later use with this class.
      Parameters:
      skeletonFile - the file to read (must be != null and readable)
    • readSkel

      public static void readSkel(BufferedReader reader) throws IOException
      Reads an external skeleton file from a BufferedReader.
      Parameters:
      reader - the reader to read from (must be != null)
      Throws:
      IOException - if an IO error occurs
      GeneratorException - if the number of skeleton sections does not match
    • replace

      public static String replace(String a, String b, String c)
      Replaces a with b in c.
      Parameters:
      a - the String to be replaced
      b - the replacement
      c - the String in which to replace a by b
      Returns:
      a String object with a replaced by b in c
    • readDefault

      public static void readDefault()
      (Re)load the default skeleton. Looks in the current system class path.