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.8.2
Author:
Gerwin Klein
See Also:
  • Field Details

    • line

      public static String[] line
      The skeleton
  • 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.