initial commit
Chespel.g: gramàtica base pel chespel, falta completar-la i mirar si funciona (probablement ni compila).
exemple.g: conté l'exemple del ASL.
asl.g: esborrat.
Merge Chespel grammar with Asl one.
Falta revisar la definició de String perquè no l'acaba de rebre bé. No he sabut trobar l'error i sembla més un bug del antlrworks que no pas altra cosa.
Afegides noves coses, queda comprovar que la gramàtica faci més o menys lo que hauria de fer (ara ja té concatenació per fer coses com pawns.quantity). De cara a referir-se a les peces pròpies o del rival, he ficat modificadors de s (self) i r (rival), és a dir, pawns = tots els peons, spawns (self pawns), rpawns (rival pawns) (totalment canviable).
Primera versió que sembla que funciona i un joc de proves.
added makefile and gitignore, restructured folders
fixed rewrite rule bug
added to-do list, fixed typo
added ID case in 'forall element in' expression
new makefile... does not compile yet
code example
Nous canvis menors.
On branch c_like :
-Bugfix for forall statement changing its syntax (now: forall (expr) block_instruction).
-Revised serious_example to adapt the code to new syntax.
-Other examples are still broken.
brief description of projects' next steps (in catalan)
Merge branch 'c_like' of bitbucket.org:nmamano/chespel into c_like
restructured folders. project now compiles
added parameters by reference, but it is not working correctly
Minor changes to Chespel.g (now there is visual impact if a function paramater is passes by reference) and Makefile (now it uses internal antlr3.jar to compile)
Changes to port from ASL Interpreter to Chespel Compiler.
Most changes were focused on changing the class Data to be more appropiate for a compiler (instead of storing values, it stores types and in case of a constant, also its value).
There are still lots of classes to modify, the idea is to make Stack.java be the engine to implement scooping and constant propagation, and Data.java be the records of the symbol table (Stack). And finally propagate constants and check types of the definitions (functions, globals, rules). After all this checks, the only thing which remains undone is printing all the code (with slight modifications) to a CPP file.