Janino 2.7.8

Licence: Gratuit ‎Taille du fichier: 1.05 MB
‎Note des utilisateurs: 2.7/5 - ‎6 ‎Votes

Janino est un super-petit, super-fastcompiler qui lit une expression Java, bloc, ou fichier source, et génère java bytecode qui est chargé et exécuté directement. Il n’est pas destiné à être un outil de développement, mais un compilateur intégré à des fins de compilation de temps d’exploitation, tels que les évaluateurs d’expression ou "server pages" moteurs comme JSP. Propriétés L’objectif principal de conception était de garder le compilateur petit et simple, tout en sacrifiant partiellement l’exhaustivité. Je n’aime pas l’idée de transporter d’énormes bibliothèques pour des applications simples. Consultez Parser pour la liste des fonctionnalités linguistiques implémentées et manquantes. Quand avez-vous besoin d’un évaluateur d’expression efficace? Disons que vous construisez un système de commerce électronique, qui calcule le coût d’expédition pour les articles que l’utilisateur a mis dans son panier. Parce que vous ne connaissez pas le modèle de coût d’expédition du commerçant au moment de la mise en œuvre, vous pouvez implémenter un ensemble de modèles de coûts d’expédition qui viennent à l’esprit (frais fixes, par poids, par nombre d’articles, ...) et sélectionnez l’un de ceux à l’heure d’exécution. Dans la pratique, vous trouverez très certainement que les modèles de coûts d’expédition que vous avez mis en œuvre correspondra rarement à ce que le commerçant veut, de sorte que vous devez ajouter des modèles personnalisés, qui sont spécifiques aux commerçants. Si le modèle du commerçant change plus tard, vous devez modifier votre code, re compiler et re-distribuer votre logiciel. Étant donné que cela n’est pas flexible, l’expression des coûts d’expédition doit être spécifiée au moment de l’exécuter, et non au moment de la compilation. Cela implique que l’expression doit être numérisée, analyse et évaluée à l’heure d’été, c’est pourquoi vous avez besoin d’un évaluateur d’expression. Un évaluateur d’expression simple parserait une expression et créerait un arbre "syntaxe". L’expression "a + b * c", par exemple, se compilerait en un "Sum" objet qui est le premier operand est paramètre "a" et qui est le deuxième operand est un "Product " objet qui opérandes sont paramètres "b" et "c". Un tel arbre syntaxique peut être évalué relativement rapidement. Toutefois, les performances de temps d’exécution est d’environ un facteur de 100 pire que celui du code Java natif.

historique de la version

  • Version 2.5.7 posté sur 2002-11-09
    Mise à jour de la page d’aperçu.

Détails du programme

Cluf

EULA - Accord de licence utilisateur final

Janino - Un compilateur Java[TM] intégré Droit d’auteur (c) 2001-2010, Arno Unkrig Tous les droits réservés. Redistribution et utilisation sous forme source et binaire, avec ou sans modification, sont autorisées à condition que les conditions suivantes sont remplies : 1. Les redistributions du code source doivent conserver le droit d’auteur ci-dessus cette liste de conditions et la clause de non-responsabilité suivante. 2. Les redistributions sous forme binaire doivent reproduire ce qui précède droit d’auteur, cette liste de conditions et les avertissement dans la documentation et/ou d’autres documents distribution. 3. Le nom de l’auteur ne peut pas être utilisé pour approuver ou promouvoir produits dérivés de ce logiciel sans autorisation écrite. CE LOGICIEL EST FOURNI PAR L’AUTEUR ''AS IS'' ET TOUTE GARANTIES IMPLICITES, Y COMPRIS, SANS S’Y LIMITER, LES GARANTIES IMPLICITES GARANTIES DE MARCHANDITÉ ET D’APTITUDE À DES FINS PARTICULIÈRES SONT DÉSAVOUÉS. EN AUCUN CAS L’AUTEUR NE SERA RESPONSABLE D’UNE DIRECT, INDIRECT, ACCESSOIRE, SPÉCIAL, EXEMPLAIRE OU CONSÉQUENT DOMMAGES-INTÉRÊTS (Y COMPRIS, SANS S’Y LIMITER, L’ACHAT DE BIENS OU SERVICES; PERTE D’UTILISATION, DE DONNÉES OU DE PROFITS; OU LES AFFAIRES INTERRUPTION) CEPENDANT CAUSÉE ET SUR TOUTE THÉORIE DE LA RESPONSABILITÉ, SI DANS LE CONTRAT, LA RESPONSABILITÉ STRICTE OU LE DÉLIT (Y COMPRIS LA NÉGLIGENCE OU DANS LE CAS CONTRAIRE) DÉCOULANT EN AUCUNE FAÇON DE L’UTILISATION DE CE LOGICIEL, MÊME S’IL EST INFORMÉ DE LA POSSIBILITÉ DE TELS DOMMAGES.