AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
17.10.21 - 11:38:55
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino Sonstiges
| |-+  Java und .NET mit Notes/Domino (Moderatoren: Axel, m3)
| | |-+  Formelsprache TO LotusScript Code-generierer schreiben
« vorheriges nächstes »
Seiten: 1 2 [3] 4 5 Nach unten Drucken
Autor Thema: Formelsprache TO LotusScript Code-generierer schreiben  (Gelesen 40136 mal)
Thomas Schulte
@Notes Preisträger
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 4388


Ich glaub mich tritt ein Pferd


« Antworten #40 am: 31.08.05 - 23:15:12 »

Na wie wäre es dann wenn du tatsächlich einmal anfangen würdest?
Und die Ergebnisse hier auch präsentierst!
Deine Theorien hören sich ja immer gut an.
Gespeichert

Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach
koehlerbv
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 20460



« Antworten #41 am: 31.08.05 - 23:20:51 »

Ich find heute abend werden mal wieder ein paar sehr starke Aussagen getroffen bevor ich überhaupt angefangen habe.
Ich glaube: Die OOD gibt mir eine ausreichende Flexibilität, um ausreichend auf die variablen Fälle zu reagieren.
Ihr glaubt, das nicht.
Bevor ich nicht angefangen habe, wissen wir es einfach nicht.

"Starke Aussagen" kamen hier bisher nur von Dir, Axel.
Und richtig: Bevor Du angefangen hast, wissen wir es nicht. Meine Erfahrungen (mit Dir) sagen mir aber, dass Du vielleicht anfängst, aber es nicht bis auf ein brauch-/ausbaubares Resultat bringen wirst.

Auf Grund entsprechender Erfahrungen würde ich mich in Dein Vorhaben auch dann einbringen, auch wenn ich es nach wie vor für nicht effizient halte. Aber das würde ich erst machen, wenn Du auf starke Aussagen starke Taten folgen lässt. Bisher sehe ich nur Schlagworte und heisse Luft.

Bernhard
Gespeichert
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #42 am: 31.08.05 - 23:51:44 »

Oha. Jetzt gehts wieder los.
Das mich Werturteile in jeder Form (Lob/Tadel) aus Internet-Foren nicht interessieren, dürfte ich inzwischen deutlich genug klar gemacht haben.  Ok. Es gelingt mir nicht immer emotional. Aber intellektuell auf jeden Fall. Ich mein jetzt damit nicht, dass ich mich intellektuell für überlegen halte oder so. Sondern ich relativiere einfach bestimmte Arten von Tadel oder Lob.
Wenn ich kein Sinn mehr in einer Arbeit sehe, breche ich sie ab.
Ich nehme sachliche Kritik durchaus zur Kenntnis, aber solche emotionale Kritik sicher nicht.
Und Bernhard: Ein solch autoritärer Tonfall, wie du ihn manchmal an den Tag legst, sehe ich nicht als Basis für eine Zusammenarbeit an. Wie bedeutsam du auch immer deinen Beitrag selbst einschätzt. Tue mir einen Gefallen und gewöhne dir bitte diese "immer nur" Sätze ab.
Ich bin hier nicht dafür, dass irgendjemand mich für gut, schlecht oder bescheurt hält sondern aus 2 gleichberechtigten Gründen:
- Weiterbildung (ich lerne hier eine Menge)
- Unterhaltung

Das hengstbissige Kollektiv möge sich zerstreuen.  Grin

@Thomas: Ich habe gesagt, dass ich am Wochenende anfange. Ich habe einen anstrengenden Job. (Was hier ja von den anwesenden Gurus auch immer gerne in Zweifel gezogen wird).
Axel


« Letzte Änderung: 01.09.05 - 00:08:58 von kennwort » Gespeichert

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile
koehlerbv
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 20460



« Antworten #43 am: 01.09.05 - 00:38:52 »

Oha. Jetzt gehts wieder los.

Wieso ?

Und Bernhard: Ein solch autoritärer Tonfall, wie du ihn manchmal an den Tag legst, sehe ich nicht als Basis für eine Zusammenarbeit an.

Wo ?

Ich mache auch viele Dinge, die vielleicht nicht sofort (!) Nutzen bringen (und muss mich dann mit kaufmännischen "Grössen" herumschlagen, warum ich das getan habe). Man sollte auch viele Dinge tun, um zu lernen. Man sollte das dann aber auch zu Ende (oder zumindest weiter) bringen - vor allem, wenn man es öffentlich macht. Und Du bist hier schlicht der Weltmeister in
- Ankündigungen
- Paradigmenwechseln
- Wechselnden Identitäten im Sinne von An- und Abmeldungen

Bernhard

PS: Meine Meinung ist hier ausdrücklich meine private Aussage und stellt ebenso ausdrücklich nicht die Meinung des Moderatoren-Teams dar. Einen zweiten AtNotes-Account, bei dem sowieso jeder gleich schnallt, wer dahinter steckt, hielt ich dafür nicht erforderlich  Grin
Gespeichert
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #44 am: 01.09.05 - 07:16:10 »

Noch mal Leute: Ich verspüre überhaupt kein Bedürfnis mich hier irgendjemanden gegenüber zu beweisen. Ausser er zahlt mir Geld. Ich denke auch, dass sich im Laufe der Zeit einige Poster für meine Antworten bedankt haben.

Wenn ihr weiter über meine Person sprechen wollt, dann macht bitte einen neuen Thread auf.

Sätze wie ""Starke Aussagen" kamen hier bisher nur von Dir, Axel." empfinde ich als aggressiv. So jedenfalls meine Empfindungen. Ob dieser Satz nun wahr oder falsch ist, bitte in einem anderen Thread.

Ich hab natürlich eine manchmal große Klappe. Und gleichzeitig einen herausfordernden Day-Job. Letzteres passt natürlich überhaupt nicht zu meinem hiesigen Verhalten. Aber ich bin Katholik (light) und die glauben bekanntlich an Wunder.

Um den Zeitplan ein bischen transparent zu gestalten: Ich werde am Wochenende ein paar Dinge ausprobieren und die hier darlegen. Über Input freue ich mich natürlich auch, ausser es handelt sich um Diskussionen um mein verkommenes Wesen.  Grin
Dies ist zunächst auch erstmal als eine Bitte von den anwesenden Java Programmierern zu verstehen.

thx Axel
« Letzte Änderung: 01.09.05 - 07:49:20 von kennwort » Gespeichert

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile
Thomas Schulte
@Notes Preisträger
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 4388


Ich glaub mich tritt ein Pferd


« Antworten #45 am: 01.09.05 - 09:24:32 »

Ich bin garantiert nicht hengstbissig, Axel, nur habe ich im Projektbereich außer heiser Luft von dir bis jetzt noch nichts gesehen.
Sorry das ich das sage aber das ist einfach ein Fact.
Das du einen Stressjob hast glaub ich dir aufs Wort, das haben aber andere auch und die machen da nicht so ein Gedöns drum rum.
Gespeichert

Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #46 am: 01.09.05 - 12:07:25 »

Ich bin garantiert nicht hengstbissig, Axel, nur habe ich im Projektbereich außer heiser Luft von dir bis jetzt noch nichts gesehen.
Sorry das ich das sage aber das ist einfach ein Fact.
Da brauchst du dich nicht für entschuldigen, weil es mir ehrlichgesagt ziemlich egal ist.
In Zukunft werde ich in diesem Thread nur noch auf themenbezogene Postings reagieren.

Mein Job ist eigentlich nicht so stressig. Anstrengend ist Neugier und Job gleichzeitig. Ich bin lediglich darauf eingegangen, weil hier einige Herren mich als jemand bezeichnet haben, der keine praktische Arbeit hat. Und das ist einfach nicht wahr.
Ich würde mich insgesamt freuen, wenn ein bischen mehr auf Werturteile verzichtet würde. Ich nehms sowieso nicht so ernst.


Nicht themenbezogen sind:
- Diskussion über mich (immer gerne. Aber in einem anderen Thread).
- Allgemeine Diskussionen über Design Patterns, meine Arbeitsweise und ähnliches mehr. Könnt ihr natürlich in einem anderen Thread gerne machen.

Nach den ersten Designstudien mit Prototypen erhoffe ich mir sachdienlichen Input v.a. von Leuten mit einer gewissen Java-Erfahrung.   
« Letzte Änderung: 01.09.05 - 12:33:32 von kennwort » Gespeichert

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #47 am: 02.09.05 - 00:30:44 »

Ok. Nach den zahlreichen Protesten, habe ich im Zug mal das wundervolle Rod Johnson Buch zur Seite gelegt (die klarste Darstellung über AOP-via-Interception, die ich je gelesen habe) und hab mal ein bischen angefangen rumzuprobieren.

Grundsätzlich:
-> wird der FormelspracheCode eingelesen und an eine Art Builder-Klasse weitergeleitet.
Diese BuilderKlasse orchestriert aus den einlaufenden Stream des Formelsprachen-Codes vermutlich über ein State-Pattern (vielleicht ein bischen übertrieben, Patternities) die Generierung der TokenKlassen. Aus den Tokens der Formelsprache mache ich ein gewaltiges Composite. Für jede Formel gibts eine oder mehrere ChildKlassen der Abstrakten Klasse NotesFormulaToken.
Erst wird der Formelsprachencode quasi in diesem NotesFormulaToken-Baum "aufgenommen". Gleichzeitig sollen die eine Methode execute haben zur "Wiedergabe" -> generieren von LotusScript Code.
Es wird sicher Probleme geben mit Kleinigkeiten. Vielleicht aber erweist sich dies aber als brauchbare Struktur. Dann müssen natürlich für jede Formel eine NotesFormulaToken Klasse geschrieben we. rdenWenn ich 30% habe und hier vielleicht noch jemand auch ein paar Klassen erstellt, hätte man schon mal eine Menge abgedeckt. Diese NotesFormulaToken Klassen zu schreiben sollte auch sehr einfach sein, wenn das einmal läuft. Dh Schema f. Falls es läuft können dann auch Leute, die ein egoistisches Eigeninteresse an dem System haben, ohne große Javakenntnisse zum Projekt beitragen.
 
Ich habe gute Gründe für dieses Projekt zumindest den IOCContainer von Spring zu verwenden. Damit ist das ein Spring-Projekt. Macht es einfacher.

Sollte ich die Basis haben, kann ich das als Eclipse Projekt verschicken (inklusive aller jars). Allerdings über Mail. Für hier könnte das u.U. zu groß werden.

Axel
« Letzte Änderung: 02.09.05 - 00:44:34 von kennwort » Gespeichert

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #48 am: 02.09.05 - 06:59:21 »

Falls jetzt jemand Agressionen bekommt, möge er sich einfach mal vorstellen, dass jemand der sich mit Patterns ein bischen auskennt (z.B. Thomal Völkl) durch diese paar Zeilen eine gewisse Vorstellung davon bekommt, wie ich mir das vorstelle und mich evtl. vor Fehlern warnen kann oder bessere Ideen hat.
Und dafür eignen sich Patterns eigentlich gut.
Gespeichert

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile
Mark³
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 386


Nordisch by Nature


WWW
« Antworten #49 am: 02.09.05 - 08:46:15 »

bei der Thematik 'Formelsprache' fällt mir sofort Damien Katz ein. Vielleicht hat der eine gute Idee dazu?  Afro
Gespeichert

sagt Mark.



slowfood.de
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #50 am: 02.09.05 - 11:55:17 »

Sein blog ist nicht mehr. www.damienkatz.net
Weiss jemand, wo der ist Huh
Am Ende hat er ja auch in den Kommentaren zu seiner tiefschürfenden Design-Patterns-global-Kritik nicht gerade sehr viel Zustimmung von Seiten seiner Leser erhalten. Ich teilte meine Verwunderung mit einigen langjährigen konstruktiven Vertretern besagter Community (Wild Bill, Jonovan, etc.)

Ich habe zur Zeit viel Spaß an der Entwicklung des Frameworks. Noch nie sind Zugfahrten so schnell vergangen wie heute und gestern. Ich sehe eine Chance, werde weiter berichten, habe aber bisher noch keinen Code, der irgendwie zur Klarheit beitragen könnte.

Axel 
« Letzte Änderung: 02.09.05 - 12:00:55 von kennwort » Gespeichert

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #51 am: 03.09.05 - 08:48:28 »

Falls jemand sich für dieses Projekt interessiert:
Ich denke es ist einfacher den Source code zu verstehen als wenn ich hier darüber schreibe. Es werden Unit-Tests und Kommentare in nicht immer Oxford-konformen Englisch drin sein (erleichtert das Verständnis).
Wer sich also interessiert, der sende bitte eine Email an axel dot janssen BEI gmail Punkt com. Ich verschicke dann das Eclipse Projekt. Bei Bedarf auch anders, wüßte aber nicht warum.
Ich hoffe, dass ich am Ende dieses Wochenendes etwas einigermassen brauchbares habe.
Nochmal: Bin noch nicht 100 Prozent sicher, ob es so geht wie ich es mir vorstelle. Ich melde mich, über die Fortschritte. Sieht so aus als würde ich Java5 nehmen

Gruß Axel
« Letzte Änderung: 03.09.05 - 19:32:33 von kennwort » Gespeichert

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #52 am: 03.09.05 - 19:30:20 »

Ich habe nun in einer Art Vorverarbeitungsschritt Code, das einlaufende Formelsprachescript wie folgt verarbeitet:
- Es wird zerschnitten und in eine ArrayListe geschrieben (dynamischer Array). Die Regel ist, dass
bei ; getrennt wird, wenn dieses ; nicht
- innerhalb eines Stringliterals oder
- in einer Klammer steht.

Zusätzlich wird noch aller Whitespace ausserhalb von StringLiteralen entfernt und
alles ausserhalb von Stringliteralen toLowerCase gesetzt.

Um den Unit-Test zu zitieren:

Code:
AUS
input=_A := @DbLookup("Notes":"NOCACHE";"":"";"($aaa)";"AToc";"ATitle");
_Application := @If( @IsError(_A);@Failure("Fehler Meldung !");_A);

WIRD
res=[_a:=@dblookup("Notes":"NOCACHE";"":"";"($aaa)";"AToc";"ATitle");, _application:=@if(@iserror(_a);@failure("Fehler Meldung !");_a);]
Man beachte den Whitespace und das toLowerCase Zeugs.

Das kann natürlich nur ein vorbereitender, normalisierender Schritt sein.
Als nächstes geht es darum die einzelnen Formeln, Commands und Variablenzuweisungen sinnvoll in einen Objektbaum zu bringen, der das ganze verarbeitbar macht. Das ist der eigentlich schwierige Teil der Herausforderung und ich arbeite arbeitet daran. 

Im Namen von hilarious overengineering werde ich später noch das Filterzeugs hin zu Observer-Pattern refaktorieren. Ist aber erstmal nicht notwendig.

Melde das dann.

Verwendete Libraries: JDK1.4.1, junit


Axel
« Letzte Änderung: 03.09.05 - 19:33:07 von kennwort » Gespeichert

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #53 am: 04.09.05 - 07:46:38 »

Bisher haben sich 2 Interessenten gemeldet.
Einer der beiden meinte:
- Am Ende des Projektes endgültige Umsetzung sehen.
- Sehen wie ein erfahrener Entwickler an die Sache herangeht.

Weiss, dass das lieb gemeint war, halte mich nicht für blöd, habe wohl ein bischen Erfahrung, aber irgendwie halte ich mich auch nicht für Leonardo da Vinci. Es gibt massig openSource Projekte, in denen deutlich erfahrenere Softwareentwickler als ich arbeiten.

Und gerade jetzt läuft das Refactoring zum PreProcessing Formatierungsframework aus dem Ruder.  Roll Eyes

Und vielleicht ist auch der Prozess das eigentlich interessante (Weg) und nicht das Endergebnis (Ziel). Ich will hier keinen zu Mitarbeit verdonnern. Aber ich stelle es mir deutlich interessanter vor, wenn es eine Partizipation von Leuten gibt, ohne irgendwelchen Zwang auszuüben. Druck gibt es allenfalls auf mich, weil ich wäre openSores Captain, aber nur aus dem Grund, weil ich das eben initiiert habe.

Die Source Files per Email rumzuschicken, ist natürlich keine Basis für Partizipation. Deshalb überlege ich mir das Projekt auf Source Forge zu bringen. Da gibts ein Code Repository, in dem jeder ein- und auschecken könnte. Wenn ich der einzige Commiter bin, wäre mir das auch egal, aber es gibt zumindest eine Basis für Partizipation.

Wer will - und einer hat sich explizit dazu gemeldet - dem schicke ich natürlich den anfänglichen skizzierten aber lauffähigen code per Email.

Ich hab bisher noch kein Projekt auf Sourceforge durchgeführt, aber ich fände es eine interessante Erfahrung.  Ich mache das aber nur, sobald dieses Projekt den Machbarkeitstest bestanden hat und das ist noch nicht.

BEVOR JETZT DISKUSSIONEN AUFTAUCHEN: Ich werde wie angekündigt, das existierende am Sonntag abend an die Interessierten rausschicken.



Axel
« Letzte Änderung: 04.09.05 - 09:35:51 von kennwort » Gespeichert

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #54 am: 04.09.05 - 20:25:38 »

Bisher habe ich nichts, was für den Adressaten irgendwie nachvollziehbar wäre. Ich schicke es später. Ist auch kein Standardprojekt.  Cool
Gespeichert

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile
Mark³
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 386


Nordisch by Nature


WWW
« Antworten #55 am: 05.09.05 - 10:32:02 »

Damien ist wieder online...Der vertreibt sich gerade die Zeit mit irgendwelchen C-Funktionen, vielleicht will er bei deinem Projekt mitmachen  Azn
Gespeichert

sagt Mark.



slowfood.de
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #56 am: 05.09.05 - 11:10:14 »

Wenn ich eine tragfähige 0.1 Version als Basis habe (und es möglich ist wie ich mir es vorstelle).
Ich arbeite ja normalerweise nicht so low-level, sondern bin Anwendungsentwickler auf Basis von Frameworks oder Produkten. Das ist einfach so ein Hobby Projekt, um mich mit Code-Generierung zu beschäftigen.
Gespeichert

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #57 am: 08.09.05 - 10:22:29 »

Das könnte helfen.
http://www.antlr.org/
Immer noch nix verschickbares, z.Zt. keine Zeit.
Gespeichert

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile
flaite
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2966


WWW
« Antworten #58 am: 12.09.05 - 23:18:36 »

Ich denke, ich mach das erst einmal alleine, da ich denke, dass die Kommunikationskosten einfach zu hoch sind. Poste aber weitgehend kommentarlos das bisher funktionierende Parsing-Framework mit Unit Tests für die oben beschriebene Prä-Formatierung.  (s. angehängtes zip).
Es sind 2 parallele Source Folder in Eclipse (src und test). Die Packages fangen jeweils bei de an. Der Aussagekräftige Unit-Test ist StringProcessorTest. Daneben gibts Junit-Tests für die einzelnen Filter. Ausser JUnit existieren keine anderen 3rd party libraries. Nicht mal log4j.
 
In dem Parser-System werden einzelne Chars durch eine Kette konfigurierbarer Filter gejagt. Ein Context-Objekt spielt da auch noch eine Rolle.

Je nach verschiedenen Context muß unterschiedlich geparsed werden.
Innerhalb einer Klammer, Innerhalb eines String-Literals, etc.

Wies jetzt weiter gehen soll.
Ich teile das Formelsprachenscript wie oben beschrieben erst einmal grob vor in die Bereiche, die durch ein ; ausserhalb eines Stringliterals und ausserhalb von Klammern stehen.
Das ist fertig.

_a:=@dblookup("Notes":"NOCACHE";"":"";"($aaa)";"AToc";"ATitle"); _application:=@if(@iserror(_a);@failure("Fehler Meldung !");_a);

wird geteilt zu
1. _a:=@dblookup("Notes":"NOCACHE";"":"";"($aaa)";"AToc";"ATitle");
2. _application:=@if(@iserror(_a);@failure("Fehler Meldung !");_a);

Innerhalb dieser Teile können sehr viele Formeln ineinander geschachtelt sein. Wie bei 2. ansatzbare sichtbar. Das sieht nicht als großes Problem aus, wenn ich das in einen Composite Tree lade und mir die Nodes und Leafs durch die Elemente des Composites selbst generiere. Damit habe ich aber kaum angefangen.

Die Elemente des Composites sind alle vom Typ Token. Es gibt diese konkreten Klassen:
a) RootToken (genereller Container für alle Teile des FormelScripts)
b) FormelToken (hier eine Menge konkrete Klassen)
c) CommandToken (hier eine Menge konkrete Klassen)
d) StringLiteralToken
e) Liste (sowas wie Doppelpunkt)
f) Operatoren (v.a. + aber auch - möglich)
g) VariableInitialization
h) VariableName
i) Variable

Der Ast von Punkt 2. des Composites sähe so aus:
2. _application:=@if(@iserror(_a);@failure("Fehler Meldung !");_a);
RootToken
-- VariableInitialization
--- VariableName (-> _application)
--- FormulaTokenIf (@If)
-----FormulaToken (@isError)
------- Variable (_a)
-----FormulaTokenFailure (@failure)
-------StringLiteralToken ("Fehler Meldung!")
----- Variable (_a)

Berichte weiter. Wenn jemand was damit anfangen kann, soll er sich melden.

Axel
Gespeichert

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile
koehlerbv
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 20460



« Antworten #59 am: 12.09.05 - 23:53:40 »

Hallo Axel,

gerade an der Stelle, wo Du jetzt offensichtlich bist, vergiss bitte auch derartige Konstrukte nicht:
- @Do
- @ For
- @While
- @Return (vor allem, wenn dessen Folge ein Formelabbruch ist)

Was machst Du mit FrontEnd-Elementen (@Prompt, @Commands usw.) ?

Könntest Du in irgendeiner Form die Diskussion auch programmierspachenunabhängig publizieren ? Das würde ggf. die Bereitschaft zur Mitarbeit deutlich erhöhen. Jeder von uns, die in Frage kommen, steckt ja gerade in anderen Projekten mit anderen Umgebungen und Werkzeugen und mag / kann vielleicht nicht umschalten.

Good luck !

Bernhard
Gespeichert
Seiten: 1 2 [3] 4 5 Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: