[Comp.Sci.Dept, Utrecht] Note from archiver<at>cs.uu.nl: This page is part of a big collection of Usenet postings, archived here for your convenience. For matters concerning the content of this page, please contact its author(s); use the source, if all else fails. For matters concerning the archive as a whole, please refer to the archive description or contact the archiver.

Subject: [alt.lang.basic.compiler] FAQ - read this first!

This article was archived around: 15 Nov 1999 12:25:32 GMT

All FAQs in Directory: compilers/free
All FAQs posted in: alt.lang.basic.compiler, alt.lang.basic
Source: Usenet Version

Archive-name: compilers/free/basic Posting-Frequency: monthly (approx) URL: http://www.bright.net/~jonadab/albc/
FAQ for alt.lang.basic.compiler Answers to some Frequently Asked Questions for the newsgroup alt.lang.basic.compiler FAQ Version 0.2.02 alpha. Serial number 19990703. Current maintainer is jonadab@bright.net. Contributions are welcome. ---------------------------------------------------------------------- ---------------------------------------------------------------------- Contents: (Questions are numbered as they are added but are arranged in the following order. If the FAQ gets too long it will be reorganised again.) FAQ: * What is this newsgroup all about? (#1) * Why aren't there very many posts? (#13) * Help! My news server doesn't carry this group! (#10) * How did this project get started? (#2) * How far along is the project? (#3) * Can I help? (#8) * What is available on the internet related to this project? (#6) * Who is in charge? (#4) * Who is involved? (#7) * What language is it to be implemented in? (#11) * What is to be the target language/platform? (#12) MetaFAQ: * What do the version and serial numbers of the FAQ mean? (#5) * This version is old -- where do I find an update? (#9) * Revision History * Index of Questions by Number ---------------------------------------------------------------------- ---------------------------------------------------------------------- What is this newsgroup all about? (#1) The newsgroup was created for discussions about the project to create a free but completely compatible alternative to MicroSoft QuickBasic. However, discussions about the use of this compiler (once it is functional) are on topic. Discussions about any free BASIC compiler can be considered on topic, as well, particularly if the source code is available (GNU definition of "free"). Discusions of compiler creation in general are on-topic insofar as they relate to any on-topic project. ---------------------------------------------------------------------- Why aren't there very many posts? (#13) Several reasons. First of all, it's an alt group, and many news admins feel that it's a small and unimportant one at that, so it has a tendency to have short expiration times (or not even be carried at all on some servers), so participation is reduced even further than it would be. Secondly, the project has now proceeded from the discussion stage to the initial coding phase, so the serious leading programmers are too busy to post a lot, and a lot of the others who are interested in the project don't feel that they have anything to offer at the moment if they don't know about compiler programming. Fear not: this phase shall pass. Probably about the time the first full working version is released, however simple a subset it is, discussion will pick back up as BASIC programmers all over tell us what they think it should do better. There is also another reason for the low traffic right now: there have been some internal disagreements. This is probably nothing to worry about. No one has announced a discontinued interest in the idea of the project as such. If anything, there are separate groups working toward different related projects. At least one of the groups is using real time chats and a mailing list, which takes away from the usenet traffic but is nevertheless a good thing if it works. ---------------------------------------------------------------------- Help! My news server doesn't carry this group! (#10) Not every server carries the group. Fortunately, there are free services that do carry it. The following are known: http://www.freeserve.net/ http://www.dejanews.com/ RemarQ Unfortunately, DejaNews only offers (as far as I know) web-based usenet access, which is less than ideal, but I'm told that freeserve offers a regular news server, news.freeserve.net, although I think you have to be a member to use it. Their service appears to be free but only available in the UK. Another note about Deja: The new format is annoying, but try DejaNews Classic. There is also a list of public news servers which may be helpful, as some of them may carry it. ---------------------------------------------------------------------- How did this project get started? (#2) In the summer of 1998, jdm posted the original "Feeler" message: Subject: Feeler - Free QB replacement clone project Groups: alt.lang.basic, microsoft.public.basic.dos Body: How many of you would be interested in a joint development project to develop a replacement for Quick Basic, in somewhat the same spirit as FreeBSD or the GNU software foundation? This would be a direct replacement for Quick Basic 4.5, as close as we can legally get without infringing on any copyrights. The ideal would be to have the capability of compiling any Microsoft-dialect Basic code to a similar sized .EXE as Quick Basic. The rationale for this proposal is twofold: First, the supplies of Quick Basic are drying up. Used software vendors want premium prices for it. There is a steady demand for something that can compile QBasic code on these newsgroups. Second, other compilers that are available for DOS - based Basic programming are not compatible with Microsoft dialects. The most notable - Power Basic - is a descendant of the old Borland Turbo Basic and is not even close to the same dialect as QBasic. I'm not a compiler person, so I'd defer that part of it to someone with extensive compiler experience, but I've almost 18 years experience now in developing business applications in several different languages/IDE's. I'm good with UI stuff, editors, file management, printing, that sort of thing. Let's have a discussion about it. Everythings' open at this point, i.e. what language we'd use to develop it, how many features to put into the initial version, who'll do what, etc. -- jdm This post received a lot of responses (just search DejaNews for "Feeler - Free QB" and you will find them), and discussion followed. Once we had enough support, Ali Afshar posted a proposal in alt.config, and after some discussion there this newsgroup was created. ---------------------------------------------------------------------- How far along is the project? (#3) We have proceeded from discussion to initial coding. The parser and the IDE are both under way to some degree or another. The IDE has been released in alpha form, but the parser has not. Once there is a functional parser, even if it only handles a subset of the language, we will be able to start work on code generation. There is also a project underway to code a compiler in QBasic itself. Furthermore, thought has been given to writing a QBasic-to-XBasic translator and glueing it onto the frontend of XBasic. ---------------------------------------------------------------------- Can I Help? (#8) Yes. You can help. The first thing to do is to subscribe to the newsgroup and read the other online resources (See the answer to #6). Then figure out what part(s) of the project you can contribute to. Then you'll be ready to pitch in! ---------------------------------------------------------------------- What is available on the internet related to this project? (#6) (I've moved items which appear to be "down" to the bottom of the list for the time being.) Usenet group: alt.lang.basic.compiler Frequently Asked Questions (and answers) for the newsgroup http://www.bright.net/~jonadab/albc/ Website especially for development of a free QBasic-compatible compiler written in QBasic: http://www.geocities.com/SiliconValley/Heights/7052/ freebas.html XBasic http://www.maxreason.com/software/xbasic/xbasic.html Official website of the project: http://www.users.globalnet.co.uk/~dewarr/freebasic/ Or, if you don't want to remember all that, the same page may be reached at http://come.to/freebasic assuming your browser supports frames. This page appears to be down at the moment, however. Jonathan Lynam's compiler outline document: http://www2.netcom.com/~jlynam/design.html Unfortunately, I think this link is now broken also. Public Upload Facility: At present the PUF appears to be "down" also. To have your resource added to this list, email the maintainer with a short description of the resource and the URL where it can be found. These should be related to the project, not URLs for other BASIC-related websites. (Once we have a working version we will also want sites with sample source code that works in it, but we aren't there yet.) ---------------------------------------------------------------------- Who is in charge? (#4) Various people are in charge of various portions and subprojects. The project, being open source, will always be a bit loosely controlled. Mostly, the more input anyone has into the project, the closer he becomes to being partially in charge. They guy who writes a portion of code is in charge of that portion of code, essentially. So, write some code; then you'll be in charge of something! ---------------------------------------------------------------------- What language is it to be implemented in? (#11) Several different languages. One group is working on implementation it in QBasic, another in C++. Heavy consideration is being given to working in XBasic, also. ---------------------------------------------------------------------- What is to be the target language/platform? (#12) The idea is to design it in a sufficiently platform-independent way that everyone can use it. The one platform that is non-negotiable is DOS. It must run in DOS and produce DOS-executables. However, hopes are to have versions for other platforms as well. Code generation is, of course, target-specific, but we hope to design it in such a way that modules can be written for different targets and plugged into the same parser. We'd like to see a 32-bit Windows version and a Linux version eventually, at least. We'd also like to see ANSI-C output as an option... Of course, the wishlist is long enough to take us until 2147 to finish implementing, but nevermind. ---------------------------------------------------------------------- ---------------------------------------------------------------------- What do the version and serial numbers of the FAQ mean? (#5) The serial number is just the date, in the form YYYYMMDD. Early versions (0.0.nn) were YYMMDD, in which case you can assume that the first two digits of the year were "19". The version number is in the form V.v.n greek letter. The first number, V is the major version number. I tenatively propose that it should change whenever the FAQ is handed off to a new maintainer. The second number, v, is the minor version number, and jumping to a new v represents a reworked version. The third number, n, is the release number, and changes with every release, generally. In principal any of these numbers can have any number of digits, but n is the most likey to have multiple digits, which is why I started it at two. The greek letter is independent of the rest of the version number (which means that if there is a 0.0.01 alpha there will not be a 0.0.01 beta) and indicates the target audience. Alphas are meant for those interested in developing only. Betas are meant for those interested in developing as well as those interested in testing. Gammas (and the letter gamma may be ommitted altogether, and should be understood if there is no letter) are meant for everyone, including end users. I do not expect any gamma FAQs to appear until the compiler can handle most QBasic code at least. Anyone may read any FAQ version, of course, but alpha FAQs are probably not productive or worthwhile for end users to read. Incidentally, old versions of the FAQ are available from the maintainer, should anyone want them at some future point in time for some as-yet-unforseeable reason. I'm a packrat, and I keep everything. This version is old -- where do I find an update? (#9) If the serial number of this document seems abnormally old, you may have an obsolete version. If you're not sure how old is too old, just go ahead and get the latest version. There are a couple of ways to do this. You can always get the latest version of the FAQ from the maintainer. Send an email to jonadab@bright.net. Put the abbreviation albc (stands for alt.lang.basic.compiler) in the subject line, and ask for the latest FAQ. Specify HTML or plain text, and specify whether you'd like it as an attachment or in the body of the message. The FAQ is also now available in HTML form on the web at http://www.bright.net/~jonadab/albc/ or in plain-text form from the rtfm.mit.edu archives. ---------------------------------------------------------------------- ---------------------------------------------------------------------- Revision History Version 0.2.02 alpha. Serial number 19990703. Who is involved (#7) was removed, being very much obsolete. What resource are available on the internet was given much-needed updates. What language is it to be implemented in was updated, having become obsolete. Various other updates and some cosmetic changes. The document was made available on the web again, in HTML form. First posts to news.answers were of this version. Version 0.2.01 alpha. Serial number 19990526. * Added URL for a list of public news servers under My news server doesn't carry this group * Added the spinoff website for freebasic development in QBasic (maintained by the undernet channel subset) to What is available on the internet related to this project? * Added DejaNews Classic and also RemarQ under My news server doesn't carry this group Version 0.2.00 alpha. Serial number 19990420. * Earlier FAQs were maintained in 7-bit ASCII to allow for posting to usenet; as of this version I HTMLised the whole thing and use an automated converter to derive the 7-bit ASCII version for posting. * Removed the reference to the defunct U.S. mirror of the website. * Removed the reference to the defunct volunteers list. * Added the real URL that the come.to address points to. * General cleanup. * Improved answer to "This version is old -- where do I find an update?" (#9) Version 0.1.00 alpha. Serial number 19990122. * Reworked several questions to better reflect current status and generally be more up-to-date. * Adjusted #7 and a couple of others in light of the information on the web site. * Gave numbers to the remaining unnumbered questions (#11 and #12, now) and answered them a bit better. * Added "Why aren't there very many posts?" (#13) * Initiated 4-digit year in serial number. (I know, nobody's ever going to do a computerised search or sort of these by date, but I did it anyway. It's only two more bytes.) * Minor adjustments elsewhere that I already forget about. The old versions are still available if anyone cares. Version 0.0.08 alpha. Serial number 981113. * One addition to "Who is involved" (#7) on [19]981107. * Added "Help! My news server doesn't carry this group!" (#10) * Minor cosmetic changes to revision history. Version 0.0.07 alpha. Serial number 981023. * Made some changes to "Who is involved" (#7). (AFAIK no one is working on BNF at the moment.) * Made one nominal change to the list of internet resources (#6). * Added "This version is old -- where do I find an update?" (#9) * Separated FAQ from MetaFAQ in the table of contents (and with a separator bar). * Very minor update to the "unanswered" section. * Inserted cosmetic rows of hyphens to separate sections. Version 0.0.06 alpha. Serial Number 981021. * Added info about public upload facility under #6. * Minor adjustments to #7. * Updated #3 to better reflect current project status. * Moved #4 and #7 out of the "incompletely answered" section. * Cosmetic adjustments elsewhere. Version 0.0.05 alpha. Serial Number 980921. * Very minor changes to "Who is involved" (#7). * Mostly I just thought it was time to post it again. Version 0.0.04 alpha. Serial Number 980904. * Separated "Who is involved" (#7) from "Who is in charge" (#4) * Corrected an ommision on the BNF team. * Added "Can I Help?" (#8) * Added Posting Frequency to Header. Version 0.0.03 alpha. Serial Number 980902. * Added tenative list of persons with certain responsibilities to the answer for "Who is in charge?". * Added question #6, "What is available on the internet related to this project?" * Added explanation of FAQ version numbering. * Adjusted header a bit more. * Adjusted explanation of unnumbered questions. Version 0.0.02 alpha. Serial Number 980829. * Added two questions with no answer yet. * Added question numbers for the (answered) questions, to facilitate searching (once it gets longer). * Added revision history. * Adjusted email address of maintainer. * Adjusted header information. Version 0.0.01 alpha. Serial Number 980828. * First version, by Jonadab the Unsightly One. * Included these questions: * What is this newsgroup all about? * How did this project get started? * How far along is the project? * Who is in charge? (no answer yet) Before that, alt.lang.basic.compiler had no FAQ. ---------------------------------------------------------------------- ---------------------------------------------------------------------- List of Questions Organised by Number: * What is this newsgroup all about? (#1) * How did this project get started? (#2) * How far along is the project? (#3) * Who is in charge? (#4) * What do the version and serial numbers of the FAQ mean? (#5) * What is available on the internet related to this project? (#6) * Who is involved? (#7) * Can I Help? (#8) * This version is old -- where do I find an update? (#9) * Help! My news server doesn't carry this group! (#10) * What language is it to be implemented in? (#11) * What is to be the target language/platform? (#12) * Why aren't there very many posts? (#13)