Package org.javacc.jjdoc
Class TextGenerator
- java.lang.Object
-
- org.javacc.jjdoc.TextGenerator
-
- All Implemented Interfaces:
Generator
- Direct Known Subclasses:
HTMLGenerator
,XTextGenerator
public class TextGenerator extends java.lang.Object implements Generator
Output BNF in text format.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.io.PrintWriter
ostr
-
Constructor Summary
Constructors Constructor Description TextGenerator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
cppcode(CppCodeProduction cp)
Output comment from a production.protected java.io.PrintWriter
create_output_stream()
Create an output stream for the generated Jack code.void
debug(java.lang.String message)
Log debug messages.void
documentEnd()
Output document footer.void
documentStart()
Output document header.void
error(java.lang.String message)
Log error messages.void
expansionEnd(Expansion e, boolean first)
Output end of Expansion.void
expansionStart(Expansion e, boolean first)
Output start of an Expansion.void
handleTokenProduction(TokenProduction tp)
void
info(java.lang.String message)
Log informational messages.void
javacode(JavaCodeProduction jp)
Output comment from a production.void
nonTerminalEnd(NonTerminal nt)
Output end of non-terminal.void
nonterminalsEnd()
Output end of non-terminal.void
nonterminalsStart()
Output start of non-terminal.void
nonTerminalStart(NonTerminal nt)
Output start of non-terminal.void
print(java.lang.String s)
Output String.void
productionEnd(NormalProduction np)
Output end of a normal production.void
productionStart(NormalProduction np)
Output start of a normal production.void
reEnd(RegularExpression r)
Output end of regular expression.void
reStart(RegularExpression r)
Output start of regular expression.void
specialTokens(java.lang.String s)
Output Special Tokens.void
text(java.lang.String s)
Output string with entity substitution for brackets and ampersands.void
tokensEnd()
Output end of tokens.void
tokensStart()
Output start of tokens.void
warn(java.lang.String message)
Log warning messages.
-
-
-
Method Detail
-
text
public void text(java.lang.String s)
Output string with entity substitution for brackets and ampersands.- Specified by:
text
in interfaceGenerator
- Parameters:
s
- the String to output- See Also:
Generator.text(java.lang.String)
-
print
public void print(java.lang.String s)
Output String.- Specified by:
print
in interfaceGenerator
- Parameters:
s
- String to output- See Also:
Generator.print(java.lang.String)
-
documentStart
public void documentStart()
Output document header.- Specified by:
documentStart
in interfaceGenerator
- See Also:
Generator.documentStart()
-
documentEnd
public void documentEnd()
Output document footer.- Specified by:
documentEnd
in interfaceGenerator
- See Also:
Generator.documentEnd()
-
specialTokens
public void specialTokens(java.lang.String s)
Output Special Tokens.- Specified by:
specialTokens
in interfaceGenerator
- Parameters:
s
- tokens to output- See Also:
Generator.specialTokens(java.lang.String)
-
nonterminalsStart
public void nonterminalsStart()
Output start of non-terminal.- Specified by:
nonterminalsStart
in interfaceGenerator
- See Also:
Generator.nonterminalsStart()
-
nonterminalsEnd
public void nonterminalsEnd()
Output end of non-terminal.- Specified by:
nonterminalsEnd
in interfaceGenerator
- See Also:
Generator.nonterminalsEnd()
-
tokensStart
public void tokensStart()
Output start of tokens.- Specified by:
tokensStart
in interfaceGenerator
- See Also:
Generator.tokensStart()
-
handleTokenProduction
public void handleTokenProduction(TokenProduction tp)
- Specified by:
handleTokenProduction
in interfaceGenerator
-
tokensEnd
public void tokensEnd()
Output end of tokens.- Specified by:
tokensEnd
in interfaceGenerator
- See Also:
Generator.tokensEnd()
-
javacode
public void javacode(JavaCodeProduction jp)
Output comment from a production.- Specified by:
javacode
in interfaceGenerator
- Parameters:
jp
- the JavaCodeProduction to output- See Also:
Generator.javacode(org.javacc.parser.JavaCodeProduction)
-
cppcode
public void cppcode(CppCodeProduction cp)
Output comment from a production.- Specified by:
cppcode
in interfaceGenerator
- Parameters:
cp
- the CppCodeProduction to output- See Also:
Generator.cppcode(org.javacc.parser.CppCodeProduction)
-
productionStart
public void productionStart(NormalProduction np)
Output start of a normal production.- Specified by:
productionStart
in interfaceGenerator
- Parameters:
np
- the NormalProduction being output- See Also:
Generator.productionStart(org.javacc.parser.NormalProduction)
-
productionEnd
public void productionEnd(NormalProduction np)
Output end of a normal production.- Specified by:
productionEnd
in interfaceGenerator
- Parameters:
np
- the NormalProduction being output- See Also:
Generator.productionEnd(org.javacc.parser.NormalProduction)
-
expansionStart
public void expansionStart(Expansion e, boolean first)
Output start of an Expansion.- Specified by:
expansionStart
in interfaceGenerator
- Parameters:
e
- Expansion being outputfirst
- whether this is the first expansion- See Also:
Generator.expansionStart(org.javacc.parser.Expansion, boolean)
-
expansionEnd
public void expansionEnd(Expansion e, boolean first)
Output end of Expansion.- Specified by:
expansionEnd
in interfaceGenerator
- Parameters:
e
- Expansion being outputfirst
- whether this is the first expansion- See Also:
Generator.expansionEnd(org.javacc.parser.Expansion, boolean)
-
nonTerminalStart
public void nonTerminalStart(NonTerminal nt)
Output start of non-terminal.- Specified by:
nonTerminalStart
in interfaceGenerator
- Parameters:
nt
- the NonTerminal being output- See Also:
Generator.nonTerminalStart(org.javacc.parser.NonTerminal)
-
nonTerminalEnd
public void nonTerminalEnd(NonTerminal nt)
Output end of non-terminal.- Specified by:
nonTerminalEnd
in interfaceGenerator
- Parameters:
nt
- the NonTerminal being output- See Also:
Generator.nonTerminalEnd(org.javacc.parser.NonTerminal)
-
reStart
public void reStart(RegularExpression r)
Output start of regular expression.- Specified by:
reStart
in interfaceGenerator
- Parameters:
r
- the RegularExpression being output- See Also:
Generator.reStart(org.javacc.parser.RegularExpression)
-
reEnd
public void reEnd(RegularExpression r)
Output end of regular expression.- Specified by:
reEnd
in interfaceGenerator
- Parameters:
r
- the RegularExpression being output- See Also:
Generator.reEnd(org.javacc.parser.RegularExpression)
-
create_output_stream
protected java.io.PrintWriter create_output_stream()
Create an output stream for the generated Jack code. Try to open a file based on the name of the parser, but if that fails use the standard output stream.
-
debug
public void debug(java.lang.String message)
Log debug messages.- Specified by:
debug
in interfaceGenerator
- Parameters:
message
- the string to log- See Also:
Generator.debug(java.lang.String)
-
info
public void info(java.lang.String message)
Log informational messages.- Specified by:
info
in interfaceGenerator
- Parameters:
message
- the string to log- See Also:
Generator.info(java.lang.String)
-
warn
public void warn(java.lang.String message)
Log warning messages.- Specified by:
warn
in interfaceGenerator
- Parameters:
message
- the string to log- See Also:
Generator.warn(java.lang.String)
-
error
public void error(java.lang.String message)
Log error messages.- Specified by:
error
in interfaceGenerator
- Parameters:
message
- the string to log- See Also:
Generator.error(java.lang.String)
-
-