Janino é um super-pequeno, super-fastcompilador que lê uma expressão Java, bloco ou arquivo de origem, e gera código de armazenamento Java que é carregado e executado diretamente. Não se destina a ser uma ferramenta de desenvolvimento, mas um compilador incorporado para fins de compilação em tempo de execução, como avaliadores de expressão ou "páginas de servidor" motores como JSP. Propriedades O principal objetivo do projeto era manter o compilador pequeno e simples, enquanto sacrificava parcialmente a completude. Eu não gosto da ideia de carregar bibliotecas enormes para aplicações simples. Consulte Parser para obter a lista de recursos de linguagem implementados e ausentes. Quando você precisa de um avaliador de expressão eficiente? Digamos que você construa um sistema de e-commerce, que calcula o custo de envio dos itens que o usuário colocou em seu carrinho de compras. Como você não conhece o modelo de custo de envio do comerciante na hora da implementação, você pode implementar um conjunto de modelos de custo de envio que vêm à mente (carga plana, em peso, em número de itens, ...) e selecionar um daqueles em tempo de execução. Na prática, você certamente descobrirá que os modelos de custo de envio que você implementou raramente corresponderão ao que o comerciante quer, então você deve adicionar modelos personalizados, que são específicos para o mercador. Se o modelo do comerciante mudar mais tarde, você deve alterar seu código, re compilar e re-distribuir seu software. Por isso ser tão inflexível, a expressão do custo de envio deve ser especificada no tempo de execução, não na hora do compilado. Isso implica que a expressão deve ser digitalizada, analisada e avaliada em tempo de execução, razão pela qual você precisa de um avaliador de expressão. Um simples avaliador de expressão analisaria uma expressão e criaria uma árvore "sintaxe". A expressão "a + b * c", por exemplo, compilaria em a "Sum" objeto quem é o primeiro operando é parâmetro "a" e quem é o segundo operando é um "Product" objeto quem 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 um fator 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 de visão geral.
Detalhes do programa
- Categoria: Desenvolvimento > Outros
- Editor: Arno Unkrig
- Licença: Livre
- Preço: N/A
- Versão: 2.7.8
- Plataforma: windows