myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

probleme beim parsen...

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 15.07.13, 17:21   #1
gangstergangster
Mitglied
 
Benutzerbild von gangstergangster
 
Registriert seit: Dec 2008
Beiträge: 481
Bedankt: 114
gangstergangster wird langsam von ratten respektiert | 144 Respekt Punktegangstergangster wird langsam von ratten respektiert | 144 Respekt Punkte
Standard probleme beim parsen...

hallo.. ich habe vor ein paar wochen schonmal eine frage hier gestellt.. war lange am überlegen meine zweite in den selben thread zu machen.. aber ist schon was anderes..

und zwar habe ich einen parser programmiert..
siehe code: [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]

jetzt möchte ich auch noch sin(1) u.Ä. rechnen können.. ebenso soll PI benutzt werden können (ist im code schon definiert).

jedoch hab ichs nun so programmiert, dass jedes zeichen einzeln analysiert wird.. jedoch ist zb. sin(1) 6 zeichen..

hat jemand einen ansatz zur lösung?

edit: c++
__________________
gangstergangster ist offline   Mit Zitat antworten
Ungelesen 15.07.13, 17:58   #2
ProgMaster
Banned
 
Registriert seit: Mar 2012
Beiträge: 337
Bedankt: 93
ProgMaster ist noch neu hier! | 0 Respekt Punkte
Standard

Welche Programmiersprache?
Verwende doch einen richtigen Parsergenerator...
ProgMaster ist offline   Mit Zitat antworten
Ungelesen 15.07.13, 18:10   #3
gangstergangster
Mitglied
 
Benutzerbild von gangstergangster
 
Registriert seit: Dec 2008
Beiträge: 481
Bedankt: 114
gangstergangster wird langsam von ratten respektiert | 144 Respekt Punktegangstergangster wird langsam von ratten respektiert | 144 Respekt Punkte
Standard

c++. ich will einen parser programmieren.. keinen programmierten benutzen...
__________________
gangstergangster ist offline   Mit Zitat antworten
Ungelesen 15.07.13, 18:24   #4
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 454
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

dann besorg dir am besten [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] k.a. ob es das in deutscher übersetzung gibt.
hm. aber wenn du mit "Parsertechniken in C++" probleme hast, dann lieber doch nicht dann hilft eigentlich nur informatik zu studieren.
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Ungelesen 15.07.13, 19:56   #5
Delta538
Newbie
 
Registriert seit: Oct 2010
Beiträge: 96
Bedankt: 80
Delta538 zeigt Immunität gegen Parfüm! | 253 Respekt PunkteDelta538 zeigt Immunität gegen Parfüm! | 253 Respekt PunkteDelta538 zeigt Immunität gegen Parfüm! | 253 Respekt Punkte
Standard

Das einfachste wäre vermutlich, die Eingabe vorher daraufhin zu prüfen, ob soetwas wie sin/cos/PI usw. enthalten sind und dann dementsprechend darauf zu reagieren und diese Anweisung gesondert behandeln.
Am schönsten kann man das vermutlich rekursiv lösen und vermutlich auch am einfachsten.

Und noch eine kleine Anmerkung lass die Finger von goto das trägt nicht sonderlich zur lesbarkeit so könnte man diesen Befehl in der main vermeiden:

Code:
int eingabe = 1;

while(eingabe != 2)
{
        cout << "\n->Rechnen(1)\n->Beenden(2)\n";
        cin >> eingabe;
        cin.ignore();
               
        if(eingabe == 1)
       {
                Calculator calculator;
                calculator.Run();
       }
}
Delta538 ist offline   Mit Zitat antworten
Ungelesen 15.07.13, 22:07   #6
NetWebs
Banned
 
Registriert seit: Aug 2012
Beiträge: 223
Bedankt: 68
NetWebs ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von gangstergangster Beitrag anzeigen
c++. ich will einen parser programmieren.. keinen programmierten benutzen...
Deshalb sollst du ja einen Parsergenerator verwenden.
Ansonsten kommt da nur Müll raus...

Reines C++ ist dafür nicht geeignet.
NetWebs ist offline   Mit Zitat antworten
Ungelesen 17.07.13, 17:49   #7
gangstergangster
Mitglied
 
Benutzerbild von gangstergangster
 
Registriert seit: Dec 2008
Beiträge: 481
Bedankt: 114
gangstergangster wird langsam von ratten respektiert | 144 Respekt Punktegangstergangster wird langsam von ratten respektiert | 144 Respekt Punkte
Standard

Zitat:
Zitat von NetWebs Beitrag anzeigen
Deshalb sollst du ja einen Parsergenerator verwenden.
Ansonsten kommt da nur Müll raus...

Reines C++ ist dafür nicht geeignet.
es kommt eben nicht nur müll raus.. ich weis nicht was du meinst.. es klappt ja auch soweit...

mein code ist fast fertig.. eben nur noch probleme mit ein paar (mehr oder weniger) kleinigkeiten...
__________________
gangstergangster ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:43 Uhr.


Sitemap

().