- Язык имеет динамическую типизацию
- TODO: придумать что нибудь еще :)
Для сборки проекта необходим компилятор поддерживающий С++ 17, а так же, опционально, .NET Core 2.2 для сборки проекта автотестов.
Для сборки под Windows рекомендуется использовать Visual Stutio 2017 и выше.
Для сборки под Linux - gcc 7.0 и выше или clang 4.0 и выше.
Решение некоторых известных проблем при сборке проекта
При сборке проекта под Windows с помощью Visual Studio может появиться сообщение о несоответствии версии Windows SDK.
Вы можете либо обновить установленный у вас Windows SDK, либо выбрать ту версию, которая установлена у вас.
Это никак не отразится на работоспособности интерпретатора.
Для выполнения скрипта необходимо передать путь к файлу в параметрах интерпретатора:
Scripty.exe -f /path/to/your/script.vsc
for ( <initialization>
; <condition>
; <increment>
) <block>
while <condition>
<block>
do (<block>
) while <condition>
if (<condition>
) <block>
if (<condition>
) <block>
else <block>
return [<expression>
]
break
continue
var <name>
[= <expression>
]{, <name>
[= <expression>
]}
function <name>
(<parameters>
) <block>
Array
var array = [1, 2.5, "hello", {a: 3, b: 42}];
Object
var object = {
str: "string",
number: 42,
bool: true
};
String
var string1 = "Hello, World";
var string2 = 'Hello, World';
Number
var number = 3.1415;
Boolean
var bool = true;
Functions
function isOdd(number) {
return number % 2;
}
# Однострочный комментарий
/*
Многострочный
комментарий
*/
Бинарные
+
- сложение-
- вычитание*
- умножение/
- десятичное деление%
- получение остатка от целочисленного деления//
- целочисленное деление
Унарные
+
- унарный плюс. Например:+2
-
- унарный минус. Например:-6
Составные
+=
,-=
,*=
,/=
,%=
,//=
Логические
==
,>=
,<=
,<
,>
,&&
,||
,!
- Константы
- Лямбда-функции
- Uniform Function Call Syntax
- Модули
- Возможность работы с динамическими библиотеками написанными на C/C++
- Range (диапазоны) и Range-based for loop
- Нормальнй вывод об ошибках парсинга и выполнения скрипта
- Контроль количества параметров передаваемых в функцию
- Добавить больше стандартных функций