Analizator składniowy
{//najpierw obsłuż ewentualne //mnożenie lub dzielenie
double lewa = skladnik();
//w nieskończonej pętli wykonaj //wszystkie dodawania i odejmowania
//obsłuż przypadek biezacy_symbol //== PLUS
//pobierz symbol żeby zjeść '+’
//obsłuż przypadek biezacy_symbol //== MINUS :
//pobierz symbol żeby zjeść '-'
//od lewa odejmij składnik
//jeśli nie ma więcej dodawania i //odejmowania zwróć lewa
{//najpierw może przypiszemy
//w nieskończonej pętli wykonaj //wszystkie mnożeniai dzielenia
//obsłuż przypadek biezacy_symbol //== MNOZ:
//pobierz symbol żeby zjeść '*'
//pomnóż lewa przez czynnik();
//obsłuż przypadek biezacy_symbol //== DZIEL:
//pobierz symbol żeby zjeść '/’'
//podziel lewa przez czynnik()
//sprawdzaj czy nie dzielisz przez 0 //jeśli nie ma więcej mnożenia i //dzielenia zwróć lewa
{//jeśli biezacy_symbol == LICZBA:
//jeśli biezacy_symbol == NAZWA:
//jeśli za nazwą stoi symbol ‘=‘
{//dodaj nazwę do listy nazw
// i inicjuj wartość nazy wartością wyrażenia
n->wartosc = wyrazenie();
//w przeciwnym razie poszukaj wśród wcześniej //zdefiniowanych nazw i zwróć wartość
//jeśli biezacy_symbol == MINUS to pobierz //symbol i zwróć -czynnik();
//jeśli biezacy_symbol == LN to pobierz symbol i oblicz wyrażenie w nawiasie; upewnij się, że po wyrażeniiu jest zamknięty nawias; zwróć wartość wyrażenia
//jeśli biezacy_symbol == KONIEC to zwróć 1;
// inny przypadek return blad("spodziewany czynnik");
(ta wartość była ustalona
w oprzednim pobieraniu symbolu)
(to ustawi biezacy_symbol na jakieś działanie)