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

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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