Package org.antlr.v4.codegen.target
Class CppTarget
java.lang.Object
org.antlr.v4.codegen.Target
org.antlr.v4.codegen.target.CppTarget
-
Field Summary
FieldsModifier and TypeFieldDescriptionAvoid grammar symbols in this set to prevent conflicts in gen'd code.protected static final String[]
Fields inherited from class org.antlr.v4.codegen.Target
gen, targetCharValueEscape
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
protected void
appendUnicodeEscapedCodePoint
(int codePoint, StringBuilder sb) Escape the Unicode code point appropriately for this language and append the escaped value tosb
.encodeIntAsCharEscape
(int v) Assume 16-bit chargetBaseListenerFileName
(boolean header) A given grammar T, return a blank listener implementation such as TBaseListener.java, if we're using the Java target.getBaseVisitorFileName
(boolean header) A given grammar T, return a blank listener implementation such as TBaseListener.java, if we're using the Java target.getListenerFileName
(boolean header) A given grammar T, return the listener name such as TListener.java, if we're using the Java target.getRecognizerFileName
(boolean header) Generate TParser.java and TLexer.java from T.g4 if combined, else just use T.java as output regardless of type.int
Gets the maximum number of 16-bit unsigned integers that can be encoded in a single segment of the serialized ATN.ANTLR tool should check output templates / target are compatible with tool code generation.getVisitorFileName
(boolean header) A given grammar T, return the visitor name such as TVisitor.java, if we're using the Java target.protected org.stringtemplate.v4.STGroup
boolean
protected boolean
shouldUseUnicodeEscapeForCodePointInDoubleQuotedString
(int codePoint) protected boolean
Methods inherited from class org.antlr.v4.codegen.Target
genFile, getAltLabelContextStructName, getCodeGenerator, getElementListName, getElementName, getImplicitRuleLabel, getImplicitSetLabel, getImplicitTokenLabel, getInlineTestSetWordSize, getLanguage, getListLabel, getLoopCounter, getLoopLabel, getRuleFunctionContextStructName, getRuleFunctionContextStructName, getTargetStringLiteralFromANTLRStringLiteral, getTargetStringLiteralFromString, getTargetStringLiteralFromString, getTemplates, getTokenTypeAsTargetLabel, getTokenTypesAsTargetLabels, grammarSymbolCausesIssueInGeneratedCode, supportsOverloadedMethods, templatesExist, wantsBaseListener, wantsBaseVisitor
-
Field Details
-
cppKeywords
-
badWords
Avoid grammar symbols in this set to prevent conflicts in gen'd code.
-
-
Constructor Details
-
CppTarget
-
-
Method Details
-
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
-
needsHeader
public boolean needsHeader()- Overrides:
needsHeader
in classTarget
-
getBadWords
-
addBadWords
protected void addBadWords() -
shouldUseUnicodeEscapeForCodePointInDoubleQuotedString
protected boolean shouldUseUnicodeEscapeForCodePointInDoubleQuotedString(int codePoint) - Overrides:
shouldUseUnicodeEscapeForCodePointInDoubleQuotedString
in classTarget
-
encodeIntAsCharEscape
Description copied from class:Target
Assume 16-bit char- Overrides:
encodeIntAsCharEscape
in classTarget
-
getSerializedATNSegmentLimit
public int getSerializedATNSegmentLimit()Description copied from class:Target
Gets the maximum number of 16-bit unsigned integers that can be encoded in a single segment of the serialized ATN.- Overrides:
getSerializedATNSegmentLimit
in classTarget
- Returns:
- the serialized ATN segment limit
- See Also:
-
getRecognizerFileName
Description copied from class:Target
Generate TParser.java and TLexer.java from T.g4 if combined, else just use T.java as output regardless of type.- Overrides:
getRecognizerFileName
in classTarget
-
getListenerFileName
Description copied from class:Target
A given grammar T, return the listener name such as TListener.java, if we're using the Java target.- Overrides:
getListenerFileName
in classTarget
-
getVisitorFileName
Description copied from class:Target
A given grammar T, return the visitor name such as TVisitor.java, if we're using the Java target.- Overrides:
getVisitorFileName
in classTarget
-
getBaseListenerFileName
Description copied from class:Target
A given grammar T, return a blank listener implementation such as TBaseListener.java, if we're using the Java target.- Overrides:
getBaseListenerFileName
in classTarget
-
getBaseVisitorFileName
Description copied from class:Target
A given grammar T, return a blank listener implementation such as TBaseListener.java, if we're using the Java target.- Overrides:
getBaseVisitorFileName
in classTarget
-
visibleGrammarSymbolCausesIssueInGeneratedCode
- Specified by:
visibleGrammarSymbolCausesIssueInGeneratedCode
in classTarget
-
loadTemplates
protected org.stringtemplate.v4.STGroup loadTemplates()- Overrides:
loadTemplates
in classTarget
-
appendUnicodeEscapedCodePoint
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
-