Janino 2.6.1
Janino is a useful compiler which reads a Java expression, block, or source file, and generates Java bytecode that is loaded and executed directly.
|
Janino is a useful compiler which reads a Java expression, block, or source file, and generates Java bytecode that is loaded and executed directly.
Janino is not intended to be a development tool, but an embedded compiler for run-time compilation purposes, such as expression evaluators or "server pages" engines like JSP.
The major design goal was to keep the compiler small and simple, while partially sacrificing completeness. I don't like the idea of carrying around huge libraries for simple applications. See Parser for the list of implemented and missing language features.
When do you need an efficient expression evaluator?
Say you build an e-commerce system, which computes the shipping cost for the items that the user put into his/her shopping cart. Because you don't know the merchant's shipping cost model at implementation time, you could implement a set of shipping cost models that come to mind (flat charge, by weight, by number of items, ...) and select one of those at run-time.
In practice, you will most certainly find that the shipping cost models you implemented will rarely match what the merchant wants, so you must add custom models, which are merchant-specific. If the merchant's model changes later, you must change your code, re-compile and re-distribute your software.
Because this is so unflexible, the shipping cost expression should be specified at run-time, not at compile-time. This implies that the expression must be scanned, parsed and evaluated at run-time, which is why you need an expression evaluator.
A simple expression evaluator would parse an expression and create a "syntax tree". The expression "a + b * c", for example, would compile into a "Sum" object who's first operand is parameter "a" and who's second operand is a "Product" object who's operands are parameters "b" and "c".
Such a syntax tree can evaluated relatively quickly. However, the run-time performance is about a factor of 100 worse than that of native Java code.
Janino features
Requirements
Limitations
tags
shipping cost run time numeric conversion that the the merchant local variable like new creation like the shipping not yet yet implemented invocation like expression evaluator

Download Janino 2.6.1
Authors software
Janino 2.6.1
Arno Unkrig
Janino is a useful compiler which reads a Java expression, block, or source file, and generates Java bytecode that is loaded and executed directly.
Similar software
Janino 2.6.1
Arno Unkrig
Janino is a useful compiler which reads a Java expression, block, or source file, and generates Java bytecode that is loaded and executed directly.
HybridJava compiler 1.09
Hybrid Server Pages Group
HybridJava compiler offers you an alternative to Java Server Pages (JSP).
Faltron Java Port Scanner 1.0
Faltronsoft
Faltron Java Port Scanner is a open source and very simple port scanner written in Java.
Java editor 1.12
Michael Kochiashvili
Java editor is a simple utility for java code editing.
JCavaj Java Decompiler 1.10
Sureshot
JCavaj Java Decompiler is a free and useful Java-based Java Decompiler that reconstructs the original source code from a compiled binary CLASS file.
Cavaj Java Decompiler 1.11
Sureshot
Cavaj Java Decompiler is a graphical freeware tool which reconstructs java source code from CLASS files.
JAppRun 1.19
Klaus Zerwes
JAppRun is a free and useful utility that was written to launch Java-Applications.
RegexSearch 1.4
Puckfist
RegexSearch is a Java application that searches multiple files for specified text or a regular expression.
Quick PopUp 1.0
Stephen Bissell
Quick PopUp is a Java popup generator for your web page.
DC3 Compiler - Interpreter 1.0
Lorenzi Davide
DC3 is a complete but limited (because I've neither the time nor the will to enhance it) VB like compiler/interpreter that can be used for learning how to create a complete and fully functional compiler.
Other software in this category
File Analyzer 1.6 12.10.2002
Vadim Tarasov
File Analyzer is a software application that can identify the format of a file, with what it was compiled, encrypted, packed, etc.
Snap 1.1
Fritz
This program is a multiplatform (9x,ME,NT4) Task/Window manager and MORE.
FileType v1.26
X-Fixer
FileType is intended to give the "first-look" file type information without any futher details.
CodeSnip 1.0
Dacris Software
CodeSnip helps you to increase your daily coding efficiency.
ExamDiff 1.6m
PrestoSoft
ExamDiff is a useful utility for visual file comparison.