bmstu-iu9 / bmstu-iu9/refal-5-lambda
Переписывание рантайма с C++98 на C89
- Dominant language
- C++
- Stars
- 97
- Forks
- 40
- PR merge metrics
- No merged PRs in 30d
Description
Эта задача — подзадача для #197. Там же мотивация задачи и детали реализации
Требуется переписать файлы рантайма (`refalrts-*.cpp` в папке `src/lib` и подпапках) с C++98 на C89. Нужно заменить классы на структуры, их методы на функции, вместо контейнеров STL написать собственные ограниченные аналоги (реализаций вектора на Си в интернете можно найти миллион).
Подробности по этой задаче напишу позже.
В исходниках на Си должен использоваться тот же стиль оформления кода, что и в рантайме Рефала-05:
* Описание стиля: https://mazdaywik.github.io/Refal-05/A-style-guide.html
* Пример оформления: https://github.com/Mazdaywik/Refal-05/blob/master/lib/refal05rts.h
* Пример оформления: https://github.com/Mazdaywik/Refal-05/blob/master/lib/refal05rts.c
* Пример оформления: https://github.com/Mazdaywik/Refal-05/blob/master/lib/Library.c
Код должен компилироваться и работать с любым C89-совместимым компилятором. Должны поддерживаться операционные системы Windows, Linux и macOS. Код не должен требовать внешних библиотек.
--------------------
Задача вполне подходит на летнюю практику, поскольку она сугубо ремесленная, не требует углублённого понимания работы компиляторов, научного творчества в ней мало. По крайней мере, научного творчества в ней мало на первый взгляд, в процессе вылезти может много чего интересного.
**Внимание!** Задача блокируется задачами #312 и #313, поэтому если выберете эту задачу на практику, напишите мне на почту или в комментарии, я вне очереди приступлю к двум вышеназванным задачам.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.