Class CSharpTarget



  • public class CSharpTarget
    extends Target
    • Method Detail

      • getVersion

        public String 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.
      • encodeIntAsCharEscape

        public String encodeIntAsCharEscape(int v)
        Description copied from class: Target
        Assume 16-bit char
      • getTargetStringLiteralFromANTLRStringLiteral

        public String getTargetStringLiteralFromANTLRStringLiteral(CodeGenerator generator,
                                                                   String literal,
                                                                   boolean addQuotes)
        Description copied from class: Target

        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 translation 'a\n"'"a\n\"". Expect single quotes around the incoming literal. Just flip the quotes and replace double quotes with \".

        Note that we have decided to allow people to use '\"' without penalty, so we must build the target string in a loop as String.replace(char, char) cannot handle both \" and " without a lot of messing around.

      • visibleGrammarSymbolCausesIssueInGeneratedCode

        protected boolean visibleGrammarSymbolCausesIssueInGeneratedCode(GrammarAST idNode)
      • loadTemplates

        protected STGroup loadTemplates()