https://t.me/joinchat/GRwjklbJOuYz6a2pY8SWeQ
Вам потребуется установить WSL
. Для этого нужно следовать инструкции.
Обратите внимание что нужно выбрать версию Ubuntu18
После установки запускаем Ubuntu 18.04 LTS
у вас должен появиться терминал
Пользователям linux можно приступать к следующему шагу
Находясь в терминале установите следующие зависимости:
sudo apt install git cmake
Создайте папку для работы с курсом и перейдите в нее
mkdir ~/compiler-course && cd ~/compiler-course
Далее собираем LLVM
вместе с Clang
из исходников
git clone https://github.com/llvm/llvm-project
cd llvm-project/llvm/
mkdir build && cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=install \
-DLLVM_TARGETS_TO_BUILD=X86 \
-DLLVM_ENABLE_PROJECTS=clang
make -j4
make install
Сборка может занять длительное время
После успешного построения LLVM & Clang
можно приступать к выполнению задания.
Вернитесь в корневую папку курса:
cd ~/compiler-course
Для начала сделайте Fork текущего репозитория к себе в профиль. После этого копия репозитория появится у вас в профиле.
Склонируйте и перейдите в локальную копию:
git clone <fork-repo-url>
cd UNN-C-Style-Checker/
Создайте отдельную ветку для работы с репозиторием, которая будет содержать имя, фамилию и направление, пример:
git checkout -b vasya-pupkin-fiit
Собираем проект с заданием
mkdir build && cd build
cmake ../ -DLLVM_DIR=~/compiler-course/workspace/llvm-project/llvm/build/install/lib/cmake
make -j8
Запускаем
./c-style-checker ../test/test.cpp --extra-arg=-I/home/<your-root-name>/compiler-course/llvm-project/llvm/build/lib/clang/<version>include/
Вам необходимо дописать свой код в main.cpp
чтобы утилита смогла заменить все преобразования типов в стиле си на соответствующий им аналог из с++
После того как вы сделали заданиe:
- Сделайте коммит:
git add -u git commit -m 'Complete c-style-checker task'
- Отправьте ветку с вашим решением на сервер:
git push origin HEAD
- Перейдите на github и откройте
pull request
из вашей ветки вmaster
главного репозитория
Если необходимо что то исправить после создания pull request
нужно просто сделать изменения и повторить шаги 1 и 2.
Не нужно открывать новый pull request