Prevajalnik za jezik PINS pri predmetu Prevajalniki in navidezni stroji na Fakulteti za računalništvo in informatiko Univerze v Ljubljani. Ogrodje prevajalnika (večina pod commit-om "Initial commit") je bilo pripravljeno s strani asistenta predmeta.
# | Oznaka | Faza |
---|---|---|
1 | LEX | Leksikalna analiza |
2 | SYN | Sintaktična analiza |
3 | AST | Abstraktna sintaktična analiza |
4 | NAME | Semantična analiza: Rokovanje imen |
5 | TYP | Semantična analiza: Preverjanje tipov |
Projekt ima Makefile
.
make build
cd .build
java -cp ".:../lib/*" Main PINS <sourceFile> [--dump <dump>][--exec <exec>][--memory <memory>]
--dump
: Oznaka_faze--exec
: Oznaka_faze--memory
: Spomin
Za izvajanje je potrebna knjižnica ArgPar
, ki je uporabljena za razčlenitev argumentov.
Za namene ugotavljanje pravilnosti se prevajalnik lahko testira nad testi z ali brez uporabe TestsRunner
-ja.
A Compiler for the PINS language created for the purpose of the course Compilers and Virtual Machines at the Faculty of Computer and Information Science of the University of Ljubljana. The Compiler's Framework (most of the Code under the Commit "Initial commit") was prepered by the Course's Assistant.
PINS - Prevajalniki in navidezni stroji