Przykład: Kalkulator (z Język C++ B. Stroustrup)
Możliwe wartości symboli:
Chcemy zrobić kalkulator obsługujący cztery działania, nawiasy i definiowanie symboli.
Gramatyka języka kalkulatora wygląda następująco:
- program:
KONIEClista wyrażeń KONIEC
- lista wyrażeń:
wyrażenie + składnik
wyrażenie - składnik
składnik
- składnik:
składnik / czynnik
składnik * czynnik
czynnik
- czynnik:
LICZBA
NAZWA
NAZWA = wyrażenie
- czynnik
( wyrażenie )
PLUS='+', MINUS='-', MNOZ='*', DZIEL='/',
DRUK='\n’,PRZYPIS='=', LN='(', PN=')'
//włącz pliki nagłówkowe "calc.h”, <iostream>
//utwórz globalny licznik błędów;
//funkcja main będzie zwracała wartość tego licznika
// dopóki jest coś w strumieniu wejśćiowym:
//jeśli bieżący symbol to KONIEC
// jeśli bieżący symbol to DRUK skocz na //koniec pętli
//wyślij wynik wyrażenia na standardowy //strumień wyjściowy