Scriptol

Scriptol
Scriptol
Появился в:

12 октября 2001

Автор(ы):

Denis Sureau

Релиз:

Alpha A-30 (ноябрь 2006 года)

Типизация данных:

статическая и динамическая

Испытал влияние:

PHP, C++

Лицензия

Mozilla 1.1, Open source, BSD license.

Сайт:

http://www.scriptol.net/

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++ объектные файлы или библиотеки файлов, и используемые функции, которые они выполняют, не любое расширение необходимых для записи!
Например, нужно всего лишь импортировать библиотеки 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

Ссылки




Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Полезное


Смотреть что такое "Scriptol" в других словарях:

  • Scriptol — noun an object oriented programming language that uses an internal data structure based on XML …   Wiktionary

  • XAML — Vorlage:Infobox Dateiformat/Wartung/magic fehltVorlage:Infobox Dateiformat/Wartung/standard fehltVorlage:Infobox Dateiformat/Wartung/website fehlt Extensible Application Markup Language Dateiendung .xaml MIME Type application/xaml+xml …   Deutsch Wikipedia

  • Hello world program — Hello World redirects here. For the 2009 compilation album by Michael Jackson, see Hello World: The Motown Solo Collection. For the song by Lady Antebellum, see Hello World (song). A GUI Hello World program, written in Perl …   Wikipedia

  • History of programming languages — This article discusses the major developments in the history of programming languages. For a detailed timeline of events, see the timeline of programming languages. History of Programming Languages The first programming languages predate the… …   Wikipedia

  • Site map — A site map (or sitemap) is a representation of the architecture of a web site. [Peter Morville, Information Architecture on the World Wide Web , Feb 1998, pp:58] It can be either a document in any form used as a planning tool for web design, or a …   Wikipedia

  • Liste der Programmiersprachen — A A (Programmiersprache) A# A+ A 0 A 1 A 2 A 3 A9 AACC AADL AAIMS aal AAPL Aardappel AARDVARK Abacus ABACUS 10 ABACUS/X ABAP ActionScript Ada ADbasic AgentSpeak(L) Agilent VEE AHDL Aleph ALGOL (ALGOL 60, ALGOL W, ALGOL 68) Amber …   Deutsch Wikipedia

  • Список языков программирования — Списки языков программирования Алфавитный По категориям Хронологический Генеалогический Цель этого алфавитного списка языков программирования состоит в том, чтобы дать полный перечень всех существующих языков программирования, как используемых в… …   Википедия

  • Extensible Application Markup Language — Vorlage:Infobox Dateiformat/Wartung/MagischeZahl fehltVorlage:Infobox Dateiformat/Wartung/Standard fehlt Extensible Application Markup Language Dateiendung: .xaml MIME Type: application/xaml+xml …   Deutsch Wikipedia

  • Liste von Programmiersprachen — Inhaltsverzeichnis A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A A A# A+ …   Deutsch Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»