Class PHPTarget

java.lang.Object
org.antlr.v4.codegen.Target
org.antlr.v4.codegen.target.PHPTarget

public class PHPTarget extends Target
  • Constructor Details

  • Method Details

    • 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.
      Specified by:
      getVersion in class Target
    • encodeIntAsCharEscape

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

      public Set<String> getBadWords()
    • addBadWords

      protected void addBadWords()
    • visibleGrammarSymbolCausesIssueInGeneratedCode

      protected boolean visibleGrammarSymbolCausesIssueInGeneratedCode(GrammarAST idNode)
      Specified by:
      visibleGrammarSymbolCausesIssueInGeneratedCode in class Target
    • loadTemplates

      protected org.stringtemplate.v4.STGroup loadTemplates()
      Overrides:
      loadTemplates in class Target
    • supportsOverloadedMethods

      public boolean supportsOverloadedMethods()
      Overrides:
      supportsOverloadedMethods in class Target
    • appendUnicodeEscapedCodePoint

      protected void appendUnicodeEscapedCodePoint(int codePoint, StringBuilder sb)
      Description copied from class: Target
      Escape the Unicode code point appropriately for this language and append the escaped value to sb.
      Specified by:
      appendUnicodeEscapedCodePoint in class Target
    • 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.

      Overrides:
      getTargetStringLiteralFromANTLRStringLiteral in class Target