public class JavaTarget extends Target
| Modifier and Type | Class and Description |
|---|---|
protected static class |
JavaTarget.JavaStringRenderer |
| Modifier and Type | Field and Description |
|---|---|
protected Set<String> |
badWords
Avoid grammar symbols in this set to prevent conflicts in gen'd code.
|
protected static String[] |
javaKeywords |
gen, targetCharValueEscape| Constructor and Description |
|---|
JavaTarget(CodeGenerator gen) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addBadWords() |
protected void |
appendUnicodeEscapedCodePoint(int codePoint,
StringBuilder sb)
Escape the Unicode code point appropriately for this language
and append the escaped value to
sb. |
String |
encodeIntAsCharEscape(int v)
Assume 16-bit char
|
Set<String> |
getBadWords() |
int |
getSerializedATNSegmentLimit()
Gets the maximum number of 16-bit unsigned integers that can be encoded
in a single segment of the serialized ATN.
|
String |
getTargetStringLiteralFromANTLRStringLiteral(CodeGenerator generator,
String literal,
boolean addQuotes)
Convert from an ANTLR string literal found in a grammar file to an
equivalent string literal in the target language.
|
protected org.stringtemplate.v4.STGroup |
loadTemplates() |
protected boolean |
visibleGrammarSymbolCausesIssueInGeneratedCode(GrammarAST idNode) |
genFile, getAltLabelContextStructName, getBaseListenerFileName, getBaseVisitorFileName, getCodeGenerator, getElementListName, getElementName, getImplicitRuleLabel, getImplicitSetLabel, getImplicitTokenLabel, getInlineTestSetWordSize, getLanguage, getListenerFileName, getListLabel, getLoopCounter, getLoopLabel, getRecognizerFileName, getRuleFunctionContextStructName, getRuleFunctionContextStructName, getTargetStringLiteralFromString, getTargetStringLiteralFromString, getTemplates, getTokenTypeAsTargetLabel, getTokenTypesAsTargetLabels, getVisitorFileName, grammarSymbolCausesIssueInGeneratedCode, needsHeader, shouldUseUnicodeEscapeForCodePointInDoubleQuotedString, supportsOverloadedMethods, wantsBaseListener, wantsBaseVisitorprotected static final String[] javaKeywords
public JavaTarget(CodeGenerator gen)
protected void addBadWords()
public String getTargetStringLiteralFromANTLRStringLiteral(CodeGenerator generator, String literal, boolean addQuotes)
For Java, this is the translation 'a\n"' → "a\n\"".
Expect single quotes around the incoming literal. Just flip the quotes
and replace double quotes with \".
Note that we have decided to allow people to use '\"' without penalty, so
we must build the target string in a loop as String.replace(char, char)
cannot handle both \" and " without a lot of messing
around.
getTargetStringLiteralFromANTLRStringLiteral in class Targetpublic String encodeIntAsCharEscape(int v)
TargetencodeIntAsCharEscape in class Targetpublic int getSerializedATNSegmentLimit()
TargetgetSerializedATNSegmentLimit in class TargetSerializedATN.getSegments()protected boolean visibleGrammarSymbolCausesIssueInGeneratedCode(GrammarAST idNode)
visibleGrammarSymbolCausesIssueInGeneratedCode in class Targetprotected org.stringtemplate.v4.STGroup loadTemplates()
loadTemplates in class Targetprotected void appendUnicodeEscapedCodePoint(int codePoint,
StringBuilder sb)
Targetsb.appendUnicodeEscapedCodePoint in class TargetCopyright © 1992–2022 Daniel Sun. All rights reserved.