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

Skip to first unread message

Jonadab the Unsightly One

Jan 22, 2004, 4:08:03 AM1/22/04
Archive-name: compilers/free/basic
Posting-Frequency: monthly (approx)
URL: http://www.bright.net/~jonadab/albc/

Answers to some Frequently Asked Questions for the newsgroup

FAQ Version 0.2.04 alpha. Serial number 20010904.
Posting Frequency is approximately once per month.

Current maintainer is jon...@bright.net. Contributions are
very welcome.


o What's new? Is this group dead, or is something happening?
o What is this newsgroup all about? (#1)
o Why aren't there very many posts? (#13)
o Help! My news server doesn't carry this group! (#10)
o How did this project get started? (#2)
o How far along is the project? (#3)
o Can I help? (#8)
o What related things are available on the internet? (#6)
o Who is in charge? (#4)
o What language is it to be implemented in? (#11)
o What is to be the target language/platform? (#12)


o What do the version and serial numbers of the FAQ mean?
o This version is old -- where do I find an update? (#9)
o Revision History
o Index of Questions by Number

What's new? Is this group dead, or is something happening (#14)

Neither the group nor the goal of the group is dead, although
it might be charactarised as sluggish.

The most recent new addition is QuickForward, a whole new
project directly related to the underlying goal of the
group. (Information is included under

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

Discussions about programming in BASIC are not on topic here
and should be directed to another newsgroup (such as
alt.lang.basic) instead unless they pertain to writing a
compiler or interpreter specifically or something related to
that task (such as a program designed to test a comnpiler).

Why aren't there very many posts? (#13)

Several reasons. For one thing, the initial excited discussion
has died down, and since everyone working on this is doing it
in his Copious Free Time, progress is slow.

Also, 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.

Actually, there are advantages to being a low-bandwidth
group. If it were a high-bandwidth group, there are times when
I would feel pressure to quit reading it faithfully in order to
get other things done in my life. As it is, I'm never tempted
to quit reading albc.

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:


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.

There is also a list of public news servers at
http://www.newzbot.com/ which may be helpful, as some of them
may carry albc.

How did this project get started? (#2)

In the summer of 1998, jdm posted the original "Feeler"

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.


This post received a lot of responses (just search Google
Groups 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, passed
through an internal argument, and split into more than one
group working separately in more than one language. At least
two additional related projects have since been
declared. Specifically, one IDE has been released in alpha
form, written in C. There is a project underway to code a
compiler in QBasic itself, and a separate project to create a
QBasic-to-XBasic translator (in XBasic) and glue it onto the
frontend of XBasic, and another compiler done in PDS7 (called
QuickForward). None of these is finished yet, however.

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 which related 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 removed items which appear to be "down" permanently.)

Usenet group:

Frequently Asked Questions (and answers) for the newsgroup

Website especially for development of a free QBasic-compatible
compiler written in QBasic:

QuickForward, a compiler written in PDS7
http://www.sunbeem.net/quickforward/ (There is also
a mailing list for QuickForward; details at the website.


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 on-topic projects (See
"What is this newsgroup about"), not URLs for other
BASIC-related websites.

Who is in charge? (#4)

The 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! Various people are "in charge" of
various subprojects by virtue of having started them. Some code
is also governed by virtue of the license it uses (e.g., GPL).

What language is it to be implemented in? (#11)

Several different languages. One group is working on
implementing it in QBasic, another in C++, another in PDS, and
another in XBasic. I actually thought breifly about starting a
separate parser in elisp...

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. That said, DOS is near and dear
to the hearts of many QBasic users, and should be considered a
valuable target platform (although Windows is more common these
days). 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 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 that.

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)

You can always get the latest version of the FAQ from the
maintainer. Send an email to jon...@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 latest version of the FAQ is also
now available in HTML form on the web at
http://www.bright.net/~jonadab/albc/. The version in plain-text
form available from the rtfm.mit.edu archives may lag as much
as a month behind. (At the rate I've been updating the FAQ
recently, that's not a really big issue.)

Revision History

Version 0.2.04 alpha. Serial number 20010904.

o Added perhaps the most frequently asked question of all,
What's new?
o Added information about QuickForward
o Added terseness to introduction.
o Made minor technical improvements to the underlying markup
of the HTML version, in partial preparation for eventually
moving to XHTML.
o Replaced references to Deja with Google.
o Rephrased the question, What is available on the internet
and updated the answer to include QuickForward.
o Updated answer to How far along is the project
o Updated answer to What is the target platform
o Removed dead link from a link tag in the header of the
HTML version.
o Replaced quotation marks with proper HTML entities in HTML
version. This markup change was long overdue.
o Removed some obsolete HTML comments that never showed up
in the text version anyway.
o Some cosmetic changes to the HTML version as a side-effect
of having updated the elisp code I use to maintain web

Version 0.2.03 alpha. Serial number 19991213.

o Cosmetic changes. For example, the HTML version now uses
cascading style sheets.
o Updated What is this newsgroup all about? to explicitely
list general discussion about programming in BASIC as
off-topic and suggest a different newsgroup.
o Fixed a bug in My news server doesn't carry this group
which caused the url for the list of public news servers
to fail to appear in plaintext versions.
o Updated How far along is the project?
o Added terseness to Can I help?.
o Removed dead links from What is available on the internet?
o Added terseness to Who is in charge?.
o Adjusted information about XBasic in What language is it
to be implemented in?
o Updated Where do I find an update (of the FAQ)
o Removed dead links to #7, which was removed in 0.2.02.

Version 0.2.02 alpha. Serial number 19990703.

o 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.
o Various other updates and some cosmetic changes.
o The document was made available on the web again, in HTML
o First posts to news.answers were of this version.

Version 0.2.01 alpha. Serial number 19990526.

o Added URL for a list of public news servers under My news
server doesn't carry this group
o 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?
o Added DejaNews Classic and also RemarQ under My news
server doesn't carry this group

Version 0.2.00 alpha. Serial number 19990420.

o 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.
o Removed the reference to the defunct U.S. mirror of the
o Removed the reference to the defunct volunteers list.
o Added the real URL that the come.to address points to.
o General cleanup.
o Improved answer to "This version is old -- where do I find
an update?" (#9)

Version 0.1.00 alpha. Serial number 19990122.

o Reworked several questions to better reflect current
status and generally be more up-to-date.
o Adjusted #7 and a couple of others in light of the
information on the web site.
o Gave numbers to the remaining unnumbered questions (#11
and #12, now) and answered them a bit better.
o Added "Why aren't there very many posts?" (#13)
o 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.)
o Minor adjustments elsewhere that I already forget
about. The old versions are still available if anyone

Version 0.0.08 alpha. Serial number 981113.

o One addition to "Who is involved" (#7) on [19]981107.
o Added "Help! My news server doesn't carry this group!"
o Minor cosmetic changes to revision history.

Version 0.0.07 alpha. Serial number 981023.

o Made some changes to "Who is involved" (#7). (AFAIK no one
is working on BNF at the moment.)
o Made one nominal change to the list of internet resources
o Added "This version is old -- where do I find an update?"
o Separated FAQ from MetaFAQ in the table of contents (and
with a separator bar).
o Very minor update to the unanswered section.
o Inserted cosmetic rows of hyphens to separate sections.

Version 0.0.06 alpha. Serial Number 981021.

o Added info about public upload facility under #6.
o Minor adjustments to #7.
o Updated #3 to better reflect current project status.
o Moved #4 and #7 out of the "incompletely answered"
o Cosmetic adjustments elsewhere.

Version 0.0.05 alpha. Serial Number 980921.

o Very minor changes to "Who is involved" (#7)
o Mostly I just thought it was time to post it again.

Version 0.0.04 alpha. Serial Number 980904.

o Separated "Who is involved" (#7) from "Who is in charge"
o Corrected an ommision on the BNF team.
o Added "Can I Help?" (#8)
o Added Posting Frequency to Header.

Version 0.0.03 alpha. Serial Number 980902.

o Added tenative list of persons with certain
responsibilities to the answer for "Who is in charge?".
o Added question #6, "What is available on the internet
related to this project?"
o Added explanation of FAQ version numbering.
o Adjusted header a bit more.
o Adjusted explanation of unnumbered questions.

Version 0.0.02 alpha. Serial Number 980829.

o Added two questions with no answer yet.
o Added question numbers for the (answered) questions, to
facilitate searching (once it gets longer).
o Added revision history.
o Adjusted email address of maintainer.
o Adjusted header information.

Version 0.0.01 alpha. Serial Number 980828.

o First version, by Jonadab the Unsightly One.
o Included these questions:
1. What is this newsgroup all about?
2. How did this project get started?
3. How far along is the project?
4. Who is in charge? (no answer yet)

Before that, alt.lang.basic.compiler had no FAQ.

List of Questions Organised by Number:

o What is this newsgroup all about? (#1)
o How did this project get started? (#2)
o How far along is the project? (#3)
o Who is in charge? (#4)
o What do the version and serial numbers of the FAQ mean?
o What is available on the internet related to this project?
o (Obsolete, removed) Who is involved? (#7)
o Can I Help? (#8)
o This version is old -- where do I find an update? (#9)
o Help! My news server doesn't carry this group! (#10)
o What language is it to be implemented in? (#11)
o What is to be the target language/platform? (#12)
o Why aren't there very many posts? (#13)
(end of document)

Reply all
Reply to author
0 new messages