Scriptol
| Scriptol | |
|---|---|
| Класс языка | язык программирования |
| Появился в | 12 октября 2001 |
| Автор | Denis Sureau |
| Выпуск | Scriptol 3 (2016) |
| Система типов | статическая и динамическая |
| Испытал влияние | PHP, C++ |
| Лицензия | Mozilla 1.1, Open source, BSD license. |
| Сайт | scriptol.com/scriptol/ |
Scriptol — современный простой язык программирования.
Обзор
Scriptol разрабатывался как простой, безопасный и универсальный язык программирования, позволяющий создавать динамические веб-страницы, сценарии и исполняемые приложения. Scriptol интегрирует XML в качестве источника или загружаемого файла. Является современным, объектно-ориентированным, процедурным языком. Scriptol компилируется в PHP компилятором Scriptol PHP. Компилятор превращает скрипт Scriptol в код PHP или HTML-страницу с внедренным Scriptol, содержащие PHP-инструкции. По сути, он превращает PHP в виртуальную машину или сервер функций и данных, байткодом для которого является язык PHP. Ядро языка общее для PHP и C++, что позволяет использовать один и тот же язык программирования и для веб-страниц, и для приложений. Наряду с прозрачностью, читаемостью и безопасностью, обеспечиваемыми синтаксисом, Scriptol сокращает время разработки, проверяя ошибки на стадии компиляции.
Scriptol был создан в соответствии с семью правилами: простота, безопасность, соответствие стандартам, объективность, несколько направлений, мобильность, легкое обучение. Scriptol программа может быть построена как исполняемый файл. Управляющие структуры более мощные и отличаются от классических языков, что позволяет эффективнее использовать шаблоны и автоматов (DFA). Безопасность является одной главной целью языка.
Компилятор бесплатен для независимых разработчиков, лицензия требуется только для компаний. Сайт разработчиков — www.scriptol.com.
Описание языка программирования Scriptol
Scriptol является современным языком программирования, предназначенным для простой и легкой разработки, что сказывается на сроках создания, высоком качестве и безопасности проектов. Scriptol является объектно-ориентированным, XML-ориентированным, расширяемым, универсальным, использует C++, PHP, Java API и GTK для графического интерфейса пользователя. Scriptol универсален, что означает, что удобен для сценариев, для создания приложений или для динамических веб-страниц. Бесплатный интерпретатор и компилятор языка Scriptol доступны на Windows и Unix.
Особенности Scriptol
- современный: был разработан в соответствии с семью правилами простоты, безопасности и не несет устаревшего синтаксиса.
- универсальный: подходит для приложений, скриптов или веб-страницы.
- объектно-ориентированный: даже примитивные типы данных, такие как «Int» (например, 123), являются объектом и имеет методы.
- приведение типов: компилятор может проверить программу и тип переменных, это не представляется возможным с обычно нетипизированных языков сценариев.
- естественный: типы переменных не на основе компьютерного оборудования, а на человеческом понимании или математическом множестве: это text, number, integer, real и т.д…
- мощный и безопасный: введены новые структуры управления
Примеры: - композитный if, который является одновременно if оператором и switch case с любым типом значения. - while let, что защищает от бесконечного цикла. - for .. in массиве, или for .. in a..b, самый простой способ работы с интервалами.
- простой: нет символов as -> or ::, просто точка в любом случае.
Добавить 1 к х: х + 1, а не х += 1. Не требуется управления памятью, т.к. есть сборщик мусора.
- совместим с C++: у вас есть только ссылка на C++ объектные файлы или библиотеки файлов, и используемые функции, которые они выполняют, не любое расширение необходимых для записи!
Например, нужно всего лишь импортировать библиотеки GTK в файл конфигурации Scriptol для использования GTK-интерфейса...
- PHP совместим: вы можете запрограммировать веб-страниц в Scriptol, ваш код сконвертируется в PHP, и все функции PHP также могут быть использованы.
- портативный: работает на любой PHP или Си совместимой платформе.
- XML-ориентированный: XML-документ является структурой данных языка и модель DOM является классом интегрированной библиотеки. Использование XML становится чрезвычайно простым со Scriptol.
- многозадачный. Функция может возвращать несколько значений.
- индексированные или ассоциативные массивы.
- можно использовать API-интерфейсы в PHP, Java или C++.
Зачем использовать Scriptol?
В основном для:
- встраивания кода в страницы HTML. Он будет работать на любом сервере. Использование PHP 4.
- защиты кода путём распределения исполняемого файла.
- легкой и быстрой разработки сценариев, благодаря синтаксису высокого уровня. Это чистый и мощный язык, очень интуитивный.
- создания прототипов, проверки Scripts-программ и C-кода интерпретатором, прежде чем получаем исполняемый файл для включения в крупный проект.
- создания приложений и веб-приложений: Scriptol может быть интегрирован в инструменты быстрой разработки приложений и может использовать кросс-платформенной GUI-библиотек GTK. Scriptol не нужен для Makefile или любого файла проекта. Scriptol-скрипты могут быть скомпилированы в PHP, поэтому он является портативным. Компилятор обнаруживает ошибки перед запуском программы.
- обработки документов, сохраненных как XML, и другими приложениями.
- формирования XML-документов или HTML-страниц из любого источника.
- создания и использования баз данных и легкого связывания какой-либо обработки данных.
Также может быть использована вместе с RAD (Rapid Application Development) инструментом, таким как C++ Builder или Visual Studio.
Язык
Синтаксис
- Выражения заканчиваются концом строки
- Аналогично XML-признак конца структуры: /if, /while и т.д…
- Каждый оператор имеет только одно использование, а не несколько соответствий в контексте, как в C.
- Скалярные типы данных из реальной жизни: text, number, real и т.д…
- Соединение выражения имеет вид:
x + 1 // равнозначно: x = x + 1
Структуры данных
Scalars, xml, class.
Управляющие структуры
- if … else, composite if
- for … in … step
- while … let
- do case … while, do case … until
- scan by
- break, continue, return
Обратите внимание, что Scriptol не использует switch case, потому что if достаточно мощный для обработки различных видов условий и фактически более мощный, чем switch case, поскольку он может использовать различные операторы сравнения.
Композитный If
if a
= 10: print "equal"
< 10: print "less"
else
print "more"
/if
While
В то время как структура имеет несколько форм, let защищает от бесконечного цикла.
while x < 10
print x
let x + 1
Определение функций
Заголовок похож на С, но несколько типов могут быть возвращены одновременно. Завершается return оператором и только ключевым словом, если ничего не возвращается.
int, text funcname(... arguments...)
...statements...
return a, b
Сравнение кода Scriptol и PHP
Код Scriptol является интуитивно понятным и простым. Вместо этого синтаксис PHP подобен Си, Perl и языкам командной оболочки UNIX(Bash), направленным на ограничение потребления ресурсов, а не для упрощения задачи программистов.
Код Scriptol:
text x
input "Y/N?", x
if x.lower()
= "y"
print "yes"
= "n"
print "no"
else
print "What?"
/if
Сгенерированный код PHP:
<?php
$x="";
echo "Y/N?";
$fp=fopen("php://stdin","r");
$x=rtrim(fgets($fp,65536));
fclose($fp);
$_I1=strtolower($x);
if($_I1==="y")
{
echo "yes", "\n";
}
else
{
if($_I1==="n")
{
echo "no", "\n";
}
else
{
echo "What?", "\n";
}
}
?>
Примеры кода
Пример № 1
Простая программа «Hello World»
int main(int argsize, array arglist)
print "Hello World\n"
return 0
main($argc, $argv)
Пример № 2
constant int fmax = 16
int z
int fib(int n)
if n <= 1
z = n
else
z = fib(n - 1) + fib(n - 2)
/if
return z
for int i in 0..fmax
print "fib($i)= " , fib(i)
/for
Пример № 3
Внедрение кода Scriptol в HTML:
<html>
<head> </head>
<body>
<?sol
print "code embedded inside html!"
?>
</body>
</html>
Пример № 4
Слияние и отображение списков:
listdemo = (1,2,3) + (4,5)
subdemo = listdemo[1..3]
scan subdemo
print subdemo[]
/scan
>>> should print: 2 3 4
Пример № 5
«99 бутылок пива» демонстрирует простейшее применение циклов:
text bottle(int n)
if n = 0 return "no more bottles of beer"
return text(n) + " bootle" + plural(n) + " of beer"
text b1
for int i in 99 -- 0 step -1
b1 = bottle(i)
if i > 0
print b1, "on the wall,", b1 + ","
print "take one down, pass it around,"
print bottle(i - 1), "on the wall."
/if
/for
Ссылки
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.