LBPP v0.0.6b DESCRIPTION =========== LBPP is a front end to the GNU Common Compiler (GCC) that produces C source code from Liberty Basic source code. This code then is fed to GCC to produce an executable. It is similiar to C++ compilers that produce C code that then is compiled. It can be thought of either as a GCC extension or a C translator. The architecture of LBPP was designed to allow statements to be added dynamically without requiring a recompile of the source. It accomplishes this by defining a standard interface between C and Liberty Basic that allows C functions to access all of the internal data of a Liberty Basic program. The fact that all of the functionality of is based in a C library, porting LBPP to a new platform requires only porting the library to the native GUI system along with necessary modifications to allow the code to compile. The translator should be ANSI C so porting should not be an issue. The translator (LBPP) is licensed under the GNU General Public License (GPL). The supporting library (libLB) is licensed under the GNU Lesser General Public License (LGPL). This forces all modifications of the program to remain open source but allows programs compiled by the front end to choose their own license. Modifications to the supporting libraries are forced to remain open source. A special exception is made for a single file (lb_std_head.c) to allow this file to be in an application without the application be forced to be licensed under the LGPL or GPL. The file statement.tbl is considered a header file to an Liberty Basic program and is therefore covered by the same restrictions (and lack thereof or restriction) as a C header file. MAINTAINER ========== The current maintainer of LBPP is: Anthony Liguori See the AUTHORS file for a list of everyone who has contributed code. Any patches should be sent to the current maintainer to be considered for future versions. All patches should be in the standard diff format. REQUIREMENTS ============ - gcc 2.96 or compatible compiler INSTALLATION/SETUP ================== See the INSTALL file for installation instructions. DISCLAIMER ========== Liberty Basic is a registered trademark of Shoptalk Systems. LBPP is in no way affilated with Shoptalk Systems. The term 'Liberty Basic' is used throughout this document and program to describe the programming language that the Liberty Basic application of Shoptalk Systems implements but does not reflect a relationship to the application distributed by Shoptalk Systems.