Download Software at Techsoft World
Search Site:
        Software Downloads    •    Computer Books    •    Technology Links    •    Industry News     •    TechSoft World    •    Submit Software
  home > programming tools > compilers > janino

Janino

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.

Properties

The major design goal was to keep the compiler small and simple, while partially sacrificing completeness. Ido notlike 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 youdo notknow the merchants 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 merchants 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 whos first operand is parameter a and whos second operand is a Product object whos 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.

Get:Janino
Publisher:Visit Arno Unkrig
Reviews:Janino Reviews

 
  Compilers
    Download 
    Read Review 
    Submit Review 

TSW Sponsor
Easy Backup

 Computer Books Computer Books
    Applications
    Certification
    Email Books
    General Networking
    Network Protocols
    Operating Systems
    Programming
    Software Design
    Server Books
 Technology News Industry News
     Antivirus Alerts
     Internet News
     IP and Patents
     Technology News
     Financial News
 Techo Links Technology Links
    Computer Science
    Hardware
    Internet
    Security
    Software
    Systems
 About TechSoft World About TSW
    Advertising
    Contact TSW
    Get Featured
    Submit Software
    TOS/AUP/Disclaimer

AUP/Disclaimer/TOSVisit TechSoft World for free software downloads, computer books, industry news and technology links.© 2004 TechSoft World