Własny język programowania
03.02.2010 - Maciej Piróg
Część 1. Część 2. Część 3. Część 4. Jeśli kiedykolwiek w Twojej głowie zrodził się pomysł, by wymyślić własny język programowania, zapraszamy do lektury cyklu artykułów poświęconych temu zagadnieniu. Zaczniemy od napisania kalkulatora wyrażeń arytmetycznych z nawiasami i kolejnością działań (chociaż bardzo prosty, to też jest pewien rodzaj języka programowania). Potem rozbudujemy go o zmienne, pętle i warunki, czyli wszystko, co jest potrzebne w "dorosłym" języku. Naszym celem jest stworzenie interpretera, czyli programu, który bierze na wejściu programy napisane w naszym języku i wykonuje wszystkie zawarte w nich instrukcje. Ponieważ to jest nasz język programowania, sami możemy zdecydować jakie będą w nim konstrukcje i jakie będzie ich znaczenie. Pierwszym, bardzo prostym językiem będą wyrażenia arytmetyczne, których interpreterem jest oczywiście kalkulator, czyli program, który oblicza ich wartość.
Użyjemy mechanizmów programowania obiektowego udostępnianych przez język C++, by reprezentować wyrażenia i obliczać wartości. Potem dodamy obsługę zmiennych, by móc zajmować się wyrażeniami postaci Wyrażenia - napisy czy drzewa?
Wyrażenia to napisy składające się z odpowiednio połączonych liczb, operatorów arytmetycznych, takich jak
Każde wyrażenie ma swoją wewnętrzną strukturę, którą można przedstawić w postaci drzewa. Na przykład wyrażenie
Takie drzewo nazywamy drzewem wyrażenia. Jego węzły są poetykietowane nazwami operatorów, a liście -- liczbami. Drzewo jest binarne, ponieważ każdy z używanych przez nas operatorow jest binarny (to znaczy, że łączy dokładnie dwa wyrażenia).
Czasem nie jesteśmy pewni jak wygląda drzewo wyrażenia. Np. wyrażenie
Oczywiście oba są poprawne! Lewe reprezentuje wyrażenie, które możemy zapisać jako (5 ocen) |
Copyright © 2008-2010 Wrocławski Portal Informatyczny
design: rafalpolito.com