Категории программ

Новые программы

GNU Pascal

13 Лютого, 2015 0

GNU Pascal – свободно распространяемый компилятор языка Pascal для 32/64-битных платформ, входящий в семейство компиляторов GNU. Реализован в виде фронтенда к GCC (GNU Compiler Collection), но не является его частью.

Поддерживаемые платформы GNU Pascal

ix86-gnu (GNU Hurd)
ix86-linux (Linux 2.x, ELF)
i486-linuxaout
i486-linuxoldld
i386-freebsd1.2.0
AIX 4.2.1
AIX 4.3
DJGPP V2 (Dos)
EMX 0.9B (OS/2, Dos)
Cygwin32 beta20 и выше (Microsoft Windows95/98, Microsoft Windows NT)
mingw32 (Microsoft Windows95/98, Microsoft Windows NT)
MSYS (Microsoft Windows)
mips-sgi-irix5.3
mips-sgi-irix6.5
sun-sparc-sunos4.1.4
sparc-sun-solaris2.x
sun-sparc-solaris 2.5.1
sun-sparc-solaris 2.6
sun-sparc-solaris 7
sun-sparc-solaris 8
alpha-unknown-linux
alpha-dec-osf4.0b
s390-ibm-linux-gnu

Поддерживаемые операционные системы GNU Pascal

GNU Hurd;

Linux on Intel, Alpha, S390, и все другие поддерживаемые типы оборудования;

Семейство BSD: FreeBSD, NetBSD, OpenBSD;

DOS в 32 битном режиме, используя DJGPP или EMX;

Microsoft Windows 9x/NT, используя Cygwin или MinGW или MSYS;

OS/2, используя EMX;

Mac OS X;

MIPS-SGI-IRIX;

Alpha-DEC-OSF;

Sparc-Sun-Solaris;

HP/UX.

Может служить кросскомпилятором, перенося код между этими системами. Генерирует код очень высокого качества для всех этих систем. Является свободным программным обеспечением в соответствии с GNU. Совместим с другими средствами отладки и разработки, такими как GNU C, gdb и т. п..

Поддерживаемые языковые конструкции GNU Pascal

  • Поддержка массивов в качестве параметров процедуры и функции в виде Arr: array[a..b] of Integer – где a и b показывают начало и конец массива Arr
  • Возможность передачи локальных процедур в качестве параметров с полным доступом ко всем переменным родительской процедуры
  • Автоматические file, расширяющие возможность процедур Put и Get
  • Восемь булевых элементов, упакованных в массив или структуру, занимают ровно один байт
  • Поддержка временных файлов: вам не нужно думать об имени файла и его удалении потом
  • Глобальное goto: Вы можете переходить когда угодно и куда угодно, не ограничиваясь текущей процедурой
  • Автоматическая настройка параметров и вариантов записей в New
  • Set без ограничений на размер
  • Строки неограниченной длины;
  • ReadStr, WriteStr – запись и чтение в строку, как WriteLn, ReadLn
  • Системонезависимые time/date-подпрограммы
  • Итерации по множеству: for Ch in [‘A’ .. ‘Z’, ‘a’ .. ‘z’] do …
  • Расширенная поддержка множеств
  • Создание Succ и Pred-функций: Foo := Succ (Bar, 5)
  • Комплексные числа
  • Операторы для возведения в степень с поддержкой комплексных чисел
  • Начальная инициализация переменных
  • Функции могут возвращать массивы и структуры
  • Поддержка модулей
  • Поддержка не-десятичных чисел в стиле: основание#число
  • MinReal, MaxReal, EpsReal, MaxChar – константы
  • Поддержка динамических массивов без грязных трюков
  • Локальные параметры могут иметь задаваемый только при входе в процедуру размер (динамический размер)
  • Доступ лишь к части массива в левой части присваивания: Arr1(3..5) := Arr(4..6);
  • Поддержка units, objects и т. п.. Даже трюки в стиле absolute сделаны портируемыми.
  • Поддержка полного набора стандартных units
  • Поддержка сетевого CRT: программа может выполняться на одном компьютере, а результат её работы быть виден на другом, здесь есть также поддержка перекрывающихся окон
  • Процедура Random производит даже такую же последовательность случайных чисел, как и BP Random()
  • Поддержка процедурных переменных в стиле BP
  • Поддержка массивов и процедур, позволяющих вести доступ к I/O портам процессора
  • Распространяется с binobj программой, работающей как на BP
  • Абстрактные типы и методы
  • Комментарии в стиле //
  • Пустой список параметров: ()
  • Поддержка утверждений (assertions)
  • Initialize и Finalize для управления переменными на низком уровне
  • Секции Initialize и Finalize для модулей
  • Определяемые пользователем операторы. Например, сложение векторов простым оператором «+».
  • 64-битные знаковые и беззнаковые целочисленные типы
  • Поддержка выполнения кода других языков программирования
  • Вставка Pascal-кода в другие языки программирования
  • Поддержка процедур BitSizeOf(), ConvertFromBigEndian() и т. п. для повышения портируемости программ на другие платформы
  • Поддержка DirSeparator, PathSeparator, GetTempDirectory сделают программу более портабельной
  • PExecute – портабельный запуск программ для многозадачных систем
  • Функции FSplit, FSearch, FExpand – знают об особенностях операционной системы
  • FormatTime – выдаёт время по определённым правилам

GNU Pascal

Ссылки

Сайт GNU Pascal

Скачать GNU Pascal

Компиляторы , Разработчику , Средства разработки

Оставить комментарий