![]() |
Kompilierender Matheparser
Liste der Anhänge anzeigen (Anzahl: 3)
Huhu DP! :)
Ich hab (mal wieder :mrgreen:) einen Matheparser geschrieben, aber diesmal einen besonderen. Mit diesem kann man Ausdrücke nicht nur Parsen, sondern auch noch kompilieren ;) (Habs mal duchgetestet, ist schneller als Delphieigene Kompilate) Ich stells einfach mal so hier rein, zum Doks-schreiben ist es einfach zu.. heiß.. und das Interface erklärt sich eh fast von selbst, und mit den Comments in den Units und den Units selbst kommt man auch gut über die Runden. Hoffe ich ;) read you, Dax [edit] :oops: da waren ein paar Fehler, verzeiht [/edit] nocheinedit: Wieder ein paar Fehler ausgebügelt :) |
Re: Kompilierender Matheparser
hi,
scheint interesant zu sein ! hast du vielleicht ein Beispiel parat, wie man den Parser bedient ? cu, stefan2005 |
Re: Kompilierender Matheparser
hi,
ich habe es gerade mal ausprobiert mit Delphi 6 und Delphi 2005. ich konnte aber nicht alles compilieren, da die Funktion "MoveLongWord" in der Unit ECQ_Def.pas in Zeile 193 unbekannt war :wink: cu, stefan2005 |
Re: Kompilierender Matheparser
:oops: Ja, ich hab ne neue Version hochgeladen, jetzt sollts gehen ;)
|
Re: Kompilierender Matheparser
Liste der Anhänge anzeigen (Anzahl: 1)
*seufz* Heut is nicht mein Tag ^^ Das Beispiel ist vielleicht kurz, aber es trifft schon in etwa das Thema, denke ich :?
|
Re: Kompilierender Matheparser
Er scheint wirklich extrem schnell zu sein. Auch ein paar Millionen Durchläufen schafft er sehr schnell !
Gratulation ;) :thumb: |
Re: Kompilierender Matheparser
Danke Alexander :)
Der Parser schlägt ja wie gesagt auch Delphi bei RealMode-Berechnungen.. als ich das gesehen hab, hats mich echt vom Hocker gehauen ^^ |
Re: Kompilierender Matheparser
Hi,
hab dein Beispiel angeguckt und gesehen das z.B. 2*(3+2) funktioniert, aber (3+2)*2 nicht. |
Re: Kompilierender Matheparser
Ich kuck mal, was da schief gelaufen ist :)
Danke ;) edit: gelöst :) |
Re: Kompilierender Matheparser
hi,
es wäre vielleicht schön, wenn man "richtige" Variablen definieren könnte und der Parser berechnet die Formel dann, ohne die Variablen aber verschwinden zu lassen (sozusagen vereinfachen). aus : 3+A*(B+2) -> 3+A*B+A*2 oder so, zumindest vereinfachen und die Klammern wegmachen. cu, stefan2005 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz