Package org.antlr.v4.codegen.target
Class DartTarget
- java.lang.Object
-
- org.antlr.v4.codegen.Target
-
- org.antlr.v4.codegen.target.DartTarget
-
public class DartTarget extends Target
-
-
Field Summary
Fields Modifier and Type Field Description protected static HashSet<String>
reservedWords
protected static Map<Character,String>
targetCharValueEscape
-
Fields inherited from class org.antlr.v4.codegen.Target
defaultCharValueEscape, gen
-
-
Constructor Summary
Constructors Constructor Description DartTarget(CodeGenerator gen)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected String
escapeChar(int v)
Set<String>
getReservedWords()
Map<Character,String>
getTargetCharValueEscape()
For pure strings of Unicode char, how can we display it in the target language as a literal.String
getTargetStringLiteralFromANTLRStringLiteral(CodeGenerator generator, String literal, boolean addQuotes, boolean escapeSpecial)
Convert from an ANTLR string literal found in a grammar file to an equivalent string literal in the target language.boolean
isATNSerializedAsInts()
-
Methods inherited from class org.antlr.v4.codegen.Target
addEscapedChar, addEscapedChar, appendUnicodeEscapedCodePoint, encodeInt16AsCharEscape, escapeIfNeeded, escapeWord, genFile, getAltLabelContextStructName, getBaseListenerFileName, getBaseVisitorFileName, getCodeGenerator, getElementListName, getElementName, getImplicitRuleLabel, getImplicitSetLabel, getImplicitTokenLabel, getInlineTestSetWordSize, getLanguage, getListenerFileName, getListLabel, getLoopCounter, getLoopLabel, getRecognizerFileName, getRuleFunctionContextStructName, getRuleFunctionContextStructName, getSerializedATNSegmentLimit, getTargetStringLiteralFromANTLRStringLiteral, getTargetStringLiteralFromString, getTargetStringLiteralFromString, getTemplates, getTokenTypeAsTargetLabel, getTokenTypesAsTargetLabels, getVersion, getVisitorFileName, grammarSymbolCausesIssueInGeneratedCode, loadTemplates, needsHeader, shouldUseUnicodeEscapeForCodePointInDoubleQuotedString, supportsOverloadedMethods, templatesExist, visibleGrammarSymbolCausesIssueInGeneratedCode, wantsBaseListener, wantsBaseVisitor
-
-
-
-
Constructor Detail
-
DartTarget
public DartTarget(CodeGenerator gen)
-
-
Method Detail
-
getTargetCharValueEscape
public Map<Character,String> getTargetCharValueEscape()
Description copied from class:Target
For pure strings of Unicode char, how can we display it in the target language as a literal. Useful for dumping predicates and such that may refer to chars that need to be escaped when represented as strings. Also, templates need to be escaped so that the target language can hold them as a string. Each target can have a different set in memory at same time.- Overrides:
getTargetCharValueEscape
in classTarget
-
getTargetStringLiteralFromANTLRStringLiteral
public String getTargetStringLiteralFromANTLRStringLiteral(CodeGenerator generator, String literal, boolean addQuotes, boolean escapeSpecial)
Description copied from class:Target
Convert from an ANTLR string literal found in a grammar file to an equivalent string literal in the target language.
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.- Overrides:
getTargetStringLiteralFromANTLRStringLiteral
in classTarget
-
getReservedWords
public Set<String> getReservedWords()
- Specified by:
getReservedWords
in classTarget
-
isATNSerializedAsInts
public boolean isATNSerializedAsInts()
- Overrides:
isATNSerializedAsInts
in classTarget
-
escapeChar
protected String escapeChar(int v)
- Overrides:
escapeChar
in classTarget
-
-