Home Page

Janino 2.7.8 - Download




About Janino

Janino is a super-small, super-fast 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...

Janino is a super-small, super-fastcompiler 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.

Properties

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.



Previous Versions

Here you can find the changelog of Janino since it was posted on our website on 2015-04-26 03:00:00. The latest version is 2.7.8 and it was updated on 2024-04-22 15:13:34. See below the changes in each version.

Janino version 2.5.7
Updated At: 2002-11-09
Changes: Updated the overview page.


Related Apps

Here you can find apps that are similar with Janino.



Disclaimer

External Download


We do not host Janino on our servers. We did not scan it for viruses, adware, spyware or other type of malware. This app is hosted by the software publisher and passed their terms and conditions to be listed there. We recommend caution when installing it.

The external download link for Janino is provided to you by apps112.com without any warranties, representations or guarantees of any kind, so access it at your own risk.

If you have questions regarding this particular app contact the publisher directly. For questions about the functionalities of apps112.com contact us.

BarCode2D-PNG


Click stars to rate this APP!

Users Rating:  
  2.7/5     6
Downloads: 331
Updated At: 2024-04-22 15:13:34
Publisher: Arno Unkrig
Operating System: Win95,Win98,WinME,WinNT 3.x,WinNT 4.x,Windows2000,WinXP,Win7 X32,WinVista,Unix,Linux,Mac PPC
License Type: Free