Skip to content

Basic-ка подобный, интерпретируемый язык на Python

License

Notifications You must be signed in to change notification settings

keeniGithub/GlowLang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ee9d075 · Nov 10, 2024

History

28 Commits
Nov 10, 2024
Jul 21, 2024
Jul 25, 2024
Jul 25, 2024
Jul 25, 2024
Jul 22, 2024
Jul 25, 2024
Jul 24, 2024

Repository files navigation

alt text

GlowLang

Basic-ка подобный, интерпретируемый язык на Python

Discussions


Использования

Для использования требуется устанровленный Python

Рекомендуемая версии >= 3.11

Установка

Скопируйте данный репозиторий в нужную вам директорию и создайте в ней файл с расширением .gl

git clone https://github.com/keeniGithub/GlowLang.git

Запуск

Для запуска вы можете использовать интерактивную консоль, запустив файл shell.bat или shell.py и выполнять код в ней

Пример:

GlowShell >>> print("hello world!")
hello world!
GlowShell >>>

Или

В этой же консоли вызвать функцию run("filename.gl"), передава в нее названия к файлу (учитывайте, что нужно указывать полный путь)

Пример:

GlowShell >>> run("example.gl")
>>> 5
120
GlowShell >>>

Документация

Переменные

Для создания перменных используеться ключевое слово var

Доступны типы данных:

  • Целые числа
  • Числа с плавующей точкой
  • Строки
  • Массивы (листы)

Так же можно использовать математические операторы

  • + Плюс
  • - Минус
  • * Умножения
  • / Деления
  • ^ Степень

Пример:

var a = 1
var b = 25.07
var c = "Hello, Glow!"
var d = [1, 2, 3, "Four"]
var e = (2 + 2) * 2

Так же, в языке присутствует уже встроенные числовые значения

null - 0

false - 0

true - 1

pi - 3.141592653589793

e - 2.718281828459045

Циклы

Glow использует конструкцию to then end как в Basic

Цикл For

Пример:

for i = 0 to 5 then
    print(i)
end

Вывод:

0
1
2
3
4

Цикл While

Пример:

var i = 0

while i < 5 then
    var i = i+1
    print(i)
end

Вывод:

1
2
3
4
5

Условия

Как в любом языке, тут есть условия if, elif, else

Для них используються операторы сравнения:

  • > Больше
  • >= Больше или равно
  • < Меньше
  • <= меньше или равно
  • == Равенства
  • != Неравенства

И логические операторы:

  • and И
  • or Или
  • not Не

Пример:

var i = 101

if i == 100 then
    print("i is 100")
elif i == 101 then
    print("i is 101")
else
    print("i not 100 and not 101")
end

Вывод:

i is 101

Функции

Функции создаються при помощи ключевого слова func В круглых скобках вы передаете параметры, а аргументы при вызове (как вы любом другом языке)

Пример:

// Пример из example.gl

func factorial(n)
    var fctrl = 1
    while n > 1 then
        var fctrl = fctrl*n
        var n = n-1
    end

    return fctrl
end

var n = input_int()

print(factorial(n))

Вывод:

>>> 5
120

Стрелочные функции

Стрелочные функции в Glow немного схожи с их аналогом в JavaScript или lambda в Python и Ruby, и нужны чтобы не писать много строк кода для простых действий

Пример:

func sum(a, b) -> a+b
print(sum(2, 2))

Вывод:

4

Встроенные функции

  • print - Выводит текст в консоль
  • input - Принимает значения
  • input_int - Принимает целые числа
  • is_number - Является ли передаваемый аргумент числом
  • is_string - Является ли передаваемый аргумент строкой
  • is_list - Является ли передаваемый аргумент списком
  • is_function - Является ли передаваемый аргумент функцией
  • append - Добавляет новый элемент в конец списка
  • pop - Удаляет элемент по указаному индексу
  • len - Считает кол-во элемнтов в списке
  • clear или cls - Очищает консоль
  • run - Запускает скрипт

Операторы перехода

Операторы перехода используются для изменения потока выполнения программы

  • break - Прерывает выполнение текущего цикла
  • continue - Завершает текущую итерацию цикла и переходит к следующей
  • return - Возравщает указанное слово

Коментарии

Для коментариев используеться //

// Это коментарий

About

Basic-ка подобный, интерпретируемый язык на Python

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages