bmstu-iu9 / bmstu-iu9/refal-5-lambda
Библиотека reflib
- Dominant language
- C++
- Stars
- 97
- Forks
- 40
- PR merge metrics
- No merged PRs in 30d
Description
Дистрибутив классического Рефала-5 поставляется с библиотекой `reflib.ref`, которая содержит следующие функции (цитирую комментарий из заголовка):
```
* This file, REFLIB.REF, includes Refal definitions of:
*
* Pair pairs '(' and ')' into structure brackets
* PairArg pairs '(' and ')' into structure brackets from
* Input inputs Refal expressions, program style code
* InputArg inputs Refal expressions, program style code from
* Xxout outputs in expression-exchange (XX) code
* Xxinr inputs in XX code, Refal definition
* Xxin inputs in XX code calling a system function
* Pprout pretty print of expressions, empty result
```
На практике, на мой взгляд, она мало когда применима, поэтому до сих пор не была реализована. Но реализовать её нужно по двум причинам.
* Во-первых, для большей совместимости с Рефалом-5.
* Во-вторых, она полезна для обучения программированию на Рефале. Рефал — язык символьных преобразований, наиболее интересные применения — преобразования синтаксических деревьев. Но эти деревья откуда-то надо брать. Хадкодить в программе не интересно, разрабатывать парсер — долго. Поэтому ради функции `Input` и стоит внедрить библиотеку.
Нужно будет уточнить форматы и семантику каждой из функций и решить, в каком объёме их реализовывать.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.