From 024444abdbd63727a4546f2c50ef737334d52aad Mon Sep 17 00:00:00 2001 From: SkrinVex Date: Thu, 15 Jan 2026 19:10:16 +0500 Subject: [PATCH] Update doc and readme --- DOCUMENTATION.md | 11 +++++------ README.md | 8 ++++---- doc/DOCUMENTATION.md | 11 +++++------ test/test.fox | 4 ++-- 4 files changed, 16 insertions(+), 18 deletions(-) diff --git a/DOCUMENTATION.md b/DOCUMENTATION.md index 30f3903..40b0ee1 100644 --- a/DOCUMENTATION.md +++ b/DOCUMENTATION.md @@ -141,27 +141,26 @@ print(get(chest, 0)); // Выведет 55 ## 7. Модули и Импорт -FoxLang v4.0 поддерживает умный импорт. +FoxLang v4.0 поддерживает импорт внешних модулей. Используйте `include("путь/к/файлу.fox");`. **Особенности:** -* Поддерживаются **относительные пути** (например, `../lib/utils.fox`). -* **Режим Импорта:** При подключении файла интерпретатор выполняет **только** объявления переменных и функций. Команды вызова функций или `print` внутри подключаемого файла **игнорируются**. Это позволяет безопасно подключать библиотеки, содержащие тестовый код. +* **Важная информация:** При подключении внешних модулей в связи с оссобенностями c++, если в скрипте есть вызов функции в корне скрипта то она тоже будет выполнена при импорте. Это может привести к неожиданным результатам и ошибкам. **Пример:** `lib.fox`: ```cpp void hello() { print("Hi!"); } -hello(); // ЭТО НЕ ВЫПОЛНИТСЯ ПРИ ИМПОРТЕ +hello(); // Это выполнтся при импорте ``` `main.fox`: ```cpp include("lib.fox"); -hello(); // А вот теперь мы вызываем функцию сами +hello(); // Мы так же можем вызывать функции из модулей. ``` --- @@ -174,4 +173,4 @@ hello(); // А вот теперь мы вызываем функцию сами | `input()` | Останавливает программу и ждет ввода строки от пользователя. | | `round(expr)` | Округляет дробное число до ближайшего целого. | | `random()` | Генерирует случайное число от 0 до 99. | -| `fox()` | Пасхалка: выводит ASCII-арт лисы. | \ No newline at end of file +| `fox()` | Пасхалка: выводит ASCII-арт лисы. | diff --git a/README.md b/README.md index c984634..213a683 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ ![Version](https://img.shields.io/badge/version-4.0.0-orange) ![Language](https://img.shields.io/badge/language-C++17-blue) ![License](https://img.shields.io/badge/license-MIT-green) **FoxLang** — это интерпретируемый язык программирования общего назначения, разработанный с нуля на C++. -Он сочетает строгий синтаксис (в стиле C++/Java) с динамической гибкостью скриптовых языков. Проект демонстрирует реализацию собственного лексера, рекурсивного парсера, AST-дерева и модульной архитектуры. +Он сочетает строгий синтаксис (в стиле C++) с динамической гибкостью скриптовых языков. Проект демонстрирует реализацию собственного лексера, рекурсивного парсера, AST-дерева и модульной архитектуры. ## ✨ Ключевые возможности @@ -47,7 +47,7 @@ fox(); ## 💻 Пример кода ```cpp -// Подключаем библиотеку (код внутри не выполняется, только функции запоминаются) +// Подключаем библиотеку include("math_lib.fox"); int x = 10; @@ -72,5 +72,5 @@ print("Array elem: " + get(nums, 0)); --- -**Author:** [SkrinVex] -**License:** MIT \ No newline at end of file +**Author:** [SkrinVex](https://skrinvex.su) +**License:** MIT diff --git a/doc/DOCUMENTATION.md b/doc/DOCUMENTATION.md index 30f3903..40b0ee1 100644 --- a/doc/DOCUMENTATION.md +++ b/doc/DOCUMENTATION.md @@ -141,27 +141,26 @@ print(get(chest, 0)); // Выведет 55 ## 7. Модули и Импорт -FoxLang v4.0 поддерживает умный импорт. +FoxLang v4.0 поддерживает импорт внешних модулей. Используйте `include("путь/к/файлу.fox");`. **Особенности:** -* Поддерживаются **относительные пути** (например, `../lib/utils.fox`). -* **Режим Импорта:** При подключении файла интерпретатор выполняет **только** объявления переменных и функций. Команды вызова функций или `print` внутри подключаемого файла **игнорируются**. Это позволяет безопасно подключать библиотеки, содержащие тестовый код. +* **Важная информация:** При подключении внешних модулей в связи с оссобенностями c++, если в скрипте есть вызов функции в корне скрипта то она тоже будет выполнена при импорте. Это может привести к неожиданным результатам и ошибкам. **Пример:** `lib.fox`: ```cpp void hello() { print("Hi!"); } -hello(); // ЭТО НЕ ВЫПОЛНИТСЯ ПРИ ИМПОРТЕ +hello(); // Это выполнтся при импорте ``` `main.fox`: ```cpp include("lib.fox"); -hello(); // А вот теперь мы вызываем функцию сами +hello(); // Мы так же можем вызывать функции из модулей. ``` --- @@ -174,4 +173,4 @@ hello(); // А вот теперь мы вызываем функцию сами | `input()` | Останавливает программу и ждет ввода строки от пользователя. | | `round(expr)` | Округляет дробное число до ближайшего целого. | | `random()` | Генерирует случайное число от 0 до 99. | -| `fox()` | Пасхалка: выводит ASCII-арт лисы. | \ No newline at end of file +| `fox()` | Пасхалка: выводит ASCII-арт лисы. | diff --git a/test/test.fox b/test/test.fox index ef7aa44..ae70a33 100644 --- a/test/test.fox +++ b/test/test.fox @@ -8,7 +8,7 @@ void Hello() { print("Привет, " + Player + "!"); - print("Тебе предстоит пройти это подземелье"); + print("Тебе предстоит пройти это подземелье"); } Hello(); @@ -27,4 +27,4 @@ } else { print("Не найдено действие для этого ввода."); } -} \ No newline at end of file +}