Dies ist der in C2 selbst geschriebene C2-Compiler.
C2 ist eine Weiterentwicklung von C, weitere Informationen finden Sie unter http://c2lang.org.
Die erste Version wurde in C++ geschrieben und ist auch in der Historie dieses Archivs zu finden.
Informationen zur Installation unter Linux oder OSX finden Sie im Installationsdokument.
c2c benötigt die libc-Schnittstelle, also klonen Sie bitte das c2_libs-Archiv im gleichen Basisverzeichnis wie dieses Archiv:
git clone [email protected]:c2lang/c2_libs.git
Damit das Verzeichnis wie folgt aussieht: base/ c2_libs/ c2compiler/
Auch
Da c2c in C2 geschrieben ist, ist ein Bootstrap erforderlich. Bitte lauf
. ./env.sh
make -C bootstrap
./install_plugins.sh
Dadurch wird eine Boostrap-C2C-Version erstellt und diese zum Erstellen des C2C-Compilers verwendet. Die Ausgabe erfolgt im Ordner „output/“
Jetzt können Sie den regulären Compiler ausführen, um (andere) C2-Projekte zu kompilieren
./output/c2c/c2c
Eine schönere Möglichkeit wäre, einen Symlink in ~/bin zu erstellen:
cd ~ /bin
ln -s < path_to_c2compiler > /output/c2c/c2c c2c
Stellen Sie außerdem sicher, dass ~/bin in Ihrer PATH-Variablen enthalten ist
Der C2-Compiler verfügt über ein Plugin -System, das es ermöglicht, Plugins während der Kompilierung zu laden und den AST durch sie zu modifizieren.
c2c sucht nach Plugins in der Umgebungsvariablen $C2_PLUGINDIR (vom env.sh-Skript festgelegt). Auch der Pfad kann in der Build-Datei festgelegt werden. Um die Plugins zunächst zu installieren, führen Sie ./install_plugins.sh aus. Dadurch wird ~/c2_plugins/ erstellt und alle Plugins dorthin kopiert.
Um c2c ohne Plugins auszuführen, verwenden Sie --noplugins .
Um die Unit-Tests auszuführen, führen Sie Folgendes aus:
./output/tester/tester test