Choose Your Language: International US DE ES FR
Hello Guest Login Here or

Janino 2.7.7

Download 0 Screenshots 0 user reviews No Video

Janino Description

Janino - An embedded Java compiler that compiles expressions or scripts on-the-fly.

An embedded Java compiler that compiles expressions or scripts on-the-fly.

Janino is a compiler that reads a Java expression, block, or source file, and generates Java bytecode that is loaded and executed directly. It 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.


- Java JDK 1.3.1 or above


- assert (a JDK 1.4 language feature) is not implemented
- J2SE 5.0: Parametrized types (generics)
- J2SE 5.0: Enhanced FOR loop
- J2SE 5.0: Typesafe enums
- J2SE 5.0: Variable arguments
- J2SE 5.0: Annotations

Janino 2.7.7 is licensed as Freeware for the Windows operating system / platform. Janino is provided as a free download for all software users (Freeware).

User Reviews (0)

No reviews yet, be the first to add a review and we'll give you some extra points.
Related Software
jZebra 1.5.6
Because of its support for advanced HTML labels, the application enables you to print barcodes, receipts and more from a web page
2 / 2,010
Instantly see changes between two VBA projects.
4 / 479
PDF Content Split Batch 3.02
split on text information within many PDF's
2 / 346
Media Transfer Protocol Porting Kit 12.0
Easily Manage the Content on Any of Your Portable Storage Devices
7 / 1,483
Microsoft Visio 2013 Software Development Kit 1.0
Develop custom solutions for Microsoft Office Visio 2010 Beta.
4 / 745
MITCalc - Technical Formulas 1.19
Technical formulas / Units convertor
3 / 294