Package org.stringtemplate.v4

Examples of org.stringtemplate.v4.AutoIndentWriter


        return files;
    }

    public ST getDependencies() {
        loadDependencyTemplates();
        ST dependenciesST = templates.getInstanceOf("dependencies");
        dependenciesST.add("in", getDependenciesFileList());
        dependenciesST.add("out", getGeneratedFileList());
        dependenciesST.add("grammarFileName", grammar.fileName);
        return dependenciesST;
    }
View Full Code Here


    String fileName = probe.dfa.nfa.grammar.getFileName();
    if ( fileName!=null ) {
      file = fileName;
    }

    ST st = getMessageTemplate();
    String ruleName = probe.dfa.getNFADecisionStartState().enclosingRule.name;
    st.add("ruleName", ruleName);
    List<Integer> sortedAlts = new ArrayList<Integer>();
    sortedAlts.addAll(altsWithRecursion);
    Collections.sort(sortedAlts); // make sure it's 1, 2, ...
    st.add("alts", sortedAlts);

    return super.toString(st);
  }
View Full Code Here

    Grammar g = new Grammar(grammarStr);

    Tool antlr = newTool();
    CodeGenerator generator = new CodeGenerator(antlr, g, "Java");
    g.setCodeGenerator(generator);
    ST recogST = generator.genRecognizer();
    String code = recogST.render();
    assertTrue("not expecting label", code.indexOf("x=b();")<0);

    assertEquals("unexpected errors: "+equeue, 0, equeue.errors.size());
  }
View Full Code Here

  protected void writeTestFile(String parserName,
                 String lexerName,
                 String parserStartRuleName,
                 boolean debug)
  {
    ST outputFileST = new ST(
      "import org.antlr.runtime.*;\n" +
      "import org.antlr.runtime.tree.*;\n" +
      "import org.antlr.runtime.debug.*;\n" +
      "\n" +
      "class Profiler2 extends Profiler {\n" +
      "    public void terminate() { ; }\n" +
      "}\n"+
      "public class Test {\n" +
      "    public static void main(String[] args) throws Exception {\n" +
      "        CharStream input = new ANTLRFileStream(args[0]);\n" +
      "        <lexerName> lex = new <lexerName>(input);\n" +
      "        CommonTokenStream tokens = new CommonTokenStream(lex);\n" +
      "        <createParser>\n"+
      "        parser.<parserStartRuleName>();\n" +
      "    }\n" +
      "}"
      );
    ST createParserST =
      new ST(
      "        Profiler2 profiler = new Profiler2();\n"+
      "        <parserName> parser = new <parserName>(tokens,profiler);\n" +
      "        profiler.setParser(parser);\n");
    if ( !debug ) {
      createParserST =
        new ST(
        "        <parserName> parser = new <parserName>(tokens);\n");
    }
    outputFileST.add("createParser", createParserST);
    outputFileST.add("parserName", parserName);
    outputFileST.add("lexerName", lexerName);
View Full Code Here

    outputFileST.add("parserStartRuleName", parserStartRuleName);
    writeFile(tmpdir, "Test.java", outputFileST.render());
  }

  protected void writeLexerTestFile(String lexerName, boolean debug) {
    ST outputFileST = new ST(
      "import org.antlr.runtime.*;\n" +
      "import org.antlr.runtime.tree.*;\n" +
      "import org.antlr.runtime.debug.*;\n" +
      "\n" +
      "class Profiler2 extends Profiler {\n" +
      "    public void terminate() { ; }\n" +
      "}\n"+
      "public class Test {\n" +
      "    public static void main(String[] args) throws Exception {\n" +
      "        CharStream input = new ANTLRFileStream(args[0]);\n" +
      "        <lexerName> lex = new <lexerName>(input);\n" +
      "        CommonTokenStream tokens = new CommonTokenStream(lex);\n" +
      "        System.out.println(tokens);\n" +
      "    }\n" +
      "}"
      );
    outputFileST.add("lexerName", lexerName);
    writeFile(tmpdir, "Test.java", outputFileST.render());
  }
View Full Code Here

                   String lexerName,
                   String parserStartRuleName,
                   String treeParserStartRuleName,
                   boolean debug)
  {
    ST outputFileST = new ST(
      "import org.antlr.runtime.*;\n" +
      "import org.antlr.runtime.tree.*;\n" +
      "import org.antlr.runtime.debug.*;\n" +
      "\n" +
      "class Profiler2 extends Profiler {\n" +
      "    public void terminate() { ; }\n" +
      "}\n"+
      "public class Test {\n" +
      "    public static void main(String[] args) throws Exception {\n" +
      "        CharStream input = new ANTLRFileStream(args[0]);\n" +
      "        <lexerName> lex = new <lexerName>(input);\n" +
      "        TokenRewriteStream tokens = new TokenRewriteStream(lex);\n" +
      "        <createParser>\n"+
      "        <parserName>.<parserStartRuleName>_return r = parser.<parserStartRuleName>();\n" +
      "        <if(!treeParserStartRuleName)>\n" +
      "        if ( r.tree!=null ) {\n" +
      "            System.out.println(((Tree)r.tree).toStringTree());\n" +
      "            ((CommonTree)r.tree).sanityCheckParentAndChildIndexes();\n" +
      "     }\n" +
      "        <else>\n" +
      "        CommonTreeNodeStream nodes = new CommonTreeNodeStream((Tree)r.tree);\n" +
      "        nodes.setTokenStream(tokens);\n" +
      "        <treeParserName> walker = new <treeParserName>(nodes);\n" +
      "        walker.<treeParserStartRuleName>();\n" +
      "        <endif>\n" +
      "    }\n" +
      "}"
      );
    ST createParserST =
      new ST(
      "        Profiler2 profiler = new Profiler2();\n"+
      "        <parserName> parser = new <parserName>(tokens,profiler);\n" +
      "        profiler.setParser(parser);\n");
    if ( !debug ) {
      createParserST =
        new ST(
        "        <parserName> parser = new <parserName>(tokens);\n");
    }
    outputFileST.add("createParser", createParserST);
    outputFileST.add("parserName", parserName);
    outputFileST.add("treeParserName", treeParserName);
View Full Code Here

                      String lexerName,
                      String parserStartRuleName,
                      String treeParserStartRuleName,
                      boolean debug)
  {
    ST outputFileST = new ST(
      "import org.antlr.runtime.*;\n" +
      "import org.antlr.runtime.tree.*;\n" +
      "import org.antlr.runtime.debug.*;\n" +
      "\n" +
      "class Profiler2 extends Profiler {\n" +
      "    public void terminate() { ; }\n" +
      "}\n"+
      "public class Test {\n" +
      "    public static void main(String[] args) throws Exception {\n" +
      "        CharStream input = new ANTLRFileStream(args[0]);\n" +
      "        <lexerName> lex = new <lexerName>(input);\n" +
      "        TokenRewriteStream tokens = new TokenRewriteStream(lex);\n" +
      "        <createParser>\n"+
      "        <parserName>.<parserStartRuleName>_return r = parser.<parserStartRuleName>();\n" +
      "        ((CommonTree)r.tree).sanityCheckParentAndChildIndexes();\n" +
      "        CommonTreeNodeStream nodes = new CommonTreeNodeStream((Tree)r.tree);\n" +
      "        nodes.setTokenStream(tokens);\n" +
      "        <treeParserName> walker = new <treeParserName>(nodes);\n" +
      "        <treeParserName>.<treeParserStartRuleName>_return r2 = walker.<treeParserStartRuleName>();\n" +
      "     CommonTree rt = ((CommonTree)r2.tree);\n" +
      "     if ( rt!=null ) System.out.println(((CommonTree)r2.tree).toStringTree());\n" +
      "    }\n" +
      "}"
      );
    ST createParserST =
      new ST(
      "        Profiler2 profiler = new Profiler2();\n"+
      "        <parserName> parser = new <parserName>(tokens,profiler);\n" +
      "        profiler.setParser(parser);\n");
    if ( !debug ) {
      createParserST =
        new ST(
        "        <parserName> parser = new <parserName>(tokens);\n");
    }
    outputFileST.add("createParser", createParserST);
    outputFileST.add("parserName", parserName);
    outputFileST.add("treeParserName", treeParserName);
View Full Code Here

  protected void writeTemplateTestFile(String parserName,
                     String lexerName,
                     String parserStartRuleName,
                     boolean debug)
  {
    ST outputFileST = new ST(
      "import org.antlr.runtime.*;\n" +
      "import org.antlr.stringtemplate.*;\n" +
      "import org.antlr.stringtemplate.language.*;\n" +
      "import org.antlr.runtime.debug.*;\n" +
      "import java.io.*;\n" +
      "\n" +
      "class Profiler2 extends Profiler {\n" +
      "    public void terminate() { ; }\n" +
      "}\n"+
      "public class Test {\n" +
      "    static String templates = \"group T; foo(x,y) ::= \\\"\\<x> \\<y>\\\"\";\n" +
      "    static StringTemplateGroup group ="+
      "        new StringTemplateGroup(new StringReader(templates)," +
      "          AngleBracketTemplateLexer.class);"+
      "    public static void main(String[] args) throws Exception {\n" +
      "        CharStream input = new ANTLRFileStream(args[0]);\n" +
      "        <lexerName> lex = new <lexerName>(input);\n" +
      "        CommonTokenStream tokens = new CommonTokenStream(lex);\n" +
      "        <createParser>\n"+
      "     parser.setTemplateLib(group);\n"+
      "        <parserName>.<parserStartRuleName>_return r = parser.<parserStartRuleName>();\n" +
      "        if ( r.st!=null )\n" +
      "            System.out.print(r.st.toString());\n" +
      "      else\n" +
      "            System.out.print(\"\");\n" +
      "    }\n" +
      "}"
      );
    ST createParserST =
      new ST(
      "        Profiler2 profiler = new Profiler2();\n"+
      "        <parserName> parser = new <parserName>(tokens,profiler);\n" +
      "        profiler.setParser(parser);\n");
    if ( !debug ) {
      createParserST =
        new ST(
        "        <parserName> parser = new <parserName>(tokens);\n");
    }
    outputFileST.add("createParser", createParserST);
    outputFileST.add("parserName", parserName);
    outputFileST.add("lexerName", lexerName);
View Full Code Here

    // TODO: actually set the right Grammar instance to get the filename
    // TODO: have to update all v2 grammar files for this. or use errormanager and tool to get the current grammar
    if (g != null) {
      file = g.getFileName();
    }
    ST st = getMessageTemplate();
    if ( arg!=null ) {
      st.add("arg", arg);
    }
    return super.toString(st);
  }
View Full Code Here

    errors = 0;
    warnings = 0;
  }

  public ST getMessageTemplate(ANTLRMessage msg) {
    ST messageST = msg.getMessageTemplate(tool.longMessages);
    ST locationST = getLocationFormat();
    ST reportST = getReportFormat(msg.getErrorType().severity);
    ST messageFormatST = getMessageFormat();

    boolean locationValid = false;
    if (msg.line != -1) {
      locationST.add("line", msg.line);
      locationValid = true;
    }
    if (msg.charPosition != -1) {
      locationST.add("column", msg.charPosition);
      locationValid = true;
    }
    if (msg.fileName != null) {
      File f = new File(msg.fileName);
      // Don't show path to file in messages; too long.
      String displayFileName = msg.fileName;
      if ( f.exists() ) {
        displayFileName = f.getName();
      }
      locationST.add("file", displayFileName);
      locationValid = true;
    }

    messageFormatST.add("id", msg.getErrorType().code);
    messageFormatST.add("text", messageST);

    if (locationValid) reportST.add("location", locationST);
    reportST.add("message", messageFormatST);
    //((DebugST)reportST).inspect();
//    reportST.impl.dump();
View Full Code Here

TOP

Related Classes of org.stringtemplate.v4.AutoIndentWriter

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.