Package net.sourceforge.chaperon.build

Examples of net.sourceforge.chaperon.build.FirstSetCollection


    grammar.addProduction(production);
  }

  public void testFollowSet()
  {
    FirstSetCollection firstsets = new FirstSetCollection(grammar)/*, new ConsoleLogger());*/
    FollowSetCollection followsets = new FollowSetCollection(grammar, firstsets);

    SymbolSet result = new SymbolSet();
    result.addSymbol(bclose);
    result.addSymbol(eof);
View Full Code Here


    production.getDefinition().addSymbol(d);
    grammar.addProduction(production);

    grammar.setStartSymbol(S);

    firstsets = new FirstSetCollection(grammar);
  }
View Full Code Here

    production = new Production(D);

    // empty
    grammar.addProduction(production);

    firstsets = new FirstSetCollection(grammar);

    set = new ItemSet(grammar, firstsets);
    set.addItem(0, 0, c);

    result = new ItemSet(grammar, firstsets);
    result.addItem(0, 0, c);
    result.addItem(1, 0, a);

    assertEquals("Test if sets are equal", result, set.closure());

    set = new ItemSet(grammar, firstsets);
    set.addItem(2, 0, a);

    result = new ItemSet(grammar, firstsets);
    result.addItem(2, 0, a);
    result.addItem(1, 0, a);

    assertEquals("Test if sets are equal", result, set.closure());

    // ---- Case 3 ----
    grammar = new Grammar();

    production = new Production(A);
    production.getDefinition().addSymbol(B);
    production.getDefinition().addSymbol(D);
    grammar.addProduction(production);

    production = new Production(B);
    production.getDefinition().addSymbol(C);
    grammar.addProduction(production);

    production = new Production(C);
    production.getDefinition().addSymbol(d);
    grammar.addProduction(production);

    production = new Production(D);
    production.getDefinition().addSymbol(b);
    grammar.addProduction(production);

    firstsets = new FirstSetCollection(grammar);

    set = new ItemSet(grammar, firstsets);
    set.addItem(0, 0, c);

    result = new ItemSet(grammar, firstsets);
View Full Code Here

    grammar.addProduction(production);
  }

  public void testFirstOfASymbol()
  {
    FirstSetCollection sets = new FirstSetCollection(grammar)/*, new ConsoleLogger());*/

    SymbolSet result = new SymbolSet();
    result.addSymbol(id);
    result.addSymbol(bopen);
    assertEquals("Test if sets are equal", result, sets.getFirstSet(E));
    assertEquals("Test if sets are equal", result, sets.getFirstSet(T));
    assertEquals("Test if sets are equal", result, sets.getFirstSet(F));

    result = new SymbolSet();
    result.addSymbol(plus);
    result.addSymbol(emptylist);
    assertEquals("Test if sets are equal", result, sets.getFirstSet(Eprime));

    result = new SymbolSet();
    result.addSymbol(mult);
    result.addSymbol(emptylist);
    assertEquals("Test if sets are equal", result, sets.getFirstSet(Tprime));
  }
View Full Code Here

    assertEquals("Test if sets are equal", result, sets.getFirstSet(Tprime));
  }

  public void testFirstOfASymbolList()
  {
    FirstSetCollection sets = new FirstSetCollection(grammar)/*, new ConsoleLogger());*/

    SymbolList list = new SymbolList();
    list.addSymbol(Eprime);

    SymbolSet result = new SymbolSet();
    result.addSymbol(plus);
    result.addSymbol(emptylist);
    assertEquals("Test if sets are equal", result, sets.getFirstSet(list));

    list = new SymbolList();
    list.addSymbol(Eprime);
    list.addSymbol(id);
    list.addSymbol(Tprime);

    result = new SymbolSet();
    result.addSymbol(plus);
    result.addSymbol(id);
    assertEquals("Test if sets are equal", result, sets.getFirstSet(list));

    list = new SymbolList();
    list.addSymbol(Eprime);
    list.addSymbol(Tprime);

    result = new SymbolSet();
    result.addSymbol(plus);
    result.addSymbol(mult);
    result.addSymbol(emptylist);
    assertEquals("Test if sets are equal", result, sets.getFirstSet(list));

    list = new SymbolList();

    result = new SymbolSet();
    result.addSymbol(emptylist);
    assertEquals("Test if sets are equal", result, sets.getFirstSet(list));
  }
View Full Code Here

TOP

Related Classes of net.sourceforge.chaperon.build.FirstSetCollection

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.