Forum moved to if-forum.org
Autor Nachricht
<  Problem mit Extend [verb] first
Kris
BeitragVerfasst am: Fr, 9 Apr 2004 - 9:25  Antworten mit Zitat
Kompassleser
Kompassleser


Anmeldungsdatum: 21.02.2004
Beiträge: 198
Wohnort: Rheinmain

Ich habe ein Problem mit einer Extend - directive:

Ich habe 'schau' erweitert um auch neben, hinter oder durch etwas sehen zu können.

Hier der Code:

Extend 'schau' first
* 'durch'/'aus' noun -> LookThrough
* 'durch'/'aus' noun 'durch'/'heraus' -> LookThrough
* 'neben' noun -> LookNextTo
* 'neben' noun 'nach' -> LookNextTo
* 'hinter' noun -> LookBehind
* 'hinter' noun 'nach' -> LookBehind;



Wenn ich nun

>schau

eingebe (oder einfach nur "l") kommt die Meldung


Du wolltest vermutlich folgendes: "schau durch..." - aber was, wie, womit?Deine Antwort:

Alles andere in der GermanG wird erreicht: Schau herum, schau dich um usw.
Nur die Zeile mit

* ->Look

wird wohl "übersprungen" warum?

(Ich meine ich kann sie in Extend mit einbauen, dann läufts wieder, aber ich will wissen warum dass so ist)

Danke für Hilfe

Kris
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Martin
BeitragVerfasst am: Fr, 9 Apr 2004 - 13:43  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München

Zitat:

Du wolltest vermutlich folgendes: "schau durch..." - aber was, wie, womit?
Deine Antwort:

Ja, ein alter Bekannter, nicht gerade eine der besten Fehlermeldungen der deutschen Inform-Lib. Eingefügt von Max Kalus. Ich weiß nie, was man mit diesem Prompt, der immer dann erscheint, wenn man ihn am wenigsten erwartet, machen kann und bin froh, wenn ich wieder zum normalen Prompt zurückkomme.

In deinem Fall habe ich folgendes herausgefunden: Wenn man "schau." angibt, den Satz also explizit mit einem Schlusszeichen abschließt, funktioniert es. Im Debug-Modus mit eingeschaltetem Tracing sehe ich, dass der Parser bei "schau" bereits in der ersten Zeile
Code:

   * 'durch'/'aus' noun -> LookThrough

eine Übereinstimmung findet: Er nimmt an, dass Du "schau durchs Fenster" (oder so) sagen wolltest, und dass du eine dermaßen faule Sau bist, dass du ihn das dazu passende Objekt implizieren lassen willst. Er arbeitet also alle Objekte, die sich in Sichtweite befinden inklusive der Himmelsrichtungen durch und da er von den vielen Objekten, die er findet, keinem einen eindeutigen Vorzug, was das Hindurchschauen betrifft, geben kann, fragt er nach.

Der Parser überspringt diese Zeile also nicht, er erreicht sie durch krude Annahmen und dank seiner "first match"-Methode erst überhaupt nicht.

Die erste Beobachtung - ein Satzschlusszeichen hilft - lässt mich annehmen, dass hier nicht vernünftig geschaut wird, ob der Satz zuende ist. Es wird nicht buffer->1 betrachtet, sondern einfach munter weitergelesen, obwohl die Daten, die dort stehen nichts mehr mit der letzten Eingabe zu tun haben. Nur so eine Vermutung.

Die zweite Sache lehrt uns, kürzere Satzmuster immer als erste zu definieren, auch dann, wenn man bestehende Verben mit "Extend first" erweiterst. Vielleicht bist du in deinem Fall sogar besser beraten, die "schau"-Verben mit "Extend replace" neu zu definieren, um den ungewollten Prompt nicht erscheinen zu lassen, wenn der Parser meint, du wolltest etwas nachschlagen.

Vielleicht könnte sich ja mal ein Kompetenzteam unter der Leitung von Max der Sache annehmen?
_________________
Every silver lining has a cloud.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Kris
BeitragVerfasst am: Fr, 9 Apr 2004 - 18:37  Antworten mit Zitat
Kompassleser
Kompassleser


Anmeldungsdatum: 21.02.2004
Beiträge: 198
Wohnort: Rheinmain

Danke für die prompte Antwort.

An Replace habe ich auch schon gedacht, aber sollte es eine Änderung der deutschen Library geben könnte später evtl. etwas fehlen.

Also werde ich die Extend 'schau' first mit

* -> Look

beginnen, doppelt gemoppelt hält besser :-)))

Also,

vielen Dank nochmal

Kris

PS:

Zitat:
Ich weiß nie, was man mit diesem Prompt, der immer dann erscheint, wenn man ihn am wenigsten erwartet, machen kann und bin froh, wenn ich wieder zum normalen Prompt zurückkomme.


Ich tippe einfach "qwer" und [Enter], beim 2.mal ist er draußen ;-)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ChrisW
BeitragVerfasst am: Fr, 9 Apr 2004 - 21:08  Antworten mit Zitat
Abenteurer
Abenteurer


Anmeldungsdatum: 26.08.2002
Beiträge: 278
Wohnort: Leipzig

Noch eine Vermutung: Irre ich mich oder tritt das Problem nur bei Ein-Wort-Eingaben auf? Die stellt die Library bei den Definitionen nämlich auch ganz an den Anfang, während bei den restlichen Fällen die Satzlänge egal zu sein scheint. Ich dachte immer, das diene rein der Übersichtlichkeit...

Max' Kompetenzteam wird vermutlich noch mit dem Statuszeilen-Bug beschäftigt sein, den Christoph und du neulich gefunden haben. Dass er davon weiß, weiß ich, aber gemeldet hat er sich noch nicht.
_________________
"Ein Musiker! Was will der hier so spät?" Stolzing (Meistersinger v.N.)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Kris
BeitragVerfasst am: Sa, 10 Apr 2004 - 6:35  Antworten mit Zitat
Kompassleser
Kompassleser


Anmeldungsdatum: 21.02.2004
Beiträge: 198
Wohnort: Rheinmain

Zitat:
Noch eine Vermutung: Irre ich mich oder tritt das Problem nur bei Ein-Wort-Eingaben auf? Die stellt die Library bei den Definitionen nämlich auch ganz an den Anfang, während bei den restlichen Fällen die Satzlänge egal zu sein scheint. Ich dachte immer, das diene rein der Übersichtlichkeit...


Also bei meiner Erweiterung von wave (es soll auch "winke emil" oder "winke frau" möglich sein), passiert das selbe:
Wenn ich nur winke eingebe geht's wieder los mit "...aber mit was..."

Hat also wohl damit zu tun.

Man sollte wohl besser bei jedem Extend die Einworteingabe übernehmen.


Grüße

Kris
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Gast
BeitragVerfasst am: Sa, 10 Apr 2004 - 15:20  Antworten mit Zitat






Kris hat folgendes geschrieben:
Man sollte wohl besser bei jedem Extend die Einworteingabe übernehmen.


Genau, Satzmuster, bei denen das Verb ohne weitere Objekte verwendet wird, müssen direkt als erstes stehen und das muss auch nach einer Erweiterung mit "first" so sein.

Um Max einmal zu entlasten: Das ist übrigens auch in der englischen Lib so, genau wie oben beschrieben: Mit Punkt geht's, ansonsten wird versucht, ein Objekt zu implizieren. Und das DM4 schweigt darüber, ich habe zumindest nichts gefunden.
Nach oben
Martin
BeitragVerfasst am: Sa, 10 Apr 2004 - 15:48  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München

Obiger Beitrag war von mir, nur damit die Highscore-Liste der Poster nicht durcheinadergerät :-)

Was, um alles in der Welt, hat mich dazu bewogen mit dem Internet-Explorer ins Forum zu gehen?
_________________
Every silver lining has a cloud.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Alle Zeiten sind GMT + 1 Stunde (MEZ)

Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Seite 1 von 1
if-de :: Forum Foren-Übersicht  >  Inform & Glulx

Neues Thema eröffnen   Neue Antwort erstellen


 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.



Kontakt: Administrator

Powered by phpBB and NoseBleed v1.05