Package org.antlr.v4.codegen.target
Class Python2Target
- java.lang.Object
-
- org.antlr.v4.codegen.Target
-
- org.antlr.v4.codegen.target.Python2Target
-
public class Python2Target extends Target
- Author:
- Eric Vergnaud
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
Python2Target.PythonStringRenderer
-
Field Summary
Fields Modifier and Type Field Description protected Set<String>
badWords
Avoid grammar symbols in this set to prevent conflicts in gen'd code.protected static String[]
python2Keywords
-
Fields inherited from class org.antlr.v4.codegen.Target
gen, targetCharValueEscape
-
-
Constructor Summary
Constructors Constructor Description Python2Target(CodeGenerator gen)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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 tosb
.Set<String>
getBadWords()
String
getVersion()
ANTLR tool should check output templates / target are compatible with tool code generation.protected org.stringtemplate.v4.STGroup
loadTemplates()
boolean
supportsOverloadedMethods()
protected boolean
visibleGrammarSymbolCausesIssueInGeneratedCode(GrammarAST idNode)
boolean
wantsBaseListener()
boolean
wantsBaseVisitor()
-
Methods inherited from class org.antlr.v4.codegen.Target
encodeIntAsCharEscape, 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, getVisitorFileName, grammarSymbolCausesIssueInGeneratedCode, needsHeader, templatesExist
-
-
-
-
Constructor Detail
-
Python2Target
public Python2Target(CodeGenerator gen)
-
-
Method Detail
-
visibleGrammarSymbolCausesIssueInGeneratedCode
protected boolean visibleGrammarSymbolCausesIssueInGeneratedCode(GrammarAST idNode)
- Specified by:
visibleGrammarSymbolCausesIssueInGeneratedCode
in classTarget
-
loadTemplates
protected org.stringtemplate.v4.STGroup loadTemplates()
- Overrides:
loadTemplates
in classTarget
-
wantsBaseListener
public boolean wantsBaseListener()
- Overrides:
wantsBaseListener
in classTarget
-
wantsBaseVisitor
public boolean wantsBaseVisitor()
- Overrides:
wantsBaseVisitor
in classTarget
-
supportsOverloadedMethods
public boolean supportsOverloadedMethods()
- Overrides:
supportsOverloadedMethods
in classTarget
-
getVersion
public String getVersion()
Description copied from class:Target
ANTLR tool should check output templates / target are compatible with tool code generation. For now, a simple string match used on x.y of x.y.z scheme. We use a method to avoid mismatches between a template called VERSION. This value is checked against Tool.VERSION during load of templates. This additional method forces all targets 4.3 and beyond to add this method.- Specified by:
getVersion
in classTarget
-
addBadWords
protected void addBadWords()
-
appendUnicodeEscapedCodePoint
protected void appendUnicodeEscapedCodePoint(int codePoint, StringBuilder sb)
Description copied from class:Target
Escape the Unicode code point appropriately for this language and append the escaped value tosb
.- Specified by:
appendUnicodeEscapedCodePoint
in classTarget
-
-