package interpretacja.gramatyka; import interpretacja.Edge; import interpretacja.Fragment; import interpretacja.GrafAdv; import interpretacja.Produkt; import java.util.ArrayList; import java.util.List; public class Linia implements GSymbol { private int minLen; private LiniaKont kont; public Linia() { this(30); } public Linia(int minLen) { this.minLen = minLen; this.kont = new LiniaKont(this.minLen); } @Override public List akceptuj(Produkt h, GrafAdv g) { List ps = new ArrayList(); List es = g.E(h.n()); for (Edge e : es) { if (h.czyZawiera(e)) { continue; } Produkt nh = new Produkt(e, h); nh.dodajAtr("kat", e.kat()); nh.dodajAtr("pocz", g.N(h.n())); List cps = this.kont.akceptuj(nh, g); ps.addAll(cps); } return ps; } @Override public Fragment ocr(Produkt p, GrafAdv g) { return null; } }