Janino
Janino 2.5.14 in Business / Databases & Tools
|
|
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.
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. 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 Related Downloads
4IE iMacros Web Macro Recorder 6.0
iMacros relieves the repetition of checking on the same sites every day, remembering passwords and filling out web forms or web scraping. Web professionals can use the software for functional testing and regression web testing of web applications.
Abyss Web Server X1 2.5
Abyss Web Server X1 is a free and compact web server. It supports SSL, CGI/FastCGI, ISAPI, SSI, ASP.NET, URL rewriting, bandwidth throttling, anti-leeching, anti-hacking, and features an intuitive multilingual remote web management interface.
AccDbMan Lite 2.12
Access Database Manager (AccDBMan) is an application designed to help you with Manage Microsoft Access Database files (like MDB or MDE) without having the full version of Microsoft Access installed.
Active Query Builder Free Edition 1.8
Active Query builder is a component suite which gives your end-users the ability to create complex SQL queries via an intuitive visual interface. Active Query Builder can be used in almost any software and it is absolutely free!
Advanced FTP 2.05
FTP client including file filters, common file save list, sorting, and all FTP features.
Alien War - Web Page Edition 1.4
Alien War is an arcade style shoot-em up game. A freeware java game which you may play here or freely add to your own web pages. Full instructions for adding to your own web pages are included.
Ariacom Business Reports 4.3c
Easy-to-use database reporting and multi-dimensional analysis tool with dynamic SQL generation.-Generation of complex reports integrating cross tables-Native line, bar, point and pie charts-Output to file, printer, fax, email, ftp
AXGate 1.1.0.0
Allows the HTML pages in Pocket IE script any ActiveX without compromising the device security. The components you want to access are listed in profiles and accessed in packets. User permission or internal authentication can be configured.
Databases & Tools Popular Downloads
EMS SQL Manager for MySQL Freeware 4.3
EMS SQL Manager Lite for MySQL is an excellent freeware graphical tool for MySQL Server administration. It has minimal required set of instruments for those users who are new to MySQL server and need only its basic functionality.
DreamCoder for Oracle Free Edition 3.0.2.5
DreamCoder for Oracle is a free powerful Integrated Development Environment and administration tool for Oracle Databases.
DB Cruiser 6.0.1
DB Cruiser is a leading web based database tool with reporting and data importing functionality. Easy to use and securely access to all SQL databases.
FlySpeed SQL Query 1.2.5
FlySpeed SQL Query is an easy-to-learn-and-operate graphical tool to work with data for all database users and developers. It works with almost any database server and allows you to build queries without needing deep knowledge of SQL syntax.
e-SoftEasy Business Analytics 2.0
Create HTML/PDF Reports/Charts from multiple Database Servers. Filter, sort and group your data in any way ,create queries using your SQL knowledge, create master reports, design powerful ad hoc reports, show easily all your data though Web browser.
Crack Killer 1.20
Crack Killer is an application that allows software authors to track and report web sites hosting cracks, serials and pirated versions of their software. After adding a site, a tailored complaint notice or a DMCA notice can be sent.
Databrid 1.3
Databrid is a database browsing, retrieval and manipulation tool for Oracle and MySql Databases. Functionality includes sql autocompletion, syntax&word highlighting, auto case adjustment, schema browsing, save or update data in CSVs.
Exportizer 4.1
Exports database (DB, DBF, TXT, CSV, etc.) to clipboard or file (XLS, RTF, XML, HTML, TXT, CSV, DBF). Many options allow full control over output.
EMS SQL Manager 2007 Lite for Oracle 1.3
Simplify and automate your database development process, design, explore and maintain existing databases, build compound SQL query statements, manage database user rights and manipulate data in different ways.