[lbpp-devel] GLBCC - The future of LBPP
Status: Inactive
Brought to you by:
aliguori
|
From: Anthony L. <aj...@be...> - 2001-12-19 03:40:38
|
Well, today I announced GLBCC. I've kind of hinted at it before but I guess I should explain in a little more detail here. GLBCC stands for GNU/Liberty Basic Compiler Collection. LBPP is a part of this suite. The rest of the suite is composed of the Mingw port of GCC, some binutils, the Mingw runtime environment, and the GLBCC front end program. The GLBCC program will act as the interface for the entire system. It will take a .bas file name as input and run the rest of the programs in order to generate an executable application. The Mingw library is actually public domain so there is no licensing issues at all anymore. I am planning right now for GLBCC to be written in LB. LBPP is currently just about strong enough to support this. In fact, all that needs to be done is for the CommandLine$ system variable to be populated at context initialization, and for the RUN statement to be written (I am planning on just making a system() call and ignoring the keyword). This is basic outline of the LB program: 1) Examine Platform$ variable to determine if we are running Linux or Windows 2) Initial the proper pathnames to the various applications for each operating system 3) Examine the CommandLine$ variable to determine what files to read in and write to 4) If we are on Linux, then check for a target option too to see if we are targeting Windows 5) If the CommandLine$ was blank, pop up a file dialog to get a file name 6) Run LBPP on the bas file to generate a C file 7) Run GCC to generate an object file from the C file 8) Determine what libraries and link the object file to generate an executable 9) Clean up the C and object file Throughout steps 6-9, diagnostic advice will pop up depending on when/if the compile fails at any point. This is more a future task than anything else. The whole system will be distribute in two ways. There will be a package that contains all the required tools and libraries for both Linux and Windows so that the environment will automagically be configured. There will also be a seperate GCC + Mingw package and a standalone LBPP package. This way, updates can be made to LBPP without the need to redistribute the entire package. This should bring the compiler to the entire community. Right now, my focus is on providing this package and doing a serious update on the website to provides tons of info for users since there seems to be quite a bit of confusion about this project. If this was a C compiler, I would probably ignore the confusion and just code, but the a BASIC compiler suite needs to be user-friendly enough so that it can actually be used by BASIC programmers. So, if anyone wants to help right now, these are the areas I'm focusing on. There is also a great need for future Windows C programmers/testers. I can easily compile Windows code but running it is actually quite a difficult process since I don't have ready access to a Windows machine. What would be great is there were people would were able to test the Windows version of this. So that's that and I'm terribly tired so I'm gonna hit the hay. It's been a long day and I have to get up for work tomorrow. I am very happy about the way this project is going and also very happy about the response it's getting. I have a feeling that GLBCC is going to be a big deal once everything comes together. BTW: I choose to use GNU/Liberty Basic Compiler Collection since a good deal of the compiler suite comes from GNU. I divided it with a / to seperate the two projects as to not infer that this is an offical GNU project. I don't think I want to turn the copyright over to GNU so I don't have any plans of trying to get GNU to accept this as an official GNU project. Besides, GNU already has a basic language - GnomeBasic. RMS always gets pissed though when Linux is not referred to as GNU/Linux since it uses so much GNU stuff. Of course, when doesn't RMS get pissed :) Regards, Anthony |