Nach längerer Pause zu diesem Projekt habe ich endlich mal wieder angefangen, an meinem (neuen) Compiler zu arbeiten.
Ich habe die Sprache rund um erneuert und vor Allem stark vereinfacht - ich habe mir zu Beginn einfach zu viel vorgenommen
Die Sprache ist jetzt mehr an Java als an C++ angelehnt:
Garbage Collection, keine Pointer Arithmetik, keine Templates.
Hier mal zwei Code Beispiele die mein Parser bereits akzeptiert:
MathTest1.xx
CodeTest1.xx
Feedback zur Syntax bzw. Grammatik ist erwünscht :-)
Die Virtuelle Maschine ist auch komplett neu und als separates Projekt in reinem C99 geschrieben.
Zum Thema Garbage Collection:
Hat jemand von euch Erfahrung mit dem
Boehm-Demers-Weiser conservative C/C++ Garbage Collector?
Ich will so einen fertigen GC für meine VM benutzen. Ich stell mir aber schon die ganze Zeit die Frage, wie das zusammen mit meiner VM funktionieren soll.
Wenn ich mit "GC_MALLOC" Speicher allokiere, woher weiß dann der GC, dass dieser Pointer noch in meinen virtuellen Registern bzw. auf meinem virtuellen Stack liegt?
Diese (Owning-)Pointer liegen nämlich als 'Raw-Memory' irgendwo in meiner VM.
Hoffe ihr könnt mir mit dem GC Problem weiter helfen und euch gefällt die neue, simplere Syntax meiner Sprache
Lukas