Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Переписывание рантайма с C++98 на C89 #311

Open
Mazdaywik opened this issue Jul 4, 2020 · 1 comment
Open
Assignees
Labels
Milestone

Comments

@Mazdaywik
Copy link
Member

Mazdaywik commented Jul 4, 2020

Эта задача — подзадача для #197. Там же мотивация задачи и детали реализации

Требуется переписать файлы рантайма (refalrts-*.cpp в папке src/lib и подпапках) с C++98 на C89. Нужно заменить классы на структуры, их методы на функции, вместо контейнеров STL написать собственные ограниченные аналоги (реализаций вектора на Си в интернете можно найти миллион).

Подробности по этой задаче напишу позже.

В исходниках на Си должен использоваться тот же стиль оформления кода, что и в рантайме Рефала-05:

Код должен компилироваться и работать с любым C89-совместимым компилятором. Должны поддерживаться операционные системы Windows, Linux и macOS. Код не должен требовать внешних библиотек.


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

Внимание! Задача блокируется задачами #312 и #313, поэтому если выберете эту задачу на практику, напишите мне на почту или в комментарии, я вне очереди приступлю к двум вышеназванным задачам.

@Mazdaywik
Copy link
Member Author

Задачу решаю я, @Mazdaywik.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant