hiho,
ich grübel nu schon wieder länger an einem eher kleinen Problem.
Folgendes ist vorhanden (Editor für kontextfreie Grammatiken):
- Backend mit Daten der nutzbaren Grammatiken, Funktionen für Einlesen von Datein
(Grammatiken, definierte Makros, csv-datein und sowas) .. sonstiges, was für das
Problem nicht relevant ist
- Frontend weches lediglich die GUI umsetzt.
Der Editor wird auf 2er-lei Weise genutzt. Einmal als Standalone-Software mit GUI für normale Arbeit an lokalen Rechnern, und zum anderen als reine Funktions"bibliothek" auf einem Server, welcher Jobs bekommt und bei Bedarf eben Files mit meinem Backend parst.
Nun ist es so, das ich beim Einlesen der ganzen Datein (Grammatiknotationen, Makrodefinitionen, Syntaxmapping-definitionen) auf folgende Situationen stossen kann.
Die Sache ist nun, das ich beim Einlesen einer Grammatik und ihrer spezifischen Datein versch. Stati haben kann.
Alles korrekt ; Fehler beim Import der Grammatik ; teilweise fehlenden Makros ; zirkuläre Makronutzung ; teilweise erkannte Mappingdefinitionen .. etc. (zu jedem Fehler kann ich ja theoretisch angeben was nicht korrekt war)
Wie kann ich das ganze nun so verpacken das ich nach Aufruf einer Methode wie
(lädt alle nötigen Bestandteile einer Grammatik) weiss mit welchen Ergebnis was geladen werden konnte?
Es wäre auch denkbar, das später weitere externe Infos geladen werden, wer weiss was sich die Professorin noch alles ausdenkt
Eigentlich sehe ich nur die Chance eine eigene Klasse zu erstellen, in der jede Methode zum Einlesen der Infos hinterlegt wie der Stand der Dinge ist, aber das gefällt mir nicht ganz, wenn es um die Auswertung dieses Objektes geht.
ich grübel nu schon wieder länger an einem eher kleinen Problem.
Folgendes ist vorhanden (Editor für kontextfreie Grammatiken):
- Backend mit Daten der nutzbaren Grammatiken, Funktionen für Einlesen von Datein
(Grammatiken, definierte Makros, csv-datein und sowas) .. sonstiges, was für das
Problem nicht relevant ist
- Frontend weches lediglich die GUI umsetzt.
Der Editor wird auf 2er-lei Weise genutzt. Einmal als Standalone-Software mit GUI für normale Arbeit an lokalen Rechnern, und zum anderen als reine Funktions"bibliothek" auf einem Server, welcher Jobs bekommt und bei Bedarf eben Files mit meinem Backend parst.
Nun ist es so, das ich beim Einlesen der ganzen Datein (Grammatiknotationen, Makrodefinitionen, Syntaxmapping-definitionen) auf folgende Situationen stossen kann.
- Grammatik einlesen
sollten hier Fehler (falsche Notation der Grammatik) auftauchen, kann die Grammatik nicht korrekt erkannt/genutzt werden, und der Import wird abgebrochen. Makros und SynMapping brauch ich dann nicht erst einlesen.
- Grammatikspezifische Makrodatei einlesen
hier kann es sein, das einzelne Makros nicht korrekt definiert wurden (fehlende Trennzeichen oder Parameterklammern etc.). Alle erkannten Makros kann man ohne Probleme verwenden. Die nicht erkannten, sind auch im Backend nicht verfügbar, das heisst beim Parsen gäbe es auch keine Probleme. Im Zweifelsfall würde die Nutzung eines nicht erkannten Makros dazu führen, das er einen Teilstring beim Parsen nicht erkennt. Ist ja weniger schlimm.
Der 2. Fall wäre, das die Makros zirkulär sich selbst benutzen. Eine Prüfung dessen habe ich bereits eingebaut und diese funktioniert auch, allerdings sind damit alle Makros unbrauchbar (würde später im Stackoverflow enden) und ich müsste hier eine Nachricht an den Nutzer herausschicken, damit er das Problem beheben kann.
Bis hierhin wäre Grammatikdatei 100% richtig erkannt, und Makros eben nur teilweise oder mit zirkulärer Nutzung erkannt.
- Grammatikspezifische SynMappingdatei einlesen
hier habe ich noch keine Funktion dazu implementiert, wäre aber den Makros ähnlich. Das heisst es könnte sein, das einige Definitionen erkannt werden und einige nicht, da sie nötige Struktur nicht aufweisen.
Dieser Schritt kann ebenfalls erfolgen sobald die Grammatik korrekt erkannt wurde.
Die Sache ist nun, das ich beim Einlesen einer Grammatik und ihrer spezifischen Datein versch. Stati haben kann.
Alles korrekt ; Fehler beim Import der Grammatik ; teilweise fehlenden Makros ; zirkuläre Makronutzung ; teilweise erkannte Mappingdefinitionen .. etc. (zu jedem Fehler kann ich ja theoretisch angeben was nicht korrekt war)
Wie kann ich das ganze nun so verpacken das ich nach Aufruf einer Methode wie
Code:
public ??? importNewGrammar(...)
Es wäre auch denkbar, das später weitere externe Infos geladen werden, wer weiss was sich die Professorin noch alles ausdenkt
Eigentlich sehe ich nur die Chance eine eigene Klasse zu erstellen, in der jede Methode zum Einlesen der Infos hinterlegt wie der Stand der Dinge ist, aber das gefällt mir nicht ganz, wenn es um die Auswertung dieses Objektes geht.
Zuletzt bearbeitet: