Code Monkey home page Code Monkey logo

ujs_ci's Introduction

UJS Compilation Infrastructure Инфраструктура компиляции UJS

Компиляция в среде проверяющей системы: общие сведения

При проведении соревнований по программированию, предполагающих автоматизированную проверку решений задач, часто оказывается затруднительным предоставить участникам аппаратно-программные среды разработки, полностью идентичные по своим характеристикам среде проверяющей системы (в большинстве случаев такая возможность вообще отсутствует). Различие платформ в общем случае делает невозможным запуск исполняемых файлов, созданных на компьютере участника, на проверяющем сервере.

В связи с этим общепринятой практикой является компиляция решений в среде проверяющей системы. Участнику в данном случае следует предосталять для проверки файлы исходного кода решения, а также тем или иным образом указывать предпочтительный компилятор.

Аналогичная ситуация имеет место для программных составляющих комплекта материалов задачи, который в общем случае также разрабатывается в среде, отличной от среды проверяющей системы.

Основные задачи инфраструктуры компиляции

  • Анализ информации:

    • о множестве компиляторов (и опций компиляции), требуемых для подготовки материалов задачи (либо решения участника),
    • о множестве компиляторов (и опций компиляции), доступных в среде проверяющей системы, и формирование отчёта о возможности/невозможности компиляции материалов задачи (либо решения участника) в проверяющей системе;
  • Подготовка программных составляющих (программ проверки выходных данных, валидаторов тестов и т. п.) комплекта материалов задачи к запуску перед проведением соревнования;

  • Подготовка решений участников к запуску в течение соревнования;

  • Предоставление поставщику файлов исходного кода (автору задачи или разработчику решения) средств указания требуемых компиляторов и опций компиляции:

    • сравнительно высокоуровневых средств, позволяющих абстрагироваться от особенностей конкретных компиляторов в тех случаях, когда это возможно,
    • сравнительно низкоуровневых средств, позволяющих задать специальные опции компиляции для задач, тесно связанных с разработкой под конкретную среду.

ujs_ci's People

Stargazers

Pavel Khusainov avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.