Package org.antlr.codegen

Examples of org.antlr.codegen.CodeGenerator


        "a returns [int i1]\n" +
        "        : 'a'\n" +
        "        ;\n" +
        "b : x=a {"+action+"} ;\n");
    Tool antlr = newTool();
    CodeGenerator generator = new CodeGenerator(antlr, g, "Java");
    g.setCodeGenerator(generator);
    generator.genRecognizer(); // forces load of templates
    ActionTranslator translator =
      new ActionTranslator(generator,
        "b",
        new CommonToken(ANTLRParser.ACTION,action),1);
    String found = translator.translate();
View Full Code Here


      "parser grammar t;\n"+
        "a returns [User u, int i]\n" +
        "        : {"+action+"}\n" +
        "        ;");
    Tool antlr = newTool();
    CodeGenerator generator = new CodeGenerator(antlr, g, "Java");
    g.setCodeGenerator(generator);
    generator.genRecognizer(); // forces load of templates
    ActionTranslator translator = new ActionTranslator(generator,"a",
      new CommonToken(ANTLRParser.ACTION,action),1);
    String found = translator.translate();
    assertEquals(expecting, found);
View Full Code Here

        ";\n"+
        "rule3 returns [ Object obj ]\n"+
        ":  bar='bar' { $obj = $bar.text; }\n"+
        ";");
    Tool antlr = newTool();
    CodeGenerator generator = new CodeGenerator(antlr, g, "Java");
    g.setCodeGenerator(generator);
    generator.genRecognizer(); // forces load of templates
    int i = 0;
    String action = action1;
    String expecting = expecting1;
    do {
      ActionTranslator translator = new ActionTranslator(generator,"rule1",
View Full Code Here

      "parser grammar t;\n"+
        "a returns [User u, int i]\n" +
        "        : {"+action+"}\n" +
        "        ;");
    Tool antlr = newTool();
    CodeGenerator generator = new CodeGenerator(antlr, g, "Java");
    ActionTranslator translator = new ActionTranslator(generator,"a",
      new CommonToken(ANTLRParser.ACTION,action),1);
    String found = translator.translate();
    assertEquals(expecting, found);
View Full Code Here

    Grammar g = new Grammar(
      "parser grammar t;\n"+
        "a : id=ID f=FLOAT {"+action+"}\n" +
        "  ;");
    Tool antlr = newTool();
    CodeGenerator generator = new CodeGenerator(antlr, g, "Java");
    g.setCodeGenerator(generator);
    generator.genRecognizer(); // forces load of templates
    ActionTranslator translator = new ActionTranslator(generator,"a",
      new CommonToken(ANTLRParser.ACTION,action),1);
    String found = translator.translate();
    assertEquals(expecting, found);
View Full Code Here

        "  ;\n"+
        "b : r=a {###"+action+"!!!}\n" +
        "  ;");
    Tool antlr = newTool();
    antlr.setOutputDirectory(null); // write to /dev/null
    CodeGenerator generator = new CodeGenerator(antlr, g, "Java");
    g.setCodeGenerator(generator);
    generator.genRecognizer(); // codegen phase sets some vars we need
    ST codeST = generator.getRecognizerST();
    String code = codeST.render();
    String found = code.substring(code.indexOf("###")+3,code.indexOf("!!!"));
    assertEquals(expecting, found);

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

    Grammar g = new Grammar(
      "parser grammar t;\n"+
        "a : A a {$a.text} | B ;");
    Tool antlr = newTool();
    antlr.setOutputDirectory(null); // write to /dev/null
    CodeGenerator generator = new CodeGenerator(antlr, g, "Java");
    g.setCodeGenerator(generator);
    generator.genRecognizer();

    // error(132): <string>:2:9: reference $a is ambiguous; rule a is enclosing rule and referenced in the production
    assertEquals("unexpected errors: "+equeue, 1, equeue.errors.size());
  }
View Full Code Here

        "  ;\n"+
        "b : r=a {###"+action+"!!!}\n" +
        "  ;");
    Tool antlr = newTool();
    antlr.setOutputDirectory(null); // write to /dev/null
    CodeGenerator generator = new CodeGenerator(antlr, g, "Java");
    g.setCodeGenerator(generator);
    generator.genRecognizer(); // codegen phase sets some vars we need

    ST codeST = generator.getRecognizerST();
    String code = codeST.render();
    String found = code.substring(code.indexOf("###")+3,code.indexOf("!!!"));
    assertEquals(expecting, found);

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

        "  ;\n" +
        "a returns [int x]\n" +
        "  : ;\n");
    Tool antlr = newTool();
    antlr.setOutputDirectory(null); // write to /dev/null
    CodeGenerator generator = new CodeGenerator(antlr, g, "Java");
    g.setCodeGenerator(generator);
    generator.genRecognizer(); // codegen phase sets some vars we need

    ST codeST = generator.getRecognizerST();
    String code = codeST.render();
    String found = code.substring(code.indexOf("###")+3,code.indexOf("!!!"));
    assertEquals(expecting, found);

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

        "  :\n" +
        "  ;\n"+
        "b : r=a[3] {"+action+"}\n" +
        "  ;");
    Tool antlr = newTool();
    CodeGenerator generator = new CodeGenerator(antlr, g, "Java");
    ActionTranslator translator = new ActionTranslator(generator, "b",
      new CommonToken(ANTLRParser.ACTION,action),1);
    String found = translator.translate();    assertEquals(expecting, found);

    int expectedMsgID = ErrorManager.MSG_INVALID_RULE_PARAMETER_REF;
View Full Code Here

TOP

Related Classes of org.antlr.codegen.CodeGenerator

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.