ЧП ПРОМКОД - Официальный сайт Телефоны ЧП ПРОМКОД: В Киеве: +38(044)38-38-773, В Херсоне: +38(0552)39-10-24

 Официальный сайт Частного предприятия «ПРОМКОД».

Поиск   
Главная :: О компании :: Контакты :: Обратная связь
  Навигатор:
Информация для клиентов
Доработки к Бухгалтерии для Украины ред. 1.2
Советы бухгалтеру
Язык программирования Перфолента.Net
  Все статьи

   >   >   >   > 



Перфолента.Net компилируемый язык со статической типизацией.

Перфолента, в отличие от интерпретируемых языков 1С, OneScript, Python, является компилируемым языком со статической типизацией, но с элементами динамической типизации, которая используется по мере необходимости. Подробности процесса компиляции и различные варианты применения описаны в этой статье.

Как и большинство языков программирования, язык Перфолента — это некий текст, записанный по строгим правилам, который переводится программой компилятором в готовый для выполнения процессором компьютера, в окружении подходящей операционной системы, машинный код.


Язык Перфолента компилируется в CIL.

Перфолента компилируемый язык, поэтому текст программы на нем, в отличие от интерпретируемых языков, полностью переводится на машинный язык перед выполнением.

Однако в архитектуре .Net, на которой базируется язык Перфолента, принята двухэтапная компиляция. Сначала компилятор Перфоленты переводит программу на промежуточный низкоуровневый язык CIL (Common Intermediate Language), представляющий из себя подобие машинного языка для некоторой виртуальной машины, а затем, при первом запуске программы (или по мере вызова методов программы), специальный JIT (Just In Time) компилятор платформы .Net переводит программу с промежуточного языка на машинный язык конкретного процессора, установленного в вашем компьютере.

Компилятор Перфоленты может запускаться из командной строки или из редактора кода, поставляемого в дистрибутиве.
Команда запуска из командной строки выглядит так:

pflc.exe myprogram.pfl

В результате, в папке программы образуется запускаемый файл EXE или библиотека DLL.

Статическая типизация.

Статическая, значит однажды определенная и больше не меняющаяся. Компилятор должен во время компиляции определить типы всех переменных, параметров методов, делегатов и других объектов. Если какой либо тип определить не удается, то компиляция прерывается и выдается сообщение об ошибке.

Однако, в языке имеется тип Объект, являющийся чем-то в виде контейнера для хранения объектов любого из других типов. Так вот, операции с типом Объект относятся к элементам динамической компиляции, когда тип операндов и сама возможность проведения операции определяются во время выполнения программы, а не во время её компиляции. Динамическая типизация ведет к значительному снижению скорости выполнения программы, но зато позволяет работать с типами о которых ничего не было известно при компиляции.

В следующем примере все переменные имеют тип Объект. В переменной о1 хранится вещественное число типа Вещ. В переменной о2 хранится целое число типа Целое. А вот в переменную о3 будет помещен результат сложения чисел двух разных типов, причем определение типов, которые необходимо сложить так же произойдет во время выполнения программы. Если между двумя типами операция сложения будет не определена возникнет исключение.

Перем о1 тип Объект = 4.3
Перем о2 тип Объект = 3
Перем о3 тип Объект = о1 + о2

Для получения максимальной скорости работы избегайте использования в программе типа Объект. Используйте его только при необходимости работать с типами данных о которых станет известно во время выполнения.



  Новости ПРОМКОД:
      27.10.2019 Обновился до версии 0.4 дистрибутив языка программирования Перфолента.Net
      23.07.2019 Опубликована первая пробная версия языка программирования Перфолента
      03.07.2018 На портале поддержки пользователей опубликованы внешние формы отчетов "Декларация по НДС, Уточняющий расчет по НДС"
      27.06.2018 На сайте поддержки пользователей опубликована информация о проблемных ситуациях в типовых конфигурациях для Украины
      21.06.2018 Выпущены новые релизы типовых конфигураций для Украины на платформе 1С:Підприємство 7.7
       Все новости ПРОМКОД

  Развлечения:
Загрузка...
 



Официальный сайт ЧП ПРОМКОД
Copyright (c) ЧП ПРОМКОД, 2014-2020