Class CPPTarget

java.lang.Object
org.antlr.codegen.Target
org.antlr.codegen.CPPTarget

public class CPPTarget extends Target
  • Constructor Details

    • CPPTarget

      public CPPTarget()
  • Method Details

    • escapeChar

      public String escapeChar(int c)
    • escapeString

      public String escapeString(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, String extName) throws IOException
      Overrides:
      genRecognizerHeaderFile in class Target
      Throws:
      IOException
    • getTargetCharLiteralFromANTLRCharLiteral

      public String 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. 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:
      getTargetCharLiteralFromANTLRCharLiteral in class Target
    • getTargetStringLiteralFromANTLRStringLiteral

      public String 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. 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:
      getTargetStringLiteralFromANTLRStringLiteral in class Target
    • 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:
      getMaxCharValue in class Target