1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184
|
<?xml version="1.0" encoding="windows-1252"?>
<XML_DIZ_INFO>
<MASTER_PAD_VERSION_INFO>
<MASTER_PAD_VERSION>1.10</MASTER_PAD_VERSION>
<MASTER_PAD_INFO>Portable Application Description, or PAD for short, is a data set that is used by shareware authors to dissemminate information to anyone interested in their software products. To find out more go to http://www.asp-shareware.org/pad</MASTER_PAD_INFO>
</MASTER_PAD_VERSION_INFO>
<DEUPAD_VERSION_INFO Version="1.4.1">
<DEUPAD_INFO Language="Deutsch">Diese PAD Datei wurde mit DeuPAD (Copyright (c) 2000-2001 by Oliver Grahl Software Design) erzeugt. Informationen zu DeuPAD finden Sie auf: http://www.o-grahl.de/deupad/</DEUPAD_INFO>
<DEUPAD_INFO Language="English">This PAD file was generated by DeuPAD (Copyright (c) 2000-2001 by Oliver Grahl Software Design). More information on DeuPAD can be found on: http://www.o-grahl.de/deupad/</DEUPAD_INFO>
</DEUPAD_VERSION_INFO>
<Company_Info>
<Company_Name>Arno Unkrig</Company_Name>
<Address_1>Kathi-Kobus-Strae 23</Address_1>
<Address_2 />
<Zip_Postal_Code>80797</Zip_Postal_Code>
<City_Town>Mnchen</City_Town>
<Country>Deutschland</Country>
<State_Province />
<Company_WebSite_URL>http://docs.codehaus.org/display/JANINO/</Company_WebSite_URL>
<Contact_Info>
<Author_First_Name>Arno</Author_First_Name>
<Author_Last_Name>Unkrig</Author_Last_Name>
<Author_Email>aunkrig@codehaus.org</Author_Email>
<Contact_First_Name>Arno</Contact_First_Name>
<Contact_Last_Name>Unkrig</Contact_Last_Name>
<Contact_Email>aunkrig@codehaus.org</Contact_Email>
</Contact_Info>
<Support_Info>
<General_Email>aunkrig@codehaus.org</General_Email>
<Support_Email>aunkrig@codehaus.org</Support_Email>
<Sales_Email />
<General_Phone />
<Support_Phone />
<Sales_Phone />
<Fax_Phone />
</Support_Info>
</Company_Info>
<Program_Info>
<Program_Name>Janino</Program_Name>
<Program_Version>@VERSION@</Program_Version>
<!--
<Program_Release_Year>2002</Program_Release_Year>
<Program_Release_Month>11</Program_Release_Month>
<Program_Release_Day>09</Program_Release_Day>
//-->
<Program_Type>Freeware</Program_Type>
<Program_Release_Status>Minor Update</Program_Release_Status>
<Program_Cost_Other>0,00 EUR</Program_Cost_Other>
<Program_Cost_Dollars />
<Program_Categories>Programming,Java,Compiler,Scripting</Program_Categories>
<Program_Specific_Category>Development Tools</Program_Specific_Category>
<Program_Change_Info>Updated the overview page.</Program_Change_Info>
<Program_Language>English</Program_Language>
<Program_OS_Support>Win95,Win98,WinME,WinNT 3.x,WinNT 4.x,Windows2000,WinXP,Win7 x32,WinVista,Unix,Linux,Mac PPC</Program_OS_Support>
<Program_Install_Support>No Install Support</Program_Install_Support>
<Program_System_Requirements>JDK 1.3.1 or above</Program_System_Requirements>
<Includes_VB_Runtime />
<Includes_JAVA_VM />
<Includes_DirectX />
<File_Info>
<Filename_Long>janino-@VERSION@.zip</Filename_Long>
<Filename_Generic>janino-@VERSION@.zip</Filename_Generic>
<File_Size_Bytes>@SIZE@</File_Size_Bytes>
</File_Info>
<Expire_Info>
<Has_Expire_Info>N</Has_Expire_Info>
<Expire_Based_On />
<Expire_Count />
<Expire_Year />
<Expire_Month />
<Expire_Day />
<Expire_Other_Info />
</Expire_Info>
</Program_Info>
<Program_Descriptions>
<English>
<Keywords>Java Compiler small fast Embedded Expression evaluation Script Scripting JVM Virtual Machine Bytecode run-time compilation JSP server pages</Keywords>
<Char_Desc_45>Compiles and executes Java on-the-fly.</Char_Desc_45>
<Char_Desc_80>A super-small, super-fast Java compiler that compiles expressions or scripts on-the-fly.</Char_Desc_80>
<Char_Desc_250>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 embedded compiler for run-time compilation purposes.</Char_Desc_250>
<Char_Desc_450>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 embedded compiler for run-time compilation purposes, such as expression evaluators or "server pages" engines like JSP.</Char_Desc_450>
<Char_Desc_2000>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.</Char_Desc_2000>
</English>
<German>
<Keywords>Java Compiler klein schnell Embedded Ausdruck Ausdrcke auswerten Script Scripte JVM Virtual machine Bytecode Laufzeit-bersetzung JSP Server Pages</Keywords>
<Char_Desc_45>bersetzt und ldt Java on-the-fly.</Char_Desc_45>
<Char_Desc_80>Eine super-kleiner, super-schneller Java-Compiler, der Ausdrcke und Scripte zur Laufzeit bersetzt.</Char_Desc_80>
<Char_Desc_250>Ein super-kleiner, super-schneller Compiler, der einen Java-Ausdruck, -Block oder eine -Quelldatei liest und Java-Bytecode generiert, der direkt geladen und ausgefhrt wird. Er ist nicht als Entwicklungswerkzeug gedacht sondern als "embedded"-Compiler fr Laufzeitanwendungen.</Char_Desc_250>
<Char_Desc_450>Janino ist ein super-kleiner, super-schneller Compiler, der einen Java-Ausdruck, einen Java-Block oder eine Java-Quelldatei liest und Java-Bytecode generiert, der direkt geladen und ausgefhrt wird. Er ist nicht als Entwicklungswerkzeug gedacht sondern als "embedded"-Compiler fr Laufzeitanwendungen wie die Auswertung von Ausdrcken oder "Server Pages"-Engines wie JSP.</Char_Desc_450>
<Char_Desc_2000>Janino ist ein super-kleiner, super-schneller Compiler, der einen Java-Ausdruck, einen Java-Block oder eine Java-Quelldatei liest und Java-Bytecode generiert, der direkt geladen und ausgefhrt wird. Er ist nicht als Entwicklungswerkzeug gedacht sondern als "embedded"-Compiler fr Laufzeitanwendungen wie die Auswertung von Ausdrcken oder "Server Pages"-Engines wie JSP.</Char_Desc_2000>
</German>
</Program_Descriptions>
<Web_Info>
<Application_URLs>
<Application_Info_URL>http://docs.codehaus.org/display/JANINO/</Application_Info_URL>
<Application_Order_URL />
<Application_Screenshot_URL />
<Application_Icon_URL />
<Application_XML_File_URL>http://dist.codehaus.org/janino/pad_file.xml</Application_XML_File_URL>
</Application_URLs>
<Download_URLs>
<Primary_Download_URL>http://dist.codehaus.org/janino/janino-@VERSION@.zip</Primary_Download_URL>
<Secondary_Download_URL />
<Additional_Download_URL_1 />
<Additional_Download_URL_2 />
</Download_URLs>
</Web_Info>
<Permissions>
<Distribution_Permissions />
<EULA> Janino - An embedded Java[TM] compiler
Copyright (c) 2001-2010, Arno Unkrig
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials
provided with the distribution.
3. The name of the author may not be used to endorse or promote
products derived from this software without specific prior
written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</EULA>
</Permissions>
<DeuPAD>
<DeuPAD_Extension_Version>1.10</DeuPAD_Extension_Version>
<DeuPAD_Extension_Info>For information on the DeuPAD Extensions please go to http://www.o-grahl.de/deupad/</DeuPAD_Extension_Info>
<SAVE_Member>N</SAVE_Member>
<SAVE_Member_Number />
<Company_Unique_ID>{9BC74BB9-7BCB-43A8-9679-03A16A84B7C6}</Company_Unique_ID>
<Save_Prog_Num />
<Program_Cost_EUR>0,00</Program_Cost_EUR>
<Program_Cost_DEM>0,00</Program_Cost_DEM>
<Program_Unique_ID>{666F1C11-CC22-4C3A-BA21-F581BF1C227C}</Program_Unique_ID>
<Program_Categories_German>Programmieren,Java,Compiler,Scripting</Program_Categories_German>
<Program_System_Requirements_German>JDK 1.3.1 or hher</Program_System_Requirements_German>
<Expire_Other_Info_German />
<EULA_German />
<Program_Change_Info_German>Seite "Overview" aktualisiert.</Program_Change_Info_German>
</DeuPAD>
<ASP>
<ASP_FORM>Y</ASP_FORM>
<ASP_Member>N</ASP_Member>
<ASP_Member_Number />
</ASP>
<MSN>
<MSN_FORM>Y</MSN_FORM>
<MSN_IS_32bit>Y</MSN_IS_32bit>
</MSN>
<ZDNET>
<ZDNET_FORM>Y</ZDNET_FORM>
<ZDNET_Product_ID_Code />
</ZDNET>
</XML_DIZ_INFO>
|