Это компилятор C2, написанный на самом C2.
C2 является развитием C, дополнительную информацию можно найти на http://c2lang.org.
Первая версия была написана на C++, и ее также можно найти в истории этого архива.
см. документ по установке для установки в Linux или OSX.
c2c нужен интерфейс libc, поэтому клонируйте архив c2_libs в ту же базовую директорию, что и этот архив:
git clone [email protected]:c2lang/c2_libs.git
Чтобы каталог выглядел так: base/c2_libs/c2compiler/
Также
Поскольку c2c написан на C2, необходим бутстрап. Пожалуйста, бегите
. ./env.sh
make -C bootstrap
./install_plugins.sh
Это создаст версию c2c boostrap и будет использовать ее для сборки компилятора c2c. Вывод будет в папке output/
Теперь вы можете запускать обычный компилятор для компиляции (других) проектов C2.
./output/c2c/c2c
Более приятный способ — создать символическую ссылку в ~/bin:
cd ~ /bin
ln -s < path_to_c2compiler > /output/c2c/c2c c2c
Также убедитесь, что ~/bin находится в вашей переменной PATH.
Компилятор C2 имеет систему плагинов , которая позволяет загружать плагины во время компиляции и изменять ими AST.
c2c будет искать плагины в переменной среды $C2_PLUGINDIR (заданной сценарием env.sh). Также путь можно указать в файле сборки . Чтобы установить плагины изначально, запустите ./install_plugins.sh . Это создаст ~/c2_plugins/ и скопирует туда все плагины.
Чтобы запустить c2c без плагинов, используйте --noplugins .
Чтобы запустить модульные тесты, запустите
./output/tester/tester test