Bug 229 - NFA: Convert_To_NFA-Direct: Exception statt klarer Fehlerbeschreibung
: NFA: Convert_To_NFA-Direct: Exception statt klarer Fehlerbeschreibung
Status: RESOLVED FIXED
Product: Auto*
autotool
: other
: PC Windows 2000
: P2 normal
Assigned To: Johannes Waldmann
:
:
:
  Show dependency treegraph
 
Reported: 2009-10-30 16:23 CET by Frank Loebe
Modified: 2012-11-17 10:28 CET (History)
0 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Frank Loebe 2009-10-30 16:23:39 CET
Hallo,

Lösungsversuche für den Aufgabentyp Convert_To_NFA-Direct, die wohl vom
Datentyp Autolib.NFA.Data.NFA(Char)(Int) sein müssen, führen bei Eingabe einer
Zustandsmenge ("states"), die nicht alle Zustände in der Übergangsfunktion
("trans") erfasst, zu einer Exception, die nicht alle Studenten zur
Problemursache führt, nämlich zu:

got exceptionof value NFA.Dot.numeric

Ich hätte auch eher erwartet, dass die Standard-Konsistenzprüfung oder die
Eigenschaft "Sane" zu einer "normalen" Fehlermeldung i.S. der Rückmeldung zur
Lösung führt, etwa: "Die Zustandsmenge ist nicht konsistent mit der
Übergangsfunktion."

Zum Nachvollziehen hänge ich eine Konfiguration und eine exceptionverursachende
Lösungseingabe unten an.

Falls unbekannt und ungewollt, handelt es sich vielleicht ein ähnliches
Phänomen wie bei Bug 220 [1]?

Viele Grüße,
Frank Loebe

[1] http://dfa.imn.htwk-leipzig.de/bugzilla/show_bug.cgi?id=220


Konfiguration zum Testen:

( Convert
      { name = Just
                   [ "aller W\246rter \252ber {a,b,c}, die kein bab enthalten,"
]
      , input = Exp
                    All - All b a b All
      }
, [ Alphabet
        (mkSet "abc")
  , Deterministic , Complete
  ]
)


Lösungseingabe zum Testen:

NFA
    { alphabet = mkSet "abc" , states = mkSet [ 1 , 3 ]
    , starts = mkSet [ 2 ] , finals = mkSet [ 2 ]
    , trans = collect [ ( 1 , 'a' , 2 ) , ( 2 , 'a' , 1 )
                      , ( 2 , 'a' , 3 ) , ( 2 , 'b' , 3 ) , ( 3 , 'b' , 2 )
                      ]
    }
Comment 1 Johannes Waldmann 2009-10-30 19:00:42 CET
Die Fehlerursache ist:
der Test ("Sane") würde das bemerken, daß die Transitionen
Zustände benutzen, die es gar nicht gibt, 
aber er findet zu spät statt (das Bild wird vorher gemalt).
Ich werde die Reihenfolge vertauschen.
Comment 2 Johannes Waldmann 2012-11-17 10:28:02 CET
(In reply to comment #1)
> Die Fehlerursache ist:
> der Test ("Sane") würde das bemerken, daß die Transitionen
> Zustände benutzen, die es gar nicht gibt, 
> aber er findet zu spät statt (das Bild wird vorher gemalt).
> Ich werde die Reihenfolge vertauschen.

fixed:
http://autolat.imn.htwk-leipzig.de/gitweb/?p=tool;a=commitdiff;h=a9d40bb307c0ec219d36222d39586b3b39ed333a

released in http://autolat.imn.htwk-leipzig.de/cgi-bin/autotool-0.4.1.cgi