Modyfikacja algorytmu ONP, działania na operatorach jednoargumentowych, operator przypisania

0

Tworzę swój "jezyk skryptowy" w C++, wszystkie operacje maja działać tak ja to się dzieję w C++. Do przetwarzania wyrażeń arytmetycznych używam klasycznego ONP, które w swojej postawowej implementajcji pomijają różnicę miedzy wiązaniem prawostronnym, a lewostronnym i operatory jednoargumentowe. O ile wpadłem na pomysł co zrobić, by działały operatory o dowolnym wiązaniu, to nie mogę poradzić sobie z obsługą operatorów jednoargumentowych.
Jak powinienem obslugiwać operatory jednoargumentowe(unarny minus, negacja itd.)?
Rożnica powinna być już na etapie konwersji, czy dopiero w trakcie obliczania?

1

Nie twórz parsera opartego o ONP (przechodziłem przez to i, uwierz mi, boli bardzo w późniejszych etapach) - zapoznaj się z np. z bisonem, flexem lub poczytaj o innych metodach tworzenia parserów.

0

W zasadzie to ja muszę z "wyjątków" okodować tylko "=", unarny minus oraz negację, więc wydaję mi się, że ONP powinno być wystrczającym narzędziem?
Teraz moim głównym problemem jest impemetacja poprawnej obsługi właśnie operatorów jednoargumentowych

0

więc wydaję mi się, że ONP powinno być wystrczającym narzędziem?

Skoro chcesz się na własnej skórze przekonać, że jest zupełnie na odwrót, proszę bardzo ;-)

http://stackoverflow.com/questions/2431863/infix-to-postfix-and-unary-binary-operators

0
Patryk27 napisał(a):

więc wydaję mi się, że ONP powinno być wystrczającym narzędziem?

Skoro chcesz się na własnej skórze przekonać, że jest zupełnie na odwrót, proszę bardzo ;-)

http://stackoverflow.com/questions/2431863/infix-to-postfix-and-unary-binary-operators

Dziękuję bardzo.
Projekt na studia. Nie możemy korzystać z STL, ani nawet z klasy string, więc użycie gotowego parsera wiązałoby się z automatycznym oblaniem przedmiotu. Nasze prace sprawdzane są antyplagiatem.

0

Taki bardzo stary przykład dołaczany do kompilatora z połowy lat 90, więc archaiczny c++ - w zasadzie C z klasami http://kaczus.republika.pl/izv/parser.lha Parser do funkcji z jedna niewiadomą....

1 użytkowników online, w tym zalogowanych: 0, gości: 1