bmstu-iu9 / bmstu-iu9/refal-5-lambda

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

Open
#311 1 comment 0 reactions 1 assignee Claimed by @Mazdaywik View on GitHub
task
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.