Package org.antlr.codegen
Class CPPTarget
- java.lang.Object
-
- org.antlr.codegen.Target
-
- org.antlr.codegen.CPPTarget
-
public class CPPTarget extends Target
-
-
Field Summary
-
Fields inherited from class org.antlr.codegen.Target
targetCharValueEscape
-
-
Constructor Summary
Constructors Constructor Description CPPTarget()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringescapeChar(int c)java.lang.StringescapeString(java.lang.String s)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, java.lang.String extName)intgetMaxCharValue(CodeGenerator codegen)Character constants get truncated to this value.java.lang.StringgetTargetCharLiteralFromANTLRCharLiteral(CodeGenerator codegen, java.lang.String literal)Convert from an ANTLR char literal found in a grammar file to an equivalent char literal in the target language.java.lang.StringgetTargetStringLiteralFromANTLRStringLiteral(CodeGenerator codegen, java.lang.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
-
-
-
-
Method Detail
-
escapeChar
public java.lang.String escapeChar(int c)
-
escapeString
public java.lang.String escapeString(java.lang.String s)
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, java.lang.String extName) throws java.io.IOException
- Overrides:
genRecognizerHeaderFilein classTarget- Throws:
java.io.IOException
-
getTargetCharLiteralFromANTLRCharLiteral
public java.lang.String getTargetCharLiteralFromANTLRCharLiteral(CodeGenerator codegen, java.lang.String literal)
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
public java.lang.String getTargetStringLiteralFromANTLRStringLiteral(CodeGenerator codegen, java.lang.String literal)
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
public int getMaxCharValue(CodeGenerator codegen)
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
-
-