An embedded Java compiler that compiles expressions or scripts on-the-fly. #Compile expression #Compile script #Script compiler #Compile #Script #Compiler
Janino is a small, easy to use compiler that 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.
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.
System requirements
What's new in Janino 2.7.8:
- JANINO-186 Code size error message should include method name
Janino 2.7.8
add to watchlist add to download basket send us an update REPORT- runs on:
- Mac OS X (-)
- file size:
- 1 MB
- filename:
- janino-2.7.8.zip
- main category:
- Development
- developer:
- visit homepage
4k Video Downloader
Bitdefender Antivirus Free
Context Menu Manager
IrfanView
Microsoft Teams
ShareX
Windows Sandbox Launcher
Zoom Client
7-Zip
calibre
- Zoom Client
- 7-Zip
- calibre
- 4k Video Downloader
- Bitdefender Antivirus Free
- Context Menu Manager
- IrfanView
- Microsoft Teams
- ShareX
- Windows Sandbox Launcher