Pętlik to mały język programowania, którego składnię opisuje gramatyka z symbolem początkowym Program:
Program → CiągInstrukcji
CiągInstrukcji → ε | CiągInstrukcji Instrukcja
Instrukcja → Zwiększ | Powtarzaj
Zwiększ → Zmienna
Powtarzaj → '(' Zmienna CiągInstrukcji ')'
Zmienna → 'a' | ... | 'z'
Instrukcje::
Zwiększ: równoważna instrukcji++zmiennajęzyka C.Powtarzaj: równoważna instrukcji języka C:while (zmienna > 0) { --zmienna; ... }
Projekt składa się z dwóch części:
- Kompilatora optymalizującego, generującego kod na maszynę wirtualną.
- Interpretera kodu tej maszyny.
Instrukcje maszynowe:
INC Zmienna: zwiększ o jeden wartość zmiennejZmienna.ADD Zmienna0 Zmienna1: dodaj do zmiennejZmienna0wartość zmiennejZmienna1.CLR Zmienna: wyzeruj zmiennąZmienna.JMP Adres: skocz do instrukcji o adresieAdres.DJZ Zmienna Adres: jeśliZmiennama wartość 0 to skocz do instrukcji o adresieAdres, w przeciwnym przypadku zmniejsz o jeden wartość zmiennejZmienna.HLT: zakończ wykonywanie programu.
Program wypisuje wartości zmiennych oraz wykonuje program w języku Pętlik.