public abstract class Emitter extends Object
| Modifier and Type | Field and Description |
|---|---|
protected Map<Action,Integer> |
actionTable
maps actions to their switch label
|
protected boolean[] |
colKilled |
protected int[] |
colMap |
protected DFA |
dfa |
protected static int |
FINAL |
protected File |
inputFile |
protected CharClassInterval[] |
intervals |
protected boolean[] |
isTransition |
protected static Pattern |
JAVADOC_COMMENT_AND_MAYBE_ANNOTATIONS_PATTERN |
protected static int |
NOLOOK |
protected int |
numCols |
protected int |
numRows |
protected PrintWriter |
out |
protected LexParse |
parser |
protected boolean[] |
rowKilled |
protected int[] |
rowMap |
protected LexScan |
scanner |
protected Skeleton |
skel |
| Constructor and Description |
|---|
Emitter() |
| Modifier and Type | Method and Description |
|---|---|
abstract void |
emit()
Main Emitter method.
|
protected abstract void |
emitActions() |
abstract void |
emitActionTable() |
protected abstract void |
emitAttributes() |
protected abstract int |
emitCharMapArray()
Returns the number of elements in the packed char map
array, or zero if the char map array will be not be packed.
|
protected abstract void |
emitCharMapArrayUnPacked() |
protected abstract void |
emitCharMapInitFunction(int packedCharMapPairs) |
protected abstract void |
emitClassCode() |
protected abstract void |
emitClassName() |
protected abstract void |
emitConstructorDecl() |
protected abstract void |
emitConstructorDecl(boolean printCtorArgs) |
protected void |
emitCtorArgs() |
protected abstract void |
emitDoEOF() |
protected abstract void |
emitDynamicInit() |
protected abstract void |
emitEOFVal() |
protected abstract void |
emitGetRowMapNext() |
protected void |
emitHeader() |
protected abstract void |
emitLexFunctHeader() |
protected abstract void |
emitLexicalStates() |
protected abstract void |
emitLookBuffer() |
protected abstract void |
emitMain() |
protected abstract void |
emitNextInput() |
protected abstract void |
emitNoMatch() |
protected abstract void |
emitRowMapArray() |
protected abstract void |
emitScanError() |
protected abstract void |
emitUserCode() |
static boolean |
endsWithJavadoc(StringBuilder usercode)
Try to find out if user code ends with a javadoc comment,
maybe followed by one or more annotations
|
protected String |
escapify(String s)
Escapes all " ' \ tabs and newlines
|
protected void |
findActionStates() |
static String |
getBaseName(String className)
Computes base name of the class name.
|
protected boolean |
hasGenLookAhead() |
static File |
normalize(String name,
File input)
Constructs a file in Options.getDir() or in the same directory as
another file.
|
protected void |
print(int i) |
protected void |
print(int i,
int tab) |
protected void |
print(String line) |
protected void |
println() |
protected void |
println(int i) |
protected void |
println(String line) |
protected void |
printUC(int c)
Print number as octal/unicode escaped string character.
|
protected void |
reduceColumns() |
protected void |
reduceRows() |
protected abstract void |
setupEOFCode()
Set up EOF code section according to scanner.eofcode
|
protected static final Pattern JAVADOC_COMMENT_AND_MAYBE_ANNOTATIONS_PATTERN
protected static final int FINAL
protected static final int NOLOOK
protected File inputFile
protected PrintWriter out
protected Skeleton skel
protected LexScan scanner
protected LexParse parser
protected DFA dfa
protected boolean[] isTransition
protected int numRows
protected int[] rowMap
protected boolean[] rowKilled
protected int numCols
protected int[] colMap
protected boolean[] colKilled
protected CharClassInterval[] intervals
public static String getBaseName(String className)
className - Class name for which to construct the base nameLexScan.classNamepublic static File normalize(String name, File input)
name - the name (without path) of the fileinput - fall back location if path = null
(expected to be a file in the directory to write to)protected void println()
protected void println(String line)
protected void println(int i)
protected void print(String line)
protected void print(int i)
protected void print(int i,
int tab)
protected boolean hasGenLookAhead()
protected abstract void emitLookBuffer()
protected abstract void emitScanError()
protected abstract void emitMain()
protected abstract void emitNoMatch()
protected abstract void emitNextInput()
protected void emitHeader()
protected abstract void emitUserCode()
protected abstract void emitClassName()
public static boolean endsWithJavadoc(StringBuilder usercode)
usercode - the user codeprotected abstract void emitLexicalStates()
protected abstract void emitDynamicInit()
protected abstract void emitCharMapInitFunction(int packedCharMapPairs)
protected abstract void emitCharMapArrayUnPacked()
protected abstract int emitCharMapArray()
protected void printUC(int c)
c - the value to printprotected abstract void emitRowMapArray()
protected abstract void emitAttributes()
protected abstract void emitClassCode()
protected abstract void emitConstructorDecl()
protected abstract void emitConstructorDecl(boolean printCtorArgs)
protected void emitCtorArgs()
protected abstract void emitDoEOF()
protected abstract void emitLexFunctHeader()
protected abstract void emitGetRowMapNext()
protected String escapify(String s)
s - The string to escapepublic abstract void emitActionTable()
protected abstract void emitActions()
protected abstract void emitEOFVal()
protected void findActionStates()
protected void reduceColumns()
protected void reduceRows()
protected abstract void setupEOFCode()
public abstract void emit()
Copyright © 2015. All rights reserved.