|
7 | 7 |
|
8 | 8 | ## Текущий статус
|
9 | 9 |
|
10 |
| -На данный момент проект находится на стадии активной разработки. |
11 |
| - |
12 |
| -Ожидается, что следующие этапы будут включать: |
13 |
| - |
14 |
| -- Разработка интерпретатора |
15 |
| - |
16 |
| -- Разработка хранилищя состояния |
17 |
| - |
18 |
| -- Оптимизация производительности и добавление новых функций |
19 |
| - |
20 |
| - |
21 |
| -Уже разработано/разрабатываться: |
22 |
| -- Разработка парсера и AST — выполнено ≈ 70% |
23 |
| - |
24 |
| -- ~~Разработка токенизатора~~ — работает, но требуется оптимизация |
25 |
| - |
26 |
| -- Реализация структуры хранения переменных и состояния — базовая структура хранения переменных |
27 |
| - |
28 |
| - |
29 |
| -## Цели: |
30 |
| - |
31 |
| -- Автоматизация: Giraffe-Language предоставляет простые и гибкие возможности для автоматизации задач, что идеально подходит для настройки и обслуживания процессов, а также для работы с API и системами. |
32 |
| - |
33 |
| -- Удобные интерфейсы: Язык ориентирован на создание удобных и читаемых интерфейсов, которые помогут интегрировать и управлять сложными проектами через легкие в использовании скрипты. |
34 |
| - |
35 |
| -- Интерактивность и гибкость: Язык поддерживает динамическую работу с данными и интерфейсами, позволяя быстро изменять поведение системы через скрипты. |
36 |
| - |
37 |
| -## Конецепт: |
| 10 | +На данный момент проект на паузе. Версия 1.2.0 является финальной, но сейчас идет разработка версии 2.0.0. |
38 | 11 |
|
39 | 12 | ### Графичиская схема роботы:
|
40 | 13 |
|
41 | 14 | 
|
42 | 15 |
|
43 |
| -### Описание концепта/схемы: |
| 16 | +### Описание схемы: |
44 | 17 |
|
45 | 18 | #### Лаксер (Токенайзер)
|
46 | 19 | Разбивает исходный код на токены, представляя его в виде более простых элементов для дальнейшей обработки
|
|
79 | 52 | - Отладочный режим
|
80 | 53 |
|
81 | 54 |
|
82 |
| - |
83 |
| -## Идеи по улучшению концепта: |
84 |
| - |
85 |
| -**Мемоизация вычислений:** Для часто встречающихся выражений можно хранить уже вычисленные результаты и возвращать их при повторных вызовах, чтобы избежать лишних вычислений. |
86 |
| - |
87 |
| -**Снимки состояния:** На определённых этапах работы программы можно делать "снимки" состояния для отката в случае ошибки или для возврата к состоянию на определённой инструкции. |
88 |
| - |
89 |
| -**Поддержка замыканий:** Механизм замыканий позволяет переменным сохранять своё значение даже после выхода из области видимости, где они были определены. Это полезно для реализации лямбда-функций или обработчиков. |
90 |
| - |
91 |
| -**Использование слабых ссылок:** Для некоторых объектов, например, временных данных, можно использовать слабые ссылки `weak references`, чтобы избежать утечек памяти при удалении ненужных объектов. |
92 |
| - |
93 |
| - |
94 |
| - |
95 |
| -## Предпологаемый синтаксис: |
| 55 | +## Синтаксис: |
96 | 56 | ```js
|
97 | 57 | /*
|
98 | 58 | Многострочный коментарий
|
@@ -169,4 +129,4 @@ func main(){
|
169 | 129 |
|
170 | 130 | ## Лицензия
|
171 | 131 |
|
172 |
| -Этот проект лицензирован под GNU LICENSE - подробности см. в файле [LICENSE](LICENSE). |
| 132 | +Этот проект лицензирован под GNU LICENSE - подробности см. в файле [LICENSE](LICENSE). |
0 commit comments