Commit Graph

320 Commits

Author SHA1 Message Date
rexim
22900caea9 Добавить ключевые слова «то» и «иначе». 2024-01-10 07:13:36 +07:00
rexim
4a13de8274 Переосмыслить пример 04-физз-базз 2024-01-10 06:47:09 +07:00
rexim
2a5511847d Трансформировать 02-цикл
Теперь это программа, которая печатает последовательность чисел.
2024-01-10 06:46:27 +07:00
rexim
49e62b4c1e Документация 2024-01-10 06:34:40 +07:00
rexim
79e2d5ced9 Добавить пример 05-фибоначчи 2024-01-10 06:31:04 +07:00
rexim
683c180140 Ввести операцию Программа::завершить_компиляцию().
В ней мы накладываем заплатки указателей на неинициализированные
данные. Эта операция должна быть произведена после полного завершения
компиляции всех модулей.
2024-01-10 06:27:03 +07:00
rexim
e2356f42c3 Добавить команду перешагивания в интерпретатор ПП 2024-01-10 06:13:50 +07:00
rexim
d6ed61cf7c Ввести инструкцию СисВызов 2024-01-09 13:38:14 +07:00
rexim
664ecfd734 СДЕЛАТЬ: отслеживать повторное включение модулей и игнорировать его 2024-01-09 13:19:03 +07:00
rexim
29f45ad91e Реализовать компиляцию включения файлов 2024-01-09 13:18:15 +07:00
rexim
ae2b7f93d6 Использовать Path и PathBuf вместо str и String там где нужно 2024-01-09 13:04:42 +07:00
rexim
8ab94741f8 Удалить иррелевантный код из прелюдии. 2024-01-09 12:49:16 +07:00
rexim
bc77a17827 Добавить ключевое слово «вкл» 2024-01-09 11:27:19 +07:00
rexim
2b4deb6401 Автоматически вызывать нужные функции печати в зависимости от типа 2024-01-09 05:07:43 +07:00
rexim
b270d1f9e7 Отметить дополнительную работу по инстуркциям ПП 2024-01-09 03:59:17 +07:00
rexim
20a03e8abd СДЕЛАТЬ: Реформировать термины используемые в типах 2024-01-09 03:51:30 +07:00
rexim
b3f7c27988 Полностью рабочий примеры/03-имя.хуя 2024-01-08 21:02:31 +07:00
rexim
407bfbb0c1 печать_числа -> печать_цел 2024-01-08 14:01:09 +07:00
rexim
b1aa7ce79e Реализовать переиспользование строковых литералов 2024-01-08 13:05:39 +07:00
rexim
417d57503f Полностью рабочая прелюдия 2024-01-08 11:44:51 +07:00
rexim
fe61b397b2 Реформировать интерпретатор.
Хранить стек в память. Данный подход делает виртуальную машину еще
ближе к x86_64.
2024-01-08 10:22:37 +07:00
rexim
202eda689b Кодогенерация инструкции ЦелБольше 2024-01-07 04:54:06 +07:00
rexim
7821f7d79f Депараметризировать тип цел и поменть синтаксис приведения типов 2024-01-07 04:33:50 +07:00
rexim
fcb4bfef24 СДЕЛАТЬ: кастование как в Rust 2024-01-07 04:17:13 +07:00
rexim
69f194a6ea Реализовать кодогенерацию инструкции ЦелРавно 2024-01-06 13:46:11 +07:00
rexim
4e56dbc7f8 Полностью интерпретируемая печать_числа() из прелюдии 2024-01-06 13:12:02 +07:00
rexim
d634ffa76e Ожидать ввод пользователя перед выполнение инструкции вместо после 2024-01-06 12:25:50 +07:00
rexim
7fcf4102e8 Сделать заглушки в моде «эльф» более переиспользуемыми 2024-01-06 12:25:11 +07:00
rexim
95601166a9 Ввести инструкцию Записать8 2024-01-06 12:24:43 +07:00
rexim
1e4c8e0e51 Реализовать простой режим отладки для интерпретатора 2024-01-06 02:44:26 +07:00
rexim
1e8762a7b7 Сдвигать адреса переменных 2024-01-06 02:42:53 +07:00
rexim
81853fcf29 Реализовать интерпретацию пропущенных инструкций 2024-01-06 00:13:46 +07:00
rexim
c73b1e0182 Реализовать разбор выражений обрамленных в круглые cкобки 2024-01-06 00:07:16 +07:00
rexim
cf766fb1cf Использовать сделать!() вместо todo!() там где возможно 2024-01-06 00:00:54 +07:00
rexim
dfa5675f8e Трансформировать Инструкцию в структуру наподобие Лексемы 2024-01-05 23:03:26 +07:00
rexim
0dfab11b22 СДЕЛАТЬ: трансформировать Инструкцию в структуру наподобие Лексемы 2024-01-05 20:38:27 +07:00
rexim
575b99a359 СДЕЛАТЬ: может имеет смысл ввести локацию в саму инструкцию? 2024-01-05 20:18:33 +07:00
rexim
3dfc4d37a1 Ввести инструкцию Пометки для улучшения интерпретации вывода ПП 2024-01-05 20:14:48 +07:00
rexim
8383c739b8 Добавить потенциальных ключевых слов в режим-хуя.el 2024-01-05 11:27:50 +07:00
rexim
fe2cdddab5 Полная компиляция прелюдии 2024-01-05 11:05:31 +07:00
rexim
84c45d0a5f Избавиться от выражений типа
Использовать обычные выражения для описаний типов.
2024-01-05 07:29:29 +07:00
rexim
ad9831ebe7 Реализовать компиляцию ряда важнейших конструкций
- Присваивание элемента массива
- Операция остатка
- Операция вычитания
2024-01-05 06:06:29 +07:00
rexim
540f4127e5 Реализовать компиляцию бинопа «большое» 2024-01-05 01:57:25 +07:00
rexim
6c55b1aaf1 Реализовать компиляцию конструкции «возврат» 2024-01-05 01:54:42 +07:00
rexim
6923c6f9d7 Реализовать компиляцию бинопа «равно» 2024-01-05 01:52:03 +07:00
rexim
eed8314060 Реализовать компиляцию чтения параметров 2024-01-04 21:04:19 +07:00
rexim
6bcf724f61 Проверять переопределение параметров процедур 2024-01-03 19:23:26 +07:00
rexim
dba907d6e8 Задокументировать примеры/01-привет.хуя 2024-01-03 02:17:02 +07:00
rexim
407aae34e9 Добавить срезу в синтаксис и типизацию 2024-01-03 01:43:27 +07:00
rexim
53cfe72458 Удалить бесполезные инструкции
- ПечатьЦелого,
- ПечатьЛогического,
2024-01-03 01:43:07 +07:00