Главная
Новости
Строительство
Ремонт
Дизайн и интерьер

















Яндекс.Метрика





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", " "; } else { if($_I1==="n") { echo "no", " "; } else { echo "What?", " "; } } ?>

Примеры кода

Пример № 1

Простая программа «Hello World»

int main(int argsize, array arglist) print "Hello World " 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