Ekb-oskab.ru

Прием лома металлов

Seed7

06-09-2023

Seed7
Семантика:

императивный, объектно-ориентированный

Тип исполнения:

интерпретатор, компилятор

Появился в:

2005

Автор(ы):

Томас Мертес

Релиз:

05_20120401 (1 апреля 2012)

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

строгая, статическая

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

Ada, C/C++, Java

Seed7 — язык программирования общего назначения.

Главной особенностью языка является его расширяемость. Синтаксис языка определён в одной из библиотек и может быть изменён пользователем.

Содержание

Особенности

Язык синтаксически подобен Паскалю и Аде. В дополнении к стандартному Паскалю и ранним версиям Ады включает механизмы объектно-ориентированного программирования а также механизмы расширения языка: мощный механизм шаблонов для определения новых синтаксических конструкций (который, подобно Camlp4 (англ.)русск. включает средства позволяющие задавать ассоциативность и приоритет операций) и нечто вроде стандартных функций, позволяющих задавать семантику таких конструкций. Такие функции, выполняемые на этапе компиляции, принимают в качестве параметров переменные, типы и выражения, включаемые в синтаксические конструкции, и выполняют с ними необходимые преобразования. Если определяемая таким образом грамматика допускает двусмысленное толкование, генерируется ошибка компиляции.[1]

История

Томас Мертес начал разрабатывать этот язык обучаясь в Венском техническом университете[2]. Он стал в 1984 темой его дипломной работы[3], а затем, в 1986 — диссертации[4].

Примеры

Hello World
$ include "seed7_05.s7i";
const proc: main is
func
begin
  writeln ("hello world");
end func;

Реализация

Доступен в виде исходных кодов под лицензиями GPL и LGPL или готовых сборок под Windows. В пакет входит интерпретатор (файл hi) и компилятор (comp), генерирующий промежуточный код на языке Си.

См. также

Примечания

  1. Modern Extensible Languages → 8 Other Extensible Languages → 8.2 Seed7. — Hamilton, Ontario, Canada: McMaster University, April 11, 2007. — С. 16.
  2. Entwurf einer erweiterbaren höheren Programmiersprache (нем.), Thomas Mertes, 1984, Diplomarbeit, Institut für Computersprachen Programmiersprachen und Übersetzer
  3. Definition einer erweiterbaren höheren Programmiersprache (нем.), Thomas Mertes, 1986, Dissertation, Institut für Computersprachen Programmiersprachen und Übersetzer

Литература

  • Пётр Семилетов Таинственный незнакомец: язык программирования Seed7 // Open Source (приложение к журналу «Системный администратор»). — 16 ноября 2011. — В. 95. — С. 5-7.

Ссылки

  • seed7.sourceforge.net/ — официальный сайт Seed7


Seed7.

© 2018–2023 ekb-oskab.ru, Россия, Челябинск, ул. Горького 53, +7 (351) 992-98-28