AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte MathParser
Thema durchsuchen
Ansicht
Themen-Optionen

MathParser

Ein Thema von Hador · begonnen am 9. Mai 2006 · letzter Beitrag vom 10. Mai 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Hador
Hador
Registriert seit: 11. Dez 2004
Hiho Leute!

Auch ich habe mich (wie ja schon so einige hier im Forum) mal mit dem erstellen eines Mathe-Parsers (Infix) beschäftigt.
Dabei ist ein kleines Testprogramm entstanden, welches gerne getestet werden will.
Es währe also nett, wenn es einige von euch ausprobieren würden.
Alles weitere sollte eigentlich selbsterklärend sein.

Da das Programm lediglich zum testen des Parsers gedacht ist, habe ich mich mit einer Konsolenanwendung begnügt.
Daher brauche ich hier - denke ich - auch kein Screenshot veröffentlichen.

EDIT: 10.05.2006 Neue Version Online
EDIT: 10.05.2006 Noch eine neue Version Online
EDIT: 10.05.2006 Und nochmal
Angehängte Dateien
Dateityp: exe parserapp20060510v2_641.exe (96,0 KB, 47x aufgerufen)
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
 
Nicodius

 
Delphi 2006 Architect
 
#2
  Alt 10. Mai 2006, 07:05
nett

vl solltest du noch machen dass die klammer wirklich geschlossen werden sollte

cos(45 kommt nämlich 45 raus - ohne meldung dass eine Klammer fehlt


grüße Nico
Nico Müller
  Mit Zitat antworten Zitat
Benutzerbild von Hador
Hador

 
Turbo Delphi für Win32
 
#3
  Alt 10. Mai 2006, 14:49
Danke - werde ich mich gleich mal ransetzen

Hat sonst noch jemand das Programm getestet?
Lars Kiesow
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh
 
#4
  Alt 10. Mai 2006, 15:21
Bei einer Exception durch nicht definierte mathematische Operationen wie arccos(4) oder 1/0 sollte nicht die Meldung kommen, dass der Term nicht geparst wurde, das ist nämlich ziemlich verwirrend .
Der unäre Minus- und Plus-Operator fehlen (wobei letzterer eher unwichtig ist - aber einfach der Vollständigkeit halber sollte er vorhanden sein).
Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von Hador
Hador

 
Turbo Delphi für Win32
 
#5
  Alt 10. Mai 2006, 16:26
So ich habe mal weitergebastelt.
Bei einer nicht geschlossenen Klasse wird nun auch ein Fehler generiert.

Den unären Minus-Operator gebts doch (Das ist doch das Vorzeichen bspw. 3*-4 oder vertue ich mich da )

Insgesammt werden nun einige Fehler vernünftig behandelt.
Andere werde ich noch hinzufügen.

Auf jeden Fall habe ich mal eine neue Version hochgeladen.
Lars Kiesow
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh
 
#6
  Alt 10. Mai 2006, 17:03
Zitat von Hador:
Den unären Minus-Operator gebts doch (Das ist doch das Vorzeichen bspw. 3*-4 oder vertue ich mich da )
Das wäre er, aber in deinem Parser ist er noch nicht drin. Bei 3*-4 wertet dein Parser -4 als Fließkomma-Literal aus, als Operator wird - nicht erkannt. Folglich funktioniert beispielsweise "-pi" nicht.

PS: 2²2 = 4 ?
Sebastian
  Mit Zitat antworten Zitat
Flare

 
Delphi 7 Professional
 
#7
  Alt 10. Mai 2006, 17:38
Und noch eine Sache, ich glaube Klammern parst der noch nicht ganz so wie er es sollte:
Zitat:
(4+3)²
ERROR -> Der eingegebene Term enthält einen Fehler

Flare
Willy Scheibel
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

 
Delphi 2010 Professional
 
#8
  Alt 10. Mai 2006, 17:42
Hi Flare,

Ausdrücke mit Exponenten schreibt man am PC normalerweise so
Code:
(4+3)^2
(Das funktioniert übrigens auch in dem Programm )

mfG
mirage228
David F.
  Mit Zitat antworten Zitat
Benutzerbild von ArmyMan
ArmyMan
 
#9
  Alt 10. Mai 2006, 17:51
Ich würde noch bei einer Rechnung die Leerzeichen rausnehmen.
Wenn ein Leerzeichen drinn ist kommt immer ein fehler.

z.B.:
pi / pi -> Fehlender Operator
3 + 1 -> Undefiniertes Zeichen

Ist ein bissl unschön finde ich.

Greetz
ArmyMan
  Mit Zitat antworten Zitat
Benutzerbild von Hador
Hador

 
Turbo Delphi für Win32
 
#10
  Alt 10. Mai 2006, 18:16
Erstmal vielen Dank für's testen

Zitat von ArmyMan:
Ich würde noch bei einer Rechnung die Leerzeichen rausnehmen.
Das könnte ich machen. Ist gar kein Problem => Werde ich machen

Zitat von mirage228:
Ausdrücke mit Exponenten schreibt man am PC normalerweise so
Code:
(4+3)^2
(Das funktioniert übrigens auch in dem Programm )
Code:
(4+3)²
sollte aber eigentlich auch funktionieren.
Ich werde mir das nochmal angucken
Lars Kiesow
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 00:42 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