Freiwillig: Kleines Experiment/Umfrage

Geschwindigkeit ist eigentlich nicht so wichtig.
Ist RegEx denn so langsam? Ich dachte, damit wäre ich schneller als mit hunderten von Stringoperationen. Es wird ja immer nur eine kurze Zeilenfolge bearbeitet.

Und es soll ja eine Möglichkeit geben, wie man bestimmte Ausdrücke "kompilieren" kann, um sie schneller auszuführen. Da Geschwindigkeit für mich (vielleicht: noch) kein Thema ist, habe ich mich nicht näher damit auseinander gesetzt.

@Wolfsbein:
Sorry, hab grad keinen Opera zur Hand. Mit Firefox (+IE) funktionierts. Der Code ist in einem, mit CSS formatierten, pre-Tag

Ich will keine neue Sprache entwickeln. Es geht nur darum, selbstgeschriebene Programme über eine einigermassen strukturierte Abfolge von Befehlen herum zu kommandieren. Ich nenne es, leicht übertrieben, "Script-Sprache".
Ich habe nicht im Entferntesten vor, eine Konkurrenz für irgendwelche "richtigen" Sprachen (Perl, Ruby, was auch immer) darzustellen.

Zu "speziell":
Ich mag vielleicht ein verwöhnter (möchtegern) VB.NET-Programmierer sein, aber aus diesem Dokument werde ich echt nicht schlau. V.a. bei den Datentypen...
Ich weiss, dass das .NET-Framework und der Compiler einem viel Arbeit abnehmen, aber so viele verschiedene Typen von Strings? Du kannst es mir gerne erklären.
 
Original geschrieben von Sunray

Ich will keine neue Sprache entwickeln. Es geht nur darum, selbstgeschriebene Programme über eine einigermassen strukturierte Abfolge von Befehlen herum zu kommandieren. Ich nenne es, leicht übertrieben, "Script-Sprache".

XML ist das was du brauchst.
Denn es gibt XML Parser für lau, die sehr mächtig sind und dir alles bieten was du brauchst.

Das könnte dann so aussehen:
Code:
<if>
   <expression>
     <string-validator rule="[a-Z]?">Mein String</string-validator>
   </expression>
   <true>Bla blub das wenn alles gut ist</true>
   <false>und hier wenns nicht passt</false>
</if>

Vorteil: Es ist richtig zügig implementiert, und sehr sehr fähig. Anhand eines XML-Shemas kannst du auch während "Compilierzeit" Fehler auffinden und hast
gleich einen Parser der dir eine aussagekräftige Fehlermeldung anzeigt.
Du sparst dir eine Menge Arbeit
 
Das ist eine coole Idee. Ich kann mir das nur nicht genau vorstellen.

Meinst du, dass jeder Befehl in XML geschrieben wird:
Code:
<clear>
<echo text="Hallo">
<action do="run" script="My" block="Main">
So?

Vergleich das mal mit:
Code:
clear
echo "Hallo"
%run:My.Main
Vergleich: Aufwand/Ertrag.....

Oder war das anders gemeint?
 
Original geschrieben von Sunray
Das ist eine coole Idee. Ich kann mir das nur nicht genau vorstellen.

Meinst du, dass jeder Befehl in XML geschrieben wird:
Code:
<clear>
<echo text="Hallo">
<action do="run" script="My" block="Main">
So?

Vergleich das mal mit:
Code:
clear
echo "Hallo"
%run:My.Main
Vergleich: Aufwand/Ertrag.....

Oder war das anders gemeint?

Genau das meinte ich.
Der grosse Vorteil ist das du wie gesagt schon mächtige Parser hast die wunderbar
arbeiten.
Sprich der Aufwand wird sich um vielfaches minimieren. Zudem sind diese Parser schnell wie hui :)
 
Original geschrieben von Sunray
Meinst du damit einen ganz normalen XML-Parser (z.B. von .NET)?

Nö lieber nicht .NET sondern lieber einen freien Parser der bekannt und mit der schnellste ist:
Von Apache
# Xerces Java 2
# Xerces C++
# Xerces Perl

Ausser du willst das unbendingt in .njet machen.
 
Original geschrieben von Christian Fein
Nö lieber nicht .NET sondern lieber einen freien Parser
Das ist jetzt aber eher eine religiöse Sache :p Aber XML ist sicher der richtige Weg. Ob der Parser jetzt Expat, Xerxes oder MSXML heißt ist da meiner Meinung nach relativ egal.
 
Da werd ich dich wohl enttäuschen müssen: Ich bin ein treuer .NET-Anhänger.


Eine Frage habe ich aber noch: Du hast von einer Schemadatei gesprochen. Das soll sehr kompliziert sein, die von Hand zu schreiben. Ich habe das bisher immer mit dem XML-Editor der .NET IDE gemacht.

Die Befehlsklassen sind nirgends in einer Liste eingetragen. Ich suche mir das passende Objekt über Reflection. Muss in dieser Schemadatei nicht jeder Befehl schon vorher definiert sein?
 

Neue Beiträge

Zurück