bmstu-iu9 / bmstu-iu9/refal-5-lambda
Поддержка Юникода в Рефале-5λ
- Dominant language
- C++
- Stars
- 97
- Forks
- 40
- PR merge metrics
- No merged PRs in 30d
Description
Текущая реализация Рефала-5λ не поддерживает Юникод, интерпретирует текст как последовательность байт. Поэтому с текстами в кодировке UTF-8 он частично совместим, ровно на столько, на сколько UTF 8 может заменить однобайтную кодировку.
Требуется реализовать поддержку Юникода и кодировок символов на уровне лексики (в частности, национальные символы в идентификаторах), библиотеки времени выполнения и библиотеки стандартных функций.
Библиотеку для Юникода можно реализовывать тремя путями:
1. по принципу чучхэ¹ — самим реализовать всё на C++,
2. используя API операционной системы, при этом должны поддерживаться как минимум три ОС: Windows, Linux и OS X (есть подозрение, что у Linux и OS X API будет разным);
3. используя библиотеками `` и ``, но насколько точно и переносимо они поддерживают Юникод в разных версиях компиляторов — точно не знаю.
У каждого варианта свои достоинства и недостатки, нужно будет выбрать какой-то один и его реализовать.
---
¹ Чучхэ (кор.) — идеология опоры на собственные силы
Contributor guide
No contributing guide indexed for this repository
Research direction
The issue names no files or tests. Start by locating the lexer, runtime library, and standard-function library, then evaluate the proposed Unicode approaches; done means Unicode and character encodings work in identifiers and these three areas across Windows, Linux, and OS X.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers, internationalization
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100