Janino 2.7.8

Licença: Grátis ‎Tamanho do arquivo: 1.05 MB
‎Classificação dos utilizadores: 2.7/5 - ‎6 ‎votos

Janino é um super-pequeno, super-fastcompiler que lê uma expressão java, bloco ou arquivo de origem, e gera código java que é carregado e executado diretamente. Não se destina a ser uma ferramenta de desenvolvimento, mas um compilador incorporado para efeitos de compilação de tempo de execução, como avaliadores de expressão ou "páginas de servidor" motores como jSP. Propriedades O grande objetivo do design era manter o compilador pequeno e simples, ao mesmo tempo que sacrificava parcialmente a completude. Não gosto da ideia de carregar bibliotecas enormes para aplicações simples. Consulte Parser para obter a lista de funcionalidades linguísticas implementadas e em falta. Quando é que precisas de um avaliador de expressão eficiente? Digamos que se constrói um sistema de e-commerce, que calcula o custo de envio dos itens que o utilizador colocou no seu carrinho de compras. Como não conhece o modelo de custo de envio do comerciante no momento da implementação, pode implementar um conjunto de modelos de custos de envio que me vêm à mente (carga plana, em peso, por número de itens, ...) e selecionar um desses no tempo de execução. Na prática, certamente descobrirá que os modelos de custo de envio que implementou raramente corresponderão ao que o comerciante quer, pelo que deve adicionar modelos personalizados, que são específicos do mercador. Se o modelo do comerciante mudar mais tarde, tem de alterar o seu código, re-compilar e re-distribuir o seu software. Uma vez que isto é tão inflexível, a expressão de custos de envio deve ser especificada no tempo de execução, e não em tempo de compilação. Isto implica que a expressão deve ser digitalizada, analisada e avaliada em tempo de execução, razão pela qual precisa de um avaliador de expressão. Um avaliador de expressão simples analisaria uma expressão e criaria uma árvore "syntax". A expressão "a + b * c", por exemplo, compilaria em um "Sum" objeto que a primeira ópera é parâmetro "a" e quem é o segundo operand é a "Product" objeto que operands são parâmetros "b" e "c". Tal árvore de sintaxe pode ser avaliada relativamente rapidamente. No entanto, o desempenho do tempo de execução é cerca de 100 pior do que o do código java nativo.

história da versão

  • Versão 2.5.7 postado em 2002-11-09
    Atualize a página geral.

Detalhes do programa

EULA

EULA - Contrato de Licença de Utilizador Final

Janino - Um compilador de Java incorporado[TM] Copyright (c) 2001-2010, Arno Unkrig Todos os direitos reservados. Redistribuição e utilização em formas de origem e binárias, com ou sem modificação, são permitidas desde que as seguintes condições sejam cumpridos: 1. As redistribuições do código fonte devem conservar os direitos de autor acima referidos aviso, esta lista de condições e a seguinte isenção de responsabilidade. 2. As redistribuições em forma binária devem reproduzir o acima aviso de direitos autorais, esta lista de condições e os seguintes isenção de responsabilidade na documentação e/ou outros materiais fornecida com a distribuição. 3. O nome do autor não pode ser utilizado para apoiar ou promover produtos derivados deste software sem priores específicos permissão por escrito. ESTE SOFTWARE É FORNECIDO PELO AUTOR 'COMO É'' E QUALQUER EXPRESSO OU GARANTIAS IMPLÍCITAS, INCLUINDO, MAS NÃO LIMITADO A, O IMPLÍCITO GARANTIAS DE MERCADORIDADE E APTIDÃO PARA UM PROPÓSITO ESPECÍFICO SÃO DESPREOIADOS. EM NENHUM CASO O AUTOR DEVE SER RESPONSÁVEL por QUALQUER DIRETO, INDIRETO, INCIDENTAL, ESPECIAL, EXEMPLAR OU CONSEQUENTE DANOS (INCLUINDO, MAS NÃO LIMITADO A, AQUISIÇÃO DE SUBSTITUTOS BENS OU SERVIÇOS; PERDA DE UTILIZAÇÃO, DADOS OU LUCROS; OU NEGÓCIO INTERRUPÇÃO) NO ENTANTO CAUSADA E EM QUALQUER TEORIA DE RESPONSABILIDADE, SE NO CONTRATO, RESPONSABILIDADE SEVERA OU TORT (INCLUINDO NEGLIGÊNCIA OU CASO CONTRÁRIO) SURGIR DE QUALQUER FORMA FORA DO USO DESTE SOFTWARE, MESMO SE FOR AVISADO DA POSSIBILIDADE DE TAIS DANOS.