v-Golubev / UNN-C-Style-Checker

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Telegram chat

https://t.me/joinchat/GRwjklbJOuYz6a2pY8SWeQ

Установка окружения

Windows 10

Вам потребуется установить WSL. Для этого нужно следовать инструкции.
Обратите внимание что нужно выбрать версию Ubuntu18
После установки запускаем Ubuntu 18.04 LTS у вас должен появиться терминал

Ubuntu18

Пользователям linux можно приступать к следующему шагу

Сборка LLVM & CLang

Находясь в терминале установите следующие зависимости:

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:

  1. Сделайте коммит:
    git add -u
    git commit -m 'Complete c-style-checker task'
    
  2. Отправьте ветку с вашим решением на сервер:
    git push origin HEAD
    
  3. Перейдите на github и откройте pull request из вашей ветки в master главного репозитория

Если необходимо что то исправить после создания pull request нужно просто сделать изменения и повторить шаги 1 и 2. Не нужно открывать новый pull request

Полезные ссылки

About


Languages

Language:C++ 62.3%Language:CMake 37.7%