PCASTL - PCASTL

PCASTL
Парадигмаимператив, отражающий
РазработаноФилипп Шокетт
РазработчикФилипп Шокетт
Впервые появился2008; 12 лет назад (2008)
Стабильный выпуск
3.5 / 31 марта 2018 г.; 2 года назад (2018-03-31)
Операционные системыКроссплатформенность
ЛицензияСтандартная общественная лицензия ограниченного применения GNU
Интернет сайтwww.pcosmos.ca/ pcastl/
Под влиянием
C, р

В PCASTL (аббревиатура от Родительский и дочерний доступный язык синтаксического дерева) является интерпретируемым язык программирования высокого уровня. Он был создан в 2008 году Филиппом Шокеттом.[1] PCASTL предназначен для облегчения написания самомодифицирующийся код. В языке есть зарезервированные слова родитель и набор детей для доступа к узлам синтаксическое дерево написанного в настоящее время кода.[2]

Привет мир

"Привет, мир программа "довольно просто:

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

или

print ("Привет, мир!")

будет делать то же самое.

Синтаксис

Синтаксис PCASTL получен из языки программирования C и р. Источник р версия 2.5.1 была изучена для написания грамматика и лексер используется в интерпретаторе PCASTL.

Влияния

Как в р, операторы могут, но не обязательно, разделяться точка с запятой.[3] Как в р, а переменная можно изменить тип в сессия. Как в C и р, PCASTL использует сбалансированный кронштейны ({ и }) делать блоки.

Операторы найденные в PCASTL имеют такие же приоритет и ассоциативность как их коллеги в C.[2][4] для циклы определены как в C. ++ и -- операторы используются как в C для увеличения или уменьшения переменной до или после того, как она используется в своем выражении.

Пример PCASTL с использованием для зарезервированное слово и ++ оператор:

для (я = 1; я < 4; я++) Распечатать(я)

Функции и Комментарии в PCASTL определены как в р:

# определение функции (комментарий)а = функция(){   Распечатать("Привет мир!")}# вызов функцииа()

родительские и дочерние зарезервированные слова

Те зарезервированные слова могут быть записаны только в нижнем регистре и не будут распознаваться в противном случае. В родитель зарезервированное слово дает Справка к родительскому узлу в синтаксическое дерево кода, в котором размещено слово. В следующем коде родительский узел - это оператор =.

а = родитель

В переменная "а" будет содержать Справка к = узел. Следующий код показывает, как получить использованная литература к двум дочерним узлам оператор = с набор детей зарезервированное слово.

a.childset [0] a.childset [1]

В этом примере показано несколько способов отображения значения «a»:

aa.childset [0] .parenta.childset [1] .parenta.childset [0] .parent.childset [0] .parent # и так далее ...

В следующем коде: мы назначаем сегмент кода правому дочернему элементу = узел, мы выполняем = node во второй раз, и мы вызываем вновь определенную функцию.

a.childset [1] = `function () print (" hello ") 'execute (a) a ()

Смотрите также

использованная литература

  1. ^ "pcosmos.ca". Филипп Шокетт. Получено 2008-06-14.
  2. ^ а б «PCASTL: доступный язык синтаксического дерева для родительского и дочернего набора». Филипп Шокетт. Получено 2008-06-14.
  3. ^ "Введение в R". Основная команда разработчиков R. Получено 2008-06-14.
  4. ^ Hanly, Jeri R .; Эллиот Б. Коффман (1999). Решение проблем и разработка программ на C, третье издание. Эддисон-Уэсли. ISBN  0-201-35748-8.

внешние ссылки