Что такое PaxCompiler

  • Автор темы zNk
  • 7K
  • Дата начала

zNk

Пользователь
Регистрация
05.08.07
Сообщения
3
Реакции
0
Баллы
6
Собсно вопрос: Что такое PaxCompiler?

Это конечно глупый вопрос, но и тем не менее я с английским плохо дружу и меня интерисует этот компонент.

Собственно ещё по нему вопросы:
1. Это компилятор программ?
2. Для чего его исползуют/можно использовать?

Заранее спасибо за ответы на мои вопросы...
 

sparta

Пользователь
Регистрация
05.10.08
Сообщения
5
Реакции
0
Баллы
6
Да, забавный вопрос.
Если в своих неких разработках не пытаетесь ввести обработку скриптов (язык - выбор), не стоит вопрос с учетом мнения начальства - вытащщщить данные, где еще отчеты не были предусмотрены, то в принципе любой транслятор - это не для ВАС. Трансляторы - это некая свобода уйти от ограничения исполняемых файлов (учитывая, что на чем-то полную версию даже Вашего продукта установить Вы не можете).

Забавно, день не задался - краткий ответ - :)))
 
  • Мне нравится
Реакции: zNk

sparta

Пользователь
Регистрация
05.10.08
Сообщения
5
Реакции
0
Баллы
6
А вообще в чем плюс интерпретаторов: возможность сохранения вызова формы, отчета или некоей процедуры обработки данных в текстовом поле в базе данных (для пользования конкретным пользователем скажем в зависимости от уровня доступа, обученности и т.д.).
Минус - естественно ограниченность в использовании сторонних объектов, сторонних расширенний языка (а ведь есть и такие). Как-то вот так.
Считаю - ИНТЕРПРЕТАТОРЫ в теле вашей программы имеют право на жизнь. Они не продлевают, а расширяют возможности и увеличивают прикладность ваших программ.
Понимайте как надо оооооо:)))
 

Ognev

ex-Team DUMPz
Пользователь
Регистрация
20.08.04
Сообщения
100
Реакции
0
Баллы
56
Возраст
25
Адрес
В караганде
Если кто-то может написать расширенное описание по этому поводу, то это было бы полезно всем. Все остальное - пожалуйста во флейме.

Спасибо за понимание.
 

sparta

Пользователь
Регистрация
05.10.08
Сообщения
5
Реакции
0
Баллы
6
К сожалению, сил хватает только на общие рассуждения.
Сам шел по пути наследования форм. Сейчас нет времени - "СЛОЖНО ЖИТЬ СТАЛО - МОЖЕТ ПОСЛЕДНИЙ РАЗ ПЬЕМ" ((С)"Теория запоя"). Извините за флуд и отсутствие конкретики.
 

Sacrator

Пользователь
Регистрация
19.05.09
Сообщения
2
Реакции
0
Баллы
6
Возраст
44
Если вдруг найдутся люди, которые возьмутся за "расширенное описание по этому поводу", хотелось бы увидеть сравнительные характеристики различных компонентов для создания скриптов.

Дело в том, что в своей программе использую FastScript. Сейчас скрипт разросся до примерно 20 тыс. строк и его компиляция происходит оооочень медленно (примерно 5 мин. на достаточно производительном компьютере). После загрузки скрипта он висит в памяти и код выполняется быстро. Но затяжной старт программы напрягает.
В связи с этим задумываюсь последнее время над переводом своей программы на другой скриптовый компонент. Процесс перевода сам по себе очень не простой: придётся перевести сам скрипт на другой язык + каким то образом подключить к новому скриптовому компоненту несколько десятков функций, хранящихся в dll-ках. Чтобы эта работа не прошла в пустую хотелось бы услышать мнения людей о других скриптовых компонентах - насколько быстро они работают со скриптами больших размеров.
 

Shevyakov

Пользователь
Регистрация
18.06.09
Сообщения
2
Реакции
0
Баллы
6
Возраст
56
Про PaxCompiler

Ну как всегда на форумах - конкретный вопрос, а в ответ масса флудеров вообще слабо понимающих о чем идет речь.
Особо припечатало:
Считаю - ИНТЕРПРЕТАТОРЫ в теле вашей программы имеют право на жизнь. Они не продлевают, а расширяют возможности и увеличивают прикладность ваших программ.
Так и хочется спросить: кто кого продлил и куда расширил и что у него из за этого увеличилось???

Ну а теперь про PaxCompiler и FastScript.
Являясь зарегистрированным пользователем и того и другого, поработав с данными продуктами не один год, написав при этом массу полезного и не очень кода, по существу могу заявить следующее:
во-первых, PaxCompiler является полноценным КОМПИЛЯТОРОМ, а не интерпретатором как FastScript, встроенный язык 1C и иже с ними. Для тех, кто не понял в чем тут фишка - поясню. Интерпретатор работает следующим образом:
- производит парсинг полученного скрипта
- создает промежуточный P-код в понятной для себя последовательности инструкций
- а за тем выполняет (интерпретирует) эти команды СРЕДСТВАМИ ЯЗЫКА ПРОГРАММИРОВАНИЯ на котором был написан.

в отличие от него компилятор делает следующее:
- производит парсинг полученного скрипта
- создает набор команд для CPU вашего компьютера
- далее полученный двочный код выполняет процессор, так же, как он выполняет команды содержащиеся в EXE файле.

Так вот, FastScript это интерпретатор, а PaxCompiler компилятор (что вроде как и следует из названий данных продуктов). Поэтому сравнивать их всё равно что сравнивать Хаммер с Запорожцем. Ну раз просили, извольте. Возьмем простой Pascal script:
------------------------------------
var
i, j: integer;
c: TComponent;
begin
c := TComponent.Create(nil);
for i := 0 to 500000 do
if c.Tag = 0 then
begin
c.Tag := 0;
c.Name := 'a';
end;
c.Free;
end.
---------------------------------------
Как видите, ничего особого он не делает, но зато в цикле выполняет полмиллиона итераций подгружая работой процессор вашего компьютера. Выполним этот скрипт с помощью Delphi, PaxCompiler и FastScript и измерим время выполнения в тактах CPU.
На моем компьютере (Pentium IV Core Duo 2.2Ггц ) результаты следующие:
Delphi 2009 - 15 тактов
PaxCompiler - 78 тактов
FastScript - 1625 тактов
на мой взгляд, в плане производительности, PaxCompiler побеждает FastScript накаутом.

Но это еще не все. Очень важно не только то, насколько быстро работает тот или иной продукт, но и что он при этом может делать.

Вот официальное описание возможностей FastScript с сайта производителя:

поддержка OLE
variant массивы
мультиязычная архитектура, позволяющая использовать множество языков (в настоящее время - PascalScript, C++Script, JScript, BasicScript). Можете добавлять любые другие процедурно-ориентированные языки (их описание хранится в XML-формате)
возможность создания и исполнения многоязычных скриптов
стандартный языковой набор: переменные, константы, процедуры, функции (с возможностью вложенности) с переменными/постоянными/умалчиваемыми параметрами, все стандартные операторы и объявления (включая case, try/finally/except, with), типы (целый, дробный, логический, символьный, строковый, многомерные массивы, множество, универсальный тип), классы (с методами, событиями, свойствами, индексами и свойствами по умолчанию).
проверка совместимости типов.
доступ к любому объекту вашего приложения. Стандартные библиотеки для доступа к базовым классам, контролам, формам и БД. Легко расширяемая архитектура библиотеки.

Звучит вроде бы неплохо.... Но тут вопрос не в том что может FastScript, а в том чего он не может. А не может он следующее:
- объявлять в теле скрипта собственные типы (классы и record записи)
- не работает с типом Pointer
- не поддерживает множества
И НИКОГДА этому не научится. Потому что создавался как прикладуха для FastReport, всё что для этого продукта требовалось разработчики в FastScript уже воплотили и дальше развивать его не видят смысла. По крайней мере так меня официально заверил представитель компании FastRepot на одной из презентаций Delphi 2007. Оснований ему не доверять у меня нет, так как почитай второй год пошел, а в FastScript не одной существенной доделки так и не появилось.

Законный вопрос, ну а что может PaxCompiler?
Отвечу вопросом на вопрос: C Delphi 7 работали? Так вот, PaxCompiler может ровно всё то, что реализовано в языке Object Pascal данной версии и даже немного более.
Например поддерживает инструкции пространства имен (NameSpace) в Delphi данное объявление появилось только с версии Delphi 2005.
Кроме того, умеет загружать DFM файлы, что позволяет включать в скрипты формы написанные в Delphi, но это уже пожалуй не скрипты а полноценные программы....

Ну а лучше самим один раз увидеть, чем десять раз услышать:
FastScript - www.fast-report.ru
PaxCompiler - www.paxcompiler.com

Кстати, разработчиком PaxCompiler является Барановский Александр проживающий в городе Донецке ныне самостийной Украины. Мовой не балуется, русский разумеет в полном объеме, в связи с чем способен оказывать техподдержку зарегистрированных пользователей на всем нам хорошо понятном РУССКОМ языке.

Ну вот и все. Если у кого возникли вопросы, милости просим: [email protected]
 
Последнее редактирование модератором:

coolfox

Пользователь
Регистрация
19.04.09
Сообщения
2
Реакции
0
Баллы
2
Возраст
33
это забавно всё, и делая вывод то можно понять что не нада толком и дельфин если можно сделать под себя компилятор?)))

Добавлено через 3 минуты
это конешно же была шутка, но компонент то что надо=)
 
Последнее редактирование модератором:

AlexPirate

Пользователь
Регистрация
27.10.08
Сообщения
6
Реакции
0
Баллы
2
Позвольте поднять тему.

Можно ли с помощью PaxCompiler скомпилировать DLL с формой? Кто вкурсе?
 

mc_vlad2000

Пользователь
Регистрация
13.06.07
Сообщения
2
Реакции
0
Баллы
2
Возраст
42
Адрес
Cherkassy
с помошью paxcompiler делать можно почти все особено класно делать маленькие игры РПГные
 

AlexPirate

Пользователь
Регистрация
27.10.08
Сообщения
6
Реакции
0
Баллы
2
Меня все-таки интересует, как с помощью PaxCompiler'а скомпилировать DLL с включенной в нее формой. Брал пример из демо (DemoDLL) - длл-ка компилируется и работает отлично. Но стоит только включить в нее модуль с формой, так сразу лезут ошибки и никак тольком не могу скомпилировать ее. Методом тыка дошел до того, что в модуле надо прописать конструктор для формы - только тогда худо-бедно получается скомпилировать длл. Но при выгрузке длл-ки валятся AV.
Кто может позсказать/помочь в этом вопросе, может есть у кого простой пример кода компиляции длл с формой? Буду весьма признателен. (На форуме оф.сайта пока тишина).
 

basa1995

Пользователь
Регистрация
09.06.15
Сообщения
2
Реакции
0
Баллы
2
возможность сохранения вызова формы, отчета или некоей процедуры обработки данных в текстовом поле в базе данных (для пользования конкретным пользователем скажем в зависимости от уровня доступа, обученности и т.д.)
 

nikatinch

Пользователь
Регистрация
09.05.15
Сообщения
4
Реакции
0
Баллы
2
под XE8 совершенно не рабочий продукт, элементарный пример вызывает access violation. поддержка продукта только на словах, очень не советую!
 

Kustarnik

Пользователь
Регистрация
21.09.07
Сообщения
6
Реакции
0
Баллы
2
Собсно вопрос: Что такое PaxCompiler?

Это конечно глупый вопрос, но и тем не менее я с английским плохо дружу и меня интерисует этот компонент.

Собственно ещё по нему вопросы:
1. Это компилятор программ?
2. Для чего его исползуют/можно использовать?

Заранее спасибо за ответы на мои вопросы...
Это компилятор кода. Удобно использовать например для гибкой обработки данных, массивов данных, реализацией новых функций по обработке данных без перекомпиляции основного приложения.
 

kouvaev

Пользователь
Регистрация
23.03.09
Сообщения
16
Реакции
0
Баллы
6
Если вдруг найдутся люди, которые возьмутся за "расширенное описание по этому поводу", хотелось бы увидеть сравнительные характеристики различных компонентов для создания скриптов.
Дело в том, что в своей программе использую FastScript. Сейчас скрипт разросся до примерно 20 тыс. строк и его компиляция происходит оооочень медленно (примерно 5 мин. на достаточно производительном компьютере)...

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