Janino 2.7.8

Лицензии: Бесплатный ‎Размер файла: 1.05 MB
‎Рейтинг пользователей: 2.7/5 - ‎6 ‎Голосов

Janino — это супер-маленький супер-быстрыйкомпиллер, который читает файл Java-выражения, блока или источника и генерирует почтовый индекс Java, который загружается и выполняется непосредственно. Он предназначен не для разработки, а как встроенный компилятор для целей компиляции времени, таких как оценщики выражений или «квота;серверные страницы»; двигатели, такие как JSP. Вариантов размещения Основная цель дизайна состояла в том, чтобы сохранить компилятор небольшой и простой, частично жертвуя полнотой. Мне не нравится идея носить с собой огромные библиотеки для простых приложений. Смотрите Parser для списка реализованных и отсутствующих языковых функций. Когда вам нужен эффективный оценщик выражения? Скажем, вы строите систему электронной коммерции, которая вычисляет стоимость доставки для элементов, которые пользователь положил в свою корзину. Поскольку вы не знаете модель стоимости доставки продавца во время реализации, вы можете реализовать набор моделей стоимости доставки, которые приходят на ум (плоская плата, по весу, по количеству элементов, ...) и выбрать один из тех, на время выполнения. На практике вы наверняка обнаружите, что модели стоимости доставки, которые вы реализовали, редко соответствуют тому, чего хочет купец, поэтому вы должны добавить пользовательские модели, которые являются специфическими для продавца. Если модель продавца изменяется позже, необходимо изменить код, переработать и перераспространить программное обеспечение. Поскольку это так негибко, выражение стоимости доставки должно быть указано во время времени времени времени, а не во время компиляции. Это означает, что выражение должно быть отсканировано, проверено и оценено во время времени, поэтому вам нужен оценщик выражения. Простой оценщик выражения разбирает выражение и создает «квоту;синтаксисное дерево»;. Выражение «квота;a» b q qquot;, например, будет компиляция в «квоту;Сум»; объект, который первый оперенд является параметром «квота;а»квота; а кто второй оперенд – это «квота;Продукт»; объект, который оперирует, являются параметрами «квота;b»; Такое синтаксисное дерево можно оценить относительно быстро. Тем не менее, производительность времени выполнения примерно в 100 раз хуже, чем у родного Java-кода.

история версии

  • Версия 2.5.7 размещено на 2002-11-09
    Обновлена страница обзора.

Подробная информация о программе

Eula

EULA - Соглашение о лицензировании конечных пользователей

Янина - встроенный компилятор Java-TM Авторское право (c) 2001-2010, Арно Ункриг Все права зарезервированы. Перераспределение и использование в исходных и бинарных формах, с модификации, допускаются при условии, что следующие условия выполнены: 1. Перераспределение исходных кодов должно сохранять вышеуказанные авторские права обратите внимание, этот список условий и следующий отказ. 2. Перераспределения в двоичной форме должны воспроизвести вышеуказанное уведомление об авторском праве, этот список условий и следующие отказ от ответственности в документации и/или других материалах с распределением. 3. Имя автора не может быть использовано для продуктов, полученных из этого программного обеспечения без конкретных предварительных письменное разрешение. ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ АВТОРОМ 'AS IS', И ЛЮБОЕ ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ ТОРГОВОСТИ И ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ ОТРЕКАЮТСЯ. НИ В ОДНОМ СЛУЧАЕ АВТОР НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ ЗА ПРЯМЫЕ, КОСВЕННЫЕ, СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ, ОБРАЗЦОВЫЕ ИЛИ КОСВЕННЫЕ УБЫТКИ (ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ЗАКУПКИ ЗАМЕНИТЕЛЕЙ ТОВАРЫ ИЛИ УСЛУГИ; ПОТЕРЯ ИСПОЛЬЗОВАНИЯ, ДАННЫХ ИЛИ ПРИБЫЛИ; ИЛИ БИЗНЕС ПРЕРЫВАНИЯ), ОДНАКО, ВЫЗВАННЫЕ И НА ЛЮБОЙ ТЕОРИИ ОТВЕТСТВЕННОСТИ, БУДЬ ТО В ДОГОВОРЕ, СТРОГОЙ ОТВЕТСТВЕННОСТИ ИЛИ ДЕЛИКТА (ВКЛЮЧАЯ ХАЛАТНОСТЬ ИЛИ В ПРОТИВНОМ СЛУЧАЕ), ВОЗНИКАЮЩИХ КАКИМ-ЛИБО ОБРАЗОМ ИЗ ИСПОЛЬЗОВАНИЯ ЭТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ДАЖЕ ЕСЛИ СООБЩИЛИ О ВОЗМОЖНОСТИ ТАКОГО УЩЕРБА.