AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte [Beta] tump - the unknown math-parser
Thema durchsuchen
Ansicht
Themen-Optionen

[Beta] tump - the unknown math-parser

Ein Thema von glkgereon · begonnen am 3. Mär 2006 · letzter Beitrag vom 5. Mär 2006
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von glkgereon
glkgereon
Registriert seit: 16. Mär 2004
Hi,

Ich habe neulich wieder mal einen Mathematik-Parser in die Hände bekommen, und mal wieder gedacht "Mensch, sowas müsstest du eigentlich auch können".
Schließlich war es dann soweit, dass ich angefangen hab.
Ich weiss, eigentlich gibt es Parser fast wie Sand am Meer, aber mich trieb der Ehrgeiz, der auch jeden Programmierer eines Texteditors treibt..."Das kann ich auch!".

Nun, was er kann:
- Auswertung von (nahezu ) beliebigen Mathematischen ausdrücken, d.h.
- Klammern (beliebige Verschachtelung, solange der Stack reicht )
- Konstanten
- einwertige Operatoren
- zweiwertige Operatoren
- einfach erweiterbar


Was noch fehlt/Was noch nicht schön ist:
- *von selbst erledigt* Operationen dürfen nur in 2er-Häppchen erfolgen. d.h. 2+3+4 muss in 2+(3+4) geklammert werden.
- Hilfe / Dokumentation
- Kommentierter Quellcode
- *eingebaut* Weiter Funktionen (Sqr, Sqrt, ^x, ², log, ...)
- Punkt-vor-Strich

Integrierte Mathematische Funktionen:
- Pi
- E
- +
- -
- *
- /
- Sinus (sin)
- Cosinus (cos)
- Tangens (tan)
- ArcusSinus (arcsin)
- ArcusCosinus (arccos)
- ArcusTangens (arctan)
- Sqrt
- Sqr
- ²
- log
- ^

Aufgrund von Punkt 3. der fehlend-Liste müsst ihr bis zur veröffentlichung des Quellcodes noch etwas warten
Ich kann aber schon verraten das der eigentliche Parser nicht mal 150 Zeilen benötigt (Inclusive Deklaration, ...)
Und das ohne irgendwie Zeilen zu sparen...der Qt ist einfach kurz
Zusätzlich gehen dann nochmal 150 für die Mathematischen Funktionen und die zugehörigen Deklarationen drauf.

Wer weitere Funktionen haben möchte, der soll das bitte per PN oder hier im Thread schreiben.
ebenso natürlich gefundene Bugs sowie verbesserungsvorschläge.
Auch an einer Lösung des Klammerungs-problems bin ich natürlich sehr interessiert!!!

Die Bedienung des Interfaces sollte selbsterklärend sein...immerhin gibt es nur ein eingabefeld und einen Button

dann mal viel Spaß beim testen.

PS:
Wem ein schöner(er) Name einfällt, der soll ihn mir doch auch bitte mitteilen
Angehängte Dateien
Dateityp: exe project1_164.exe (399,0 KB, 31x aufgerufen)
»Unlösbare Probleme sind in der Regel schwierig...«
 
Ferber

 
Delphi 2006 Architect
 
#11
  Alt 5. Mär 2006, 20:59
Zitat von glkgereon:
Da ich keine Ahnung von Lisp habe und auch nicht wegen einer Bemerkung im Forum lust habe es zu lernen:
könntest du in 2-3 Sätzen beschreiben was Lisp da besonderes kann? oder ein Beispiel bringen...
Du solltest dich aber auch mit LISP beschäftigen, erweitert den Horizont.
Oder willst nix dazulerner ?!
Otto
  Mit Zitat antworten Zitat
Daniel G
 
#12
  Alt 5. Mär 2006, 21:06
Zitat von Ferber:
Du solltest dich aber auch mit LISP beschäftigen, erweitert den Horizont.
Oder willst nix dazulerner ?!
Hey, nicht gleich so harsch. Nicht jeder hat die Zeit, sich 'ne Woche (oder mehr) mit einer Skriptsprache auseinander zusetzten, nur um zu sehen, was daran so toll ist.

Und ganz nebenbei bemerkt geht es hier eher um seinen Parser als um LISP. Klärt das doch via PM.


Just my 2 cents...
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

 
Delphi 2009 Professional
 
#13
  Alt 5. Mär 2006, 21:14
Zitat von Ferber:
(while (not (setq p1 (getpoint "Punkt 1:"))))
uhaa Hilfe ^^ So viele Klammern

@ Parser: Da ich vermute das sich das
Zitat von glkgereon:
Ich habe neulich wieder mal einen Mathematik-Parser in die Hände bekommen, und mal wieder gedacht "Mensch, sowas müsstest du eigentlich auch können".
auf mich bezog, würde ich mein Interface zur verfügung stellen ^^
Fabian
  Mit Zitat antworten Zitat
Ferber

 
Delphi 2006 Architect
 
#14
  Alt 5. Mär 2006, 21:25
Hey, bin ja garnicht harsch.
Wenns so rübergekommen ist dann: Sorry.
Nur: der Junge ist 16 und hat keine Zeit sich eine Woche mit was zu beschäftigen ?
Aber vergesst's bin blos ein Methusalix.

PS: während ich das schreibe ist 'uhaa Hilfe' dazugekommen.
Die Klammern sind wirklich kein Problem, wenn Du sie richtig verwendest.

Delphi-Quellcode:
(while
  (not
    (setq p1
      (getpoint "Hugo")
    )
  )
)
Unter jeder öffnenden Klammer steht die schliessende Klammer.
Aber das ist schon OT, war ja alles nur eine Anregung von mir.
Otto
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon
 
#15
  Alt 5. Mär 2006, 21:33
Argh.

klar, wegen mir kann ich mir Lisp mal angucken.
aber das hat doch nun echt nichts mehr mit dem math-parser zu tun, oder?
  Mit Zitat antworten Zitat
Ferber

 
Delphi 2006 Architect
 
#16
  Alt 5. Mär 2006, 21:43
Ja, hast recht, hat nur indirekt was mit Deinem Math-Parser was zu tun, Du könntest ihn aber so aufbauen.

@xZise: Dein Zitat ist absoluter Schmarrn
Otto
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz