License Terms and Agreement for the LLOOP Generator, Copyright (c) 2004-2006 Michel MEHL, Haguenau, France. This License Agreement for the LLOOP Generator software is a legal agreement between you, the Licensee, (either an individual or a single entity), and ERSA SaRL, the distributor of the software, for (a) using the Software and any work derived from the Software for commercial purposes; (b) using the Software and any work derived from the Software for evaluation purposes; as defined herein below. No permission is granted to anyone to use, copy, distribute or modify the Software or any work derived from or based on the Software except as expressly provided under this License. If Licensee or anyone else does not accept the terms and conditions of this License, do not use, copy, distribute or modify the Software. 1. Definitions. "Software" means all of the contents of the files, disk(s), CD-ROM(s) or other media with which this Agreement is provided, including but not limited to (a) the commercial release of the LLOOP generator generating LL object-oriented parsers in C++ source code, subject to a license fee; (b) the demonstration release of the LLOOP generator with limited features; (c) the descriptive grammar files (".gsp" extension) of the pre-defined tokens and pre-processors provided with the Software; (d) demo programs, including all grammar files (".gsp" extension) and any file derived from them; (e) related explanatory written materials or files ("Documentation") including the "on-line" documentation pages in HTML format. A "work derived from the Software" is any derivative work which is derived from the Software, typically any source code file, makefile or any other file generated with the LLOOP generator. Files originally generated with LLOOP and modified and/or renamed by the Licensee afterwards are included into this definition. A "work based on the Software" is any program which incorporates the LLOOP generator itself or any file provided with the LLOOP generator including, but not limited to, the descriptive grammar files, as well as any file generated from these grammar files with or without the LLOOP generator. This definition also includes any translation, improvement, enhancement, extension or other modification of the Software. To "use" means (a) to execute (i.e. run) the LLOOP generator (either the commercial or the demonstration release) to generate source code files or any other kind of file generated by the tool; (b) to execute programs that are totally or partly built/compiled from source code files generated by LLOOP; (c) to read the Documentation for the sole purpose of using the Software as defined in (a) and (b); (d) or otherwise benefit from using the functionality of the Software in accordance with the Documentation. To "copy" means to create one or more copies of the Software, or part(s) of it, on whatever medium. To "distribute" means to broadcast, publish, transfer, post, upload, download or otherwise disseminate the Software or part(s) of it in any medium to any third party. To "modify" means to create a work based on the Software or change any function of the Software. A "commercial use" or "use for commercial purposes" is to use the Software or any work derived from the Software in connection with, for or in aid of the generation of revenue, such as in the conduct of Licensee's daily business operations, provided that it respects the terms and conditions expressed herein. An "evaluation use" or "use for evaluation purposes" is to use the Software and any work derived from the Software in the sole aim of evaluating the Software and any derivative work for fitness before purchase of a license for commercially using the Software and any derivative work. "Computer" means an electronic device that accepts information in digital or similar form and manipulates it for a specific result based on a sequence of instructions. A "gsp" file, also referred to as "a descriptive grammar" in this document, is a file whose content is written in a specific format especially designed for the purpose of LLOOP. This format mixes specific keywords or/and commands with syntactical rules definitions in BNF notation and C++source code. Any "gsp" file should have the ".gsp" extension. "LLOOP" is the commercial code name of the product. "gspc" is the actual name of the application to execute for generating source code. ERSA SaRL is a French company, located 5 rue Maurice Blin, 67500 Haguenau, France. ERSA SaRL is a subsidiary of AEA Technology plc, located Derby, United Kingdom (http://www.aeat.co.uk). 2. License to Use. 2.1 General Conditions For Commercial Uses Permission to use the Software is subject to payment of a license fee and the delivery of a license key by ERSA SaRL. ERSA SaRL grants to you a non-exclusive, non-transferrable license to use the Software for commercial purposes provided that: (a) ERSA SaRL accepts to provide you with a license key; (b) You can and do provide all the information necessary for the creation of the license key; (c) You pay the product license fee to ERSA SaRL; (d) ERSA SaRL provides you with a license key generated from the required information transmitted by the Licensee to ERSA SaRL; (e) you comply with the terms of this Software License Agreement; (f) the tool is used for the purposes described in the Documentation. You become the owner of any source code or file generated with the Software for which you own a license key. Otherwise, the generated files remain the exclusive intellectual property of the Software copyright holder Michel MEHL. 2.2 General Conditions For Evaluation Uses ERSA SaRL allows you to use the Software for evaluation purposes provided that: (a) You are aware of the restricted functions and accept to not disregard them by any means: - A maximum of 10 non-terminals/tokens can be defined per grammar given as input to the generator, - A maximum of 15 non-terminals/tokens can be defined and given in all as input to the generator, regardless of the amount of input grammars, - A maximum of 10 constants can be defined and given in all as input to the generator, regardless of the amount of input grammars. Note: The terms "constants", "non-terminals" and "tokens" are defined in the online documentation (the "Documentation"); (b) you comply with the terms of this Software License Agreement; (c) the tool is used for the purposes described in the Documentation; (d) the Software is not used in the aim of generating profit, fulfilling any business operation or for any other lucrative purposes. Any source code or file generated with the Software for evaluation purposes remains the exclusive property of the Software copyright holder Michel MEHL. The paragraphs 2.3(a), 2.3(b) and 2.5 of this Software Agreement are not relevant for the evaluation release. The paragraph 2.3(c) remains in force. 2.3 Restrictions (a) The use of the Software is restricted and bound to the physical hard drive on which the Software is used, i.e. the hard drive on which the code is generated. Therefore, whilst the user remains free to install the Software on a place of its choice, the permission granted hereby only allows the Software to be used to generate code to one and only one hard drive. (b) The license granted hereby counts for one and only one installation of the Software. To allow flexible use of the Software, the current license key can be replaced for FREE if the Licensee needs to run the Software on another environment and provides an acceptable justification, eg. hard drive replacement, operating system upgrade/change, machine replacement. Should the Licensee be willing to use the Software simultaneously on second machine, either temporarily or permanently, he/she has to acquire a new license key and pay the matching fee. (c) In no event shall ERSA SaRL be liable for the unability to run the Software on whatever computer, operating system and environment despite the provision of the license key. It is up to the Licensee to check whether the Software is operational and usable as described in the Documentation and within the range of the supported platforms and environments. For that purpose the Licensee should experience the Software using the demo version on the target environment. 2.4 Duration / Type of license The license is permanent, i.e. there is no limit of validity in time bound to the license, except the lifetime of the hard drive and operating system which the Software is used for. 2.5 License enforcement Enforcement of license is achieved through a license key provided as a file whose path must be passed to the generator using the appropriate configuration option. The Software can not run without presence of a valid license key. This license key binds the use of the Software to the hard drive on which the Software is run to generate code. 2.6 No Modification. You may not alter or modify the Software or create a new installer for the Software. The Software is licensed and distributed by ERSA SaRL exclusively. You are not authorised to integrate or use the Software with any other software without express written permission of ERSA SaRL. 2.7 Limited Support THE COMPANY ERSA SaRL AND THE AUTHOR MICHEL MEHL ARE NOT COMMITED TO PROVIDE ANY TECHNICAL SUPPORT NOR ANY ASSISTANCE, INSTALLATION, TRAINING OR ANY OTHER SERVICE RELATED THE SOFTWARE OR ANY DERIVATIVE WORK. FOR ANY PAID LICENSE FEE OR DONATION GREATER THAN 15$, MICHEL MEHL RESERVES THE ABILITY TO ADDRESS RAPIDLY ANY ISSUE ARISING FROM THE USE OF THE SOFTWARE. A GUARANTEED SUPPORT CAN BE OBTAINED ON REQUEST THROUGH A SEPARATE COMMERCIAL AGREEMENT. Up-to-date information is always available at http://www.ersa-france.com/lloop Inquiries should be emailed to lloop@ersa-france.com 2.8 No Warranty of any kind ERSA SaRL DISCLAIMS ANY WARRANTY OF MERCHANTABILITY, NON-INFRINGEMENT, FITNESS FOR ANY PARTICULAR PURPOSE, OR ANY OTHER WARRANTY WITH REGARD TO THE SOFTWARE AND ANY WORK DERIVED FROM IT. ERSA SaRL DOES NOT AND CANNOT WARRANT EITHER THE PERFORMANCE OR RESULTS YOU MAY OBTAIN BY USING THE SOFTWARE OR ANY WORK DERIVED FROM IT. 2.9 Liability disclaimer IN NO EVENT SHALL ERSA SaRL BE LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, LOST PROFITS, BUSINESS INTERRUPTION OR LOST INFORMATION), CLAIMS OR ANY CONSEQUENTIAL, INDIRECT, INCIDENTAL DAMAGES ARISING OUT OF THE USE OF OR THE INABILITY TO USE THE SOFTWARE OR ANY WORK DERIVED FROM THE SOFTWARE, EVEN IF THE AFOREMENTIONED ENTITIES WERE ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, LOSS OR CLAIMS BY ANY THIRD PARTY. SHOULD THE FOREGOING LIMITATIONS AND EXCLUSIONS NOT APPLY TO THE EXTENT PERMITTED BY APPLICABLE LAW IN YOUR JURISDICTION, SO SHALL THE SOFTWARE NOT BE USED IN THAT JURISDICTION. ERSA SaRL DISCLAIMS ANY LIABILITY FOR (MIS)USE OF THE SOFTWARE OR ANY WORK DERIVED FROM THE SOFTWARE WITH APPLICABLE LAW INCOMPATIBLE WITH THESE LICENSE TERMS. 2.10 No Updates / No Upgrades The payment of the license fee gives NO right to any update, upgrade, enhancement or extension of the Software. Any update, upgrade, enhancement or extension is subject to a new license payment. ERSA SaRL reserves the right to provide free of charge, any update, to any Licensee and at any time, for any reason, either for commercial purposes or if ERSA SaRL estimates a severe bug prevents the Software from fulfilling properly its functions and may constitute a hazard or a blocking issue for the Licensee's operational business. 3. License Keys Distribution, Selling and Reselling. ERSA SaRL holds the exclusive rights to distribute, sell and resell license keys to their customers. Requests shall be sent per email to lloop@ersa-france.com. Up-to-date information are also accessible via the ERSA's home page at http://www.ersa-france.com/lloop. 4. Intellectual Property Ownership, Copyright Protection. The Software and any authorised copy that you make are the intellectual property of and are owned by Michel MEHL, living in the city of Haguenau, France. The structure, organisation and code of the Software are the valuable trade secrets and confidential information of Michel MEHL. The Software is protected by law, including without limitation the copyright laws of France and other countries, and by international treaty provisions. The Software is licensed, not sold. Except as expressly stated herein, this Agreement does not grant you any intellectual property rights in the Software and all rights not expressly granted are reserved by Michel MEHL. De facto some restrictions apply, including, but not limited to : (a) You may not copy the Software except for back-up purposes, (b) You may not sell, distribute copies nor transfer parts of the Software in any medium, (c) You may not modify, adapt or translate the Software, You shall not reverse engineer, decompile, disassemble or otherwise attempt to discover the source code of the Software, (d) You may not, rent, lease, sublicense, assign or transfer your rights in the Software, or authorise all or any part of the Software to be copied onto another user's computer. 5. Contributions and Partnerships Any contribution to the extension of the standard grammar library part of the Software is welcome. ERSA SaRL is interested in any donation or commercial partnership either for distributing extensions through the LLOOP home page or for integrating such extensions into future releases. On request and under acceptation of ERSA SaRL, an internet link can be made from the LLOOP web site to extensions developed by third parties free of charge. The right remains with ERSA SaRL to organise or remove these links as it thinks best. Any information about projects making use of LLOOP is also welcome. 6. Termination of this Agreement. ERSA SaRL may terminate this Agreement at any time if you violate or attempt to violate any of the terms and conditions of this License. Upon termination, you will immediately destroy and return all copies of the Software as well as any work derived from or based on the Software resulting from that violation. 7. License scope and modification. This License sets forth the entire agreement between Licensee and ERSA SaRL and supersedes all prior agreements and understandings between the parties relating to the subject matter hereof. None of the terms of this License may be waived or modified except as expressly agreed in writing by the copyright holder Michel MEHL. 8. Governing Law. This Agreement will be governed by and construed in accordance with the substantive laws in force in France. By default, the international copyright laws always apply. 9. General Provisions. If any part of this Agreement is found void and unenforceable, it will not affect the validity of the balance of this Agreement, which shall remain valid and enforceable according to its terms. This Agreement shall not prejudice the statutory rights of any party dealing as a consumer. This Agreement may only be modified by a writing signed by ERSA SaRL and Michel MEHL. Updates may be licensed to you with additional or different terms. 10. Compliance with Licenses. If you are a business or organisation, you agree that upon request from ERSA SaRL and any of their authorised representative, you will within thirty (30) days fully document and certify that use of any and all Software at the time of the request is in conformity with your valid licenses from ERSA SaRL.