Package org.antlr.codegen
Class CPPTarget
java.lang.Object
org.antlr.codegen.Target
org.antlr.codegen.CPPTarget
-
Field Summary
Fields inherited from class org.antlr.codegen.Target
targetCharValueEscape -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionescapeChar(int c) Converts a String into a representation that can be use as a literal when surrounded by double-quotes.protected voidgenRecognizerHeaderFile(Tool tool, CodeGenerator generator, Grammar grammar, org.antlr.stringtemplate.StringTemplate headerFileST, String extName) intgetMaxCharValue(CodeGenerator codegen) Character constants get truncated to this value.getTargetCharLiteralFromANTLRCharLiteral(CodeGenerator codegen, String literal) Convert from an ANTLR char literal found in a grammar file to an equivalent char literal in the target language.getTargetStringLiteralFromANTLRStringLiteral(CodeGenerator codegen, String literal) Convert from an ANTLR string literal found in a grammar file to an equivalent string literal in the target language.Methods inherited from class org.antlr.codegen.Target
encodeIntAsCharEscape, genRecognizerFile, getTarget64BitStringFromValue, getTargetStringLiteralFromString, getTargetStringLiteralFromString, getTokenTypeAsTargetLabel, isValidActionScope, performGrammarAnalysis, postProcessAction
-
Constructor Details
-
CPPTarget
public CPPTarget()
-
-
Method Details
-
escapeChar
-
escapeString
Converts a String into a representation that can be use as a literal when surrounded by double-quotes. Used for escaping semantic predicate strings for exceptions.- Parameters:
s- The String to be changed into a literal
-
genRecognizerHeaderFile
protected void genRecognizerHeaderFile(Tool tool, CodeGenerator generator, Grammar grammar, org.antlr.stringtemplate.StringTemplate headerFileST, String extName) throws IOException - Overrides:
genRecognizerHeaderFilein classTarget- Throws:
IOException
-
getTargetCharLiteralFromANTLRCharLiteral
Convert from an ANTLR char literal found in a grammar file to an equivalent char literal in the target language. For Java, this is the identify translation; i.e., '\n' -> '\n'. Most languages will be able to use this 1-to-1 mapping. Expect single quotes around the incoming literal. Depending on the charvocabulary the charliteral should be prefixed with a 'L'- Overrides:
getTargetCharLiteralFromANTLRCharLiteralin classTarget
-
getTargetStringLiteralFromANTLRStringLiteral
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 identify translation; i.e., "\"\n" -> "\"\n". Most languages will be able to use this 1-to-1 mapping. Expect double quotes around the incoming literal. Depending on the charvocabulary the string should be prefixed with a 'L'- Overrides:
getTargetStringLiteralFromANTLRStringLiteralin classTarget
-
getMaxCharValue
Character constants get truncated to this value. TODO: This should be derived from the charVocabulary. Depending on it being 255 or 0xFFFF the templates should generate normal character constants or multibyte ones.- Overrides:
getMaxCharValuein classTarget
-