Lotus Notes / Domino Sonstiges > Java und .NET mit Notes/Domino

Formelsprache TO LotusScript Code-generierer schreiben

<< < (11/20) > >>

flaite:
Sein blog ist nicht mehr. www.damienkatz.net
Weiss jemand, wo der ist ???
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 

flaite:
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

flaite:
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);]

--- Ende Code ---
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

flaite:
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.  ::)

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

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

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln