Files
FoxLang/README.md
T
2026-01-15 19:10:16 +05:00

2.8 KiB

🦊 FoxLang

Version Language License

FoxLang β€” это ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык программирования ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ с нуля Π½Π° C++. Он сочСтаСт строгий синтаксис (Π² стилС C++) с динамичСской Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒΡŽ скриптовых языков. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ дСмонстрируСт Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ собствСнного лСксСра, рСкурсивного парсСра, AST-Π΄Π΅Ρ€Π΅Π²Π° ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹.

✨ ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ возмоТности

  • πŸ“ ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ: ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· include("lib.fox") с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ.
  • πŸ“¦ ΠœΠ°ΡΡΠΈΠ²Ρ‹: ВстроСнная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° создания, чтСния ΠΈ записи массивов (array, set, get).
  • πŸ”„ Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ: ΠŸΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Ρ‹ while ΠΈ условия if/else.
  • πŸ”’ Випизация: ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° int ΠΈ string с автоматичСским ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅.
  • πŸ›  Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ: Π—Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ ΠΊΡ€Π°ΡˆΠ΅ΠΉ ΠΏΡ€ΠΈ сравнСнии строк ΠΈ чисСл, ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ошибки синтаксиса.
  • 🎲 ВстроСнная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°: ГСнСрация чисСл, ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°, Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄.

πŸš€ Быстрый старт

1. Π‘Π±ΠΎΡ€ΠΊΠ°

Π’Π°ΠΌ понадобится любой компилятор C++ (GCC, Clang, MSVC).

# ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΏΠ°ΠΏΠΊΡƒ с исходным ΠΊΠΎΠ΄ΠΎΠΌ
cd src

# Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚
g++ main.cpp Lexer.cpp Parser.cpp -o foxlang

(На Windows Π±ΡƒΠ΄Π΅Ρ‚ создан Ρ„Π°ΠΉΠ» foxlang.exe)

2. Запуск скрипта

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» main.fox:

print("Hello, FoxLang!");
fox();

ЗапуститС Π΅Π³ΠΎ:

./foxlang main.fox

πŸ’» ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°

// ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ
include("math_lib.fox");

int x = 10;

if (x > 5) {
    print("X is big!");
} else {
    print("X is small.");
}

// Π Π°Π±ΠΎΡ‚Π° с массивом
array nums 3;
set(nums, 0, 555);
print("Array elem: " + get(nums, 0));

πŸ“‚ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

  • src/ β€” Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° (C++).
  • test/ β€” ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ скриптов .fox.
  • doc/ β€” ДокумСнтация.

Author: SkrinVex License: MIT