Кухаренко Олексій
Науковий керівник: доцент кафедри інформатики, кандидат фізико-математичних наук Паращук С. Д.
Кіровоградський державний педагогічний університет імені Володимира Винниченка
Анотація: В статті розглядається принцип побудови аналізатора коду С/С++ з використанням Django.
Ключові слова: аналізатор коду, python, Django, С/С++.
Актуальність теми. У процесі навчання початківці допускають багато помилок, тому помічник у написанні коду буде доречний та актуальний.
Метою дослідження є розробка аналізатора коду користувача. Для досягнення мети необхідно вирішити наступні завдання:
- проаналізувати мову програмування Python та бібліотеку Django.
- розробити додаток аналізатора коду.
Python - високорівнева, об’єктно-орієнтована, тюрінг-повна мова програмування, однаково добре підходить для розробки як простих командних скриптів, так і складних настільних та Web-додатків. В комплекті з ним поставляється стандартна бібліотека, яка включає потужні засоби для обробки текстів, підтримки шифрування, роботи з файлами, реалізації обміну даних через Інтернет і багато іншого[1].
Python – мова що інтерпретується, інтерактивна. Вона включає в себе модулі, виключення, динамічну типізацію, динамічні типи даних дуже високого рівня, і класи. Python поєднує в собі чудові можливості з дуже зрозумілим синтаксисом. Він має інтерфейси для багатьох системних викликів і бібліотек, а також до різних віконних систем і є розширюваною в C або C ++. Він також може використовуватися як мова розширення для додатків, яким потрібен програмований інтерфейс. Нарешті, Python є портативним: він працює на багатьох Unix системах, на Mac, так і на Windows 2000 і пізніших[2].
Django – це стороння бібліотека для мови Python, яка реалізує базову функціональність Web-сайту. Вона включає в себе все необхідне для того, щоб ми змогли почати програмування сайту. Завантаживши і встановивши її ми зможемо сконцентруватися на коді, який реалізує функціональність саме нашого сайту, на його моделях, контролерах та шаблонах.
Розробка додатку починається з постановки технічного завдання:
1. Найменування роботи: Аналізатор коду, що написаний на мовах С/С++.
2. Призначення: Аналізатор призначений для аналізу коду, який написаний на мовах С або С++, виведення інформації про помилки та посилання на джерела щодо усунення такої помилки.
3. Вимоги: Аналізатор коду С/С++ повинен правильно виводити помилки якщо вони присутні в коді, надавати інформацію щодо усунення даної помилки.
4. Вимоги до зберігання даних: Дані повинні зберігатися на сервері в папці користувача який авторизувався.
5. Вимоги до програмного забезпечення: Аналізатор працює на наступних платформах: Linux x32 / 64, OS X x64, Windows x32 / 64. Рекомендовані браузери: Google Chrome 34+, Mozilla Firefox 31+, Apple Safari 8+, Microsoft Internet Explorer 11+.
Додаток розробляється як навчальний посібник для новачків в програмуванні.
Аналізатор призначений для аналізу коду який написав користувач та повідомлення про помилки, якщо вони є.
Роботу додатка можна описати наступним чином: в момент коли користувач зайшов на сайт, йому пропонується ввести свій логін та пароль, якщо він зареєстрований в системі або зареєструватися. Після авторизації користувач перенаправляється на сторінку з областю для вводу коду. По завершенню вводу користувач натискає на кнопку «Run», код користувача зберігається в спеціальній папці на веб-сервері, яка унікальна для кожного зареєстрованого користувача. Веб сервер передає файл з вихідним кодом на компіляцію операційній системі. В цей час операційна система компілює файл, зберігає скомпільовану програму у папці користувача, а у разі помилки записує текст в спеціальний файл. Якщо помилка знайдена, то програма звіряє її з популярними помилками та видає посилання на вирішення. Список помилок зберігається у файлі на сервері. Якщо помилок при компіляції не знайдено, повертається відповідь про успішне компілювання.
Висновки
Проаналізовано мову програмування Python, бібліотеку Django, та створено аналізатор коду, який ввів користувач та має такий функціонал: реєструє нового користувача; створює для користувача окрему папку; зберігає програмний код у папку користувача; перевіряє код на помилки; виводить інформацію про помилки; виводить посилання на теоретичний матеріал по допущеній помилці; виконує програмний код.
В подальшому дослідженні планується розширити базу теоретичного матеріалу, а також кількість підтримуваних мов.
Список літератури:
- Django [Електронний ресурс]. – 2005. – Режим доступу до ресурсу: https://www.djangoproject.com/.
- Общие Python FAQ [Електронний ресурс]. – 2001. – Режим доступу до ресурсу: https://docs.python.org/3/faq/general.html.
Відомості про авторів:
Кухаренко Олексій Володимирович – студент VI курсу фізико-математичного факультету Кіровоградського державного педагогічного університету імені Володимира Винниченка.