Class CPPTarget


  • public class CPPTarget
    extends Target
    • Constructor Detail

      • CPPTarget

        public CPPTarget()
    • Method Detail

      • 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
      • 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