Janino 2.7.8
Vous pourrez télécharger en 5 secondes.
Sur Janino
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.