Wprowadźmy do naszego interpretera instrukcję warunkową IF .. THEN .. ELSE. Instrukcja IF sprawdza prawdziwość warunku znajdującego się po niej i w zależności od wyniku wykonuje instrukcje. Jak można zauważyć nasz parser nie posiada jeszcze możliwośći ewaluacji warunków. Czytaj dalej »
Monthly Archives: Sierpień 2014
Zbudujmy interpreter (9) – instrukcja PRINT
Dodajmy do naszego interpretera pierwszą instrukcję – PRINT. Czytaj dalej »
Zbudujmy interpreter (8) – drzewo składniowe
Powoli nadchodzi czas aby rozbudować nasz interpreter o obsługę instrukcji. Zanim jednak to zrobimy wprowadzimy do naszego interpretera drzewo składniowe. Czytaj dalej »
Zbudujmy interpreter (7) – funkcje wbudowane
Skoro dodaliśmy obsługę stałych do naszego interpretera to nic nie stoi na przeszkodzie aby dodać również możliwość korzystania z funkcji wbudowanych (np. trygonometrycznych). Czytaj dalej »
Zbudujmy interpreter (6) – stałe
Dodajmy do naszego interpretera obsługę stałych (np. PI) z których będziemy mogli korzystać podczas wyliczania wyrażeń. W tym celu zmodyfikujmy wprowadzoną ostatnio strukturę:
struct { char *name; symbolEnum type; double val; struct Symbol *next; } Symbol;
Zbudujmy interpreter (5) – zmienne jeszcze raz
Dotychczas nas interpreter obsługiwał zmienne oznaczane w kodzie jedną literą (w sumie mogliśmy wykorzystać 26 zmiennych – od a do z). Dzisiaj dodamy możliwość używania zmiennych, których identyfikator będzie zawierał więcej niż jeden znak. Wykorzystany tu mechanizmy w kolejnych wpisach użyję do wbudowania stałych (np. PI) i funkcji (np. sin() w moim interpreterze) Czytaj dalej »