Package fmg.fmg8.endlAutomat.translator

Examples of fmg.fmg8.endlAutomat.translator.Translator


        "000, 008, 001, 000, 012, 099, 001, 000, 004, 000, 000, 005, " +
        "001, 000, 000, 000, 002, 101, 101, 100, 000, 012, 099, 001, " +
        "000, 007, 000, 000, 003, 001, 000, 012, 099, 001, 000, 004, " +
        "000, 000, 005, 001, 000, 000, 000";
       
        Translator trans = new Translator(
                transCode,
                new ScriptInterpreter(params, SonstMeth.MODUS_TRANSLATOR),
                params);
        Script s = trans.translate(new EndlicherAutomat().bereinige(seqCode));
        ScriptInterpreter sInt = new ScriptInterpreter(params, SonstMeth.MODUS_TRANSLATOR);
        EndlicherAutomat ea = new EndlicherAutomat();
        sInt.generateAutomaton(ea, s);
//        System.out.println(ea.erzeugeSequenz().size());
        System.exit(0);
View Full Code Here


        this.popNum = pop.getId();
        this.graphen.clear();
       
        for (int i = 0; i < robs.length; i++) {
            for (int j = 0; j < trans.length; j++) {
                trans[j] = new Translator(
                        robs[i].getTStdCodes()[j],
                        new ScriptInterpreter(
                                this.aktParams,
                                SonstMeth.MODUS_TRANSLATOR),
                        this.aktParams);
View Full Code Here

     */
    public boolean evaluiere(final Object aut) {
        int zahl1;
        int zahl2;
        Roboter rob;
        Translator trans;
       
        if (aut == null) {
            zahl1 = this.operand1;
            zahl2 = this.operand2;
        } else if (aut.getClass().equals(Roboter.class)) {
            rob = (Roboter) aut;
            if (this.sensor1) {
                zahl1 = rob.getSensorWert(this.operand1 - 1);
            } else {
                zahl1 = this.operand1;
            }
   
            if (this.sensor2) {
                zahl2 = rob.getSensorWert(this.operand2 - 1);
            } else {
                zahl2 = this.operand2;
            }
        } else if (aut.getClass().equals(Translator.class)) {
            trans = (Translator) aut;
            if (this.sensor1) {
                zahl1 = trans.getH(this.operand1);
            } else {
                zahl1 = this.operand1;
            }
   
            if (this.sensor2) {
                zahl2 = trans.getH(this.operand2);
            } else {
                zahl2 = this.operand2;
            }
        } else {
            throw new RuntimeException(
View Full Code Here

    public synchronized void erzeugeAusSequenz(
            final String seq,
            final Translator trans,
            final boolean pruefen) {
        String seq2 = this.bereinige(seq);
        Translator trans2, konstTrBE;
       
        konstTrBE = fmg.fmg8.endlAutomat.translator.Konstanten.STD_TRANSL_BE;
       
        if (trans == null) {
            trans2 = konstTrBE;
        } else {
            trans2 = trans;
        }

        if (Konstanten.SEQUENZ_KORREKTHEIT_PRUEFEN) {
            if (pruefen) {
                if (!this.seqKorrPruef(seq2)) {
                    return;
                }
            }
        }

        Script neuScript = trans2.translate(seq2);
        trans2.getScriptInterpreter().generateAutomaton(this, neuScript);

/* TODO: Langfristig weglassen, dient nur Testzwecken:
        Translator konstTrTR
            = fmg.fmg8.endlAutomat.translator.Konstanten.STD_TRANSL_TR;
        if (trans2.equals(konstTrBE) || trans2.equals(konstTrTR)) {
View Full Code Here

     */
    public boolean evaluiere(final Object aut) {
        int zahl1;
        int zahl2;
        Roboter rob;
        Translator trans;
       
        if (aut == null) {
            zahl1 = this.operand1;
            zahl2 = this.operand2;
        } else if (aut.getClass().equals(Roboter.class)) {
            rob = (Roboter) aut;
            if (this.sensor1) {
                zahl1 = rob.getSensorWert(this.operand1 - 1);
            } else {
                zahl1 = this.operand1;
            }
   
            if (this.sensor2) {
                zahl2 = rob.getSensorWert(this.operand2 - 1);
            } else {
                zahl2 = this.operand2;
            }
        } else if (aut.getClass().equals(Translator.class)) {
            trans = (Translator) aut;
            if (this.sensor1) {
                zahl1 = trans.getH(this.operand1);
            } else {
                zahl1 = this.operand1;
            }
   
            if (this.sensor2) {
                zahl2 = trans.getH(this.operand2);
            } else {
                zahl2 = this.operand2;
            }
        } else {
            throw new RuntimeException(
View Full Code Here

        this.popNum = pop.getId();
        this.graphen.clear();
       
        for (int i = 0; i < robs.length; i++) {
            for (int j = 0; j < trans.length; j++) {
                trans[j] = new Translator(
                        robs[i].getTStdCodes()[j],
                        new ScriptInterpreter(
                                this.aktParams,
                                SonstMeth.MODUS_TRANSLATOR),
                        this.aktParams);
View Full Code Here

    public synchronized void erzeugeAusSequenz(
            final String seq,
            final Translator trans,
            final boolean pruefen) {
        String seq2 = this.bereinige(seq);
        Translator trans2, konstTrBE;
       
        konstTrBE = fmg.fmg8.endlAutomat.translator.Konstanten.STD_TRANSL_BE;
       
        if (trans == null) {
            trans2 = konstTrBE;
        } else {
            trans2 = trans;
        }

        if (Konstanten.SEQUENZ_KORREKTHEIT_PRUEFEN) {
            if (pruefen) {
                if (!this.seqKorrPruef(seq2)) {
                    return;
                }
            }
        }

        Script neuScript = trans2.translate(seq2);
        trans2.getScriptInterpreter().generateAutomaton(this, neuScript);

/* TODO: Langfristig weglassen, dient nur Testzwecken:
        Translator konstTrTR
            = fmg.fmg8.endlAutomat.translator.Konstanten.STD_TRANSL_TR;
        if (trans2.equals(konstTrBE) || trans2.equals(konstTrTR)) {
View Full Code Here

     *
     * @return  Darstellung des Graphen g.
     */
    public DargestellterGraph erzeuge(final EndlicherAutomat g,
                                      final Object ausgKn) {
        DargestellterGraph darstellung = new DargestellterGraph();
        Iterator<Knoten> it;
        Iterator<Knoten> it1;
        Iterator<Integer> it2;
        Iterator<Transition> it3;
        Knoten knot;
        Knoten knot1;
        Knoten knot2;
        Vektor2D koord1;
        Vektor2D koord2;

        if (!g.istLeer()) {
            final ArrayList<Knoten> knotenListe
                = new ArrayList<Knoten>(g.holAdj().values());
            int knAnzahl = knotenListe.size();
           
            if (knAnzahl < 2) {
                knAnzahl = 2;
            }
           
            int gitterX = Math.abs(this.rechts - this.links)
                          / (int) ((Math.ceil(Math.sqrt(knAnzahl))) - 1);
            int gitterY = Math.abs(this.unten - this.oben)
                          / (int) ((Math.ceil(Math.sqrt(knAnzahl))) - 1);

            int koordX = this.links;
            int koordY = this.oben;
           
            int kX;
            int kY;
            Transition bed;
            int folgeZustand;
            String bedingung;
            int xAusgleich;
            int zaehler = 0;
           
            // Knoten
            it = knotenListe.iterator();
            while (it.hasNext()) {
                knot = it.next();

                if (this.gesetzteKn.containsKey(knot.holeName())) {
                    kX = (int) this.gesetzteKn.get(knot.holeName()).x;
                    kY = (int) this.gesetzteKn.get(knot.holeName()).y;
                    this.setzeKnoten(knot,
                                     darstellung,
                                     kX,
                                     kY,
                                     (Knoten) ausgKn);

                    if (g.istStartZ(knot)) {
                        darstellung.hinzuPfeil(kX - 60,
                                               kY - 60,
                                               kX - 45,
                                               kY - 45,
                                               0.5,
                                               false);
                    }
                } else {
                    this.setzeKnoten(knot,
                                     darstellung,
                                     koordX,
                                     koordY,
                                     (Knoten) ausgKn);

                    this.gesetzteKn.put(knot.holeName(),
                                        new Vektor2D(koordX, koordY));

                    if (g.istStartZ(knot)) {
                        darstellung.hinzuPfeil(koordX - 60,
                                               koordY - 60,
                                               koordX - 45,
                                               koordY - 45,
                                               0.5,
                                               false);
                    }

                    zaehler++;
                   
                    if (zaehler < Math.ceil(Math.sqrt(knAnzahl))) {
                        koordX = koordX + gitterX;
                    } else {
                        koordX = this.links;
                        koordY = koordY + gitterY;
                        zaehler = 0;
                    }
                }
            }

            // Kanten
            it1 = knotenListe.iterator();
            while (it1.hasNext()) {
                knot1 = (Knoten) it1.next();
                koord1 = (Vektor2D) this.gesetzteKn.get(knot1.holeName());

                it2 = (new ArrayList<Integer>(
                                knot1.holeNachfolger().keySet())).iterator();
                while (it2.hasNext()) {
                    boolean gebogen = true;
                   
                    knot2 = g.holeKnoten((Integer) it2.next());
                    koord2 = (Vektor2D) this.gesetzteKn.get(knot2.holeName());
                    Condition cond
                        = knot1.getInfo().getTransZuZustand(
                                knot2.holeName()).get(0).getCond();
                    double staerke = SonstMeth.condStrength(cond,
                                                   Konstanten.STAERKE_ERST,
                                                   Konstanten.STAERKE_ZWEIT);
                   
                    if (koord1.distanz(koord2) < 140
                            && !koord1.equals(koord2)) {
                        gebogen = false;
                    }
                   
                    darstellung.hinzuPfeil(
                            (int) koord1.x,
                            (int) koord1.y,
                            (int) koord2.x,
                            (int) koord2.y,
                            staerke,
                            gebogen);
                }
            }

            // Kantenbeschriftungen
            it1 = knotenListe.iterator();
            while (it1.hasNext()) {
                int kantNum = 1;
                knot1 = (Knoten) it1.next();
                koord1 = this.gesetzteKn.get(knot1.holeName());

                it3 = ((ZInfo) knot1.getInfo()).getBeds().iterator();
                while (it3.hasNext()) {
                    Polygon p = new Polygon();
                    bed = it3.next();
                    folgeZustand = bed.getFolgezustand();
                    bedingung = bed.getCond().toString();
                    knot2 = g.holeKnoten(new Integer(folgeZustand));
                    koord2 = this.gesetzteKn.get(knot2.holeName());

                    p.addPoint((int) koord1.x, (int) koord1.y);
                    p.addPoint((int) koord2.x, (int) koord2.y);

                    if (koord1.equals(koord2)) {
                        xAusgleich = 95;
                    } else {
                        xAusgleich = 0;
                    }

                    darstellung.hinzuBeschr(
                            (int) ((koord1.x + koord2.x) / 2) + xAusgleich,
                            (int) ((koord1.y + koord2.y) / 2),
                            kantNum + ".)  " + bedingung,
                            p);
                   
View Full Code Here

        this.setLayout(new BorderLayout(borderX, borderY));
        this.setResizable(false);
        this.setLocation(locationX, locationY);

        //Message
        MultiLineLabel lab = new MultiLineLabel(msg);
        lab.setLeftRightMargin(lrMargin);
        lab.setTopBottomMargin(tbMargin);
        this.add(lab, BorderLayout.NORTH);

        //Buttons
        Panel panel = new Panel();
        panel.setLayout(new FlowLayout(FlowLayout.CENTER));
View Full Code Here

        this.setLayout(new BorderLayout(borderX, borderY));
        this.setResizable(true);
        this.setLocation(locationX, locationY);
        //Message
        if (textBox == null) {
            MultiLineLabel lab = new MultiLineLabel(msg);
            lab.setLeftRightMargin(lrMargin);
            lab.setTopBottomMargin(tbMargin);
            this.add(lab, BorderLayout.CENTER);
        } else {
            if (einzeilig) {
                this.text = new TextField(textBox,
                                     textBoxWidth);
View Full Code Here

TOP

Related Classes of fmg.fmg8.endlAutomat.translator.Translator

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.