Skip to content

VadimGush/Saku

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект заброшен. Единственное интересное это набросок скриптового языка.

Saku

Saku - прототип программы для параллельных вычислений.

Настройка

После запуска Saku выбирите подходящую из доступных в системе платформ. Для получения списка платформ используйте команду kernel, а для смены платформы функцию set_platform():

>>> kernel
// ...
Список доступных платформ:
 --> [0] Runtime Platform
     [1] OpenCL 2.0: Intel(R) Core(TM) i3-4330 CPU @ 3.50GHz

>>> set_platform(1)

Выбранная платформа будет использоваться как целевая для всех вычислений.

Если какое-либо устройство отсутствует в списке доступных платформ, то проверьте наличие установленного драйвера CUDA/OpenCL.

Синтаксис

Команды

Saku содержит набор комманд для вывода разнообразной информации. Для выполнения команды достаточно указать её имя:

>>> help
// вывод справочной информации

Команды не меняют состояние системы и используются только для вывода.

Выражения

Любой ввод, который не содержит в себе наименование какой-либо из команд, является выражением. Выражения состоят из операций выполнения (вызов функций) или присваивания (вызов функции с последующей записью результата в переменную).

Прежде чем приступить к синтаксису выражений стоит рассмотреть основные типы объектов.

Типы объектов

Saku поддерживает три базовых типа, объекты которых можно создать просто указав их значения в естественном виде.

Действительные числа:

>>> 3.14

Строки:

>>> "Привет мир"

Перечисления:

>>> 3, 4, 5, "Строка"

Объекты других типов создаются через специальные функции. К примеру: объект типа "файл" создаётся вызовом функции file() с указанием пути в качестве единственного аргумента:

>>> file("data/image.png")

Таковых конструирующих функций и ассоциируемых с ними типов существует множество. Получить полный список поддерживаемых типов вы можете с помощью команды "help".

Переменные

Переменная это ссылка на некоторый объект. Для создания новой переменной достаточно указать её имя и присвоить ей некоторое значение:

>>> pi = 3.14

Вывести значение переменной можно через указание её имени:

>>> pi
3.14

Созданные переменные храняться в вычислительном ядре. Для получения списка всех переменных используйте команду "variables":

>>> variables

Переменная может хранить в себе объект совершенно любого типа и принимать новые значения не ограничено от того, какого типа объект она хранила изначально:

>>> x = 3.14
>>> x = file("data/image.png")

При присваении значений одной переменной другой, выполняется копирование:

>>> a = 5
>>> b = a
>>> a = 6
>>> b
5

Для получения типа переменной можно использовать либо команду "variables", либо специальную функцию typeof():

>>> typeof(x)
"number"
>>> typeof("Петя")
"string"

Releases

No releases published

Packages

No packages published