[Coco] Announcement: CoCo Urbane Basic or, DECB a new beginning (Perhaps). {CoCo - DECB}

Stephen H. Fischer SFischer1 at MindSpring.com
Sat Nov 12 20:16:52 EST 2005


Hi,

The DECB PreProcessor project has reached the milestone of the first version
running on a CoCo being able to process its own source into a running DECB
program.

It is time to see if there might be any use beyond my writing the program
that I abandoned earlier this year.

Roger Taylor has graciously agreed to host the files.

There are three files currently available:

1)Source Colorized by the ConTEX editor.
   It is also the current definition of the Language.

www.coco3.com/urbane/ubnin.htm

2) The generated DECB program also Colorized by ConTEX.

www.coco3.com/urbane/urbane.htm

The start of a Notes and History file.

www.coco3.com/urbane/urbanenotesandlinks.htm

--------------------------------------------------------------
FAQ

>> I'm not quite following what your preprocessor does.

It translates the preprocessor language into what DECB requires.

The language IS the DECB language and must follow what is in the various
manuals for the CoCo Basic.

The following changes have been made:

1) Line numbers are not required. If you use line numbers your program may
work or it may not. I am not going to say what rules you must follow if you
use line numbers. I will not be trying to make it work.

One of the main points of the language is to eliminate line numbers

Line Labels are only required on lines that transfer of control is to.

2) Variables can be of any length and are unique no matter how long
they are.

DECB only considers variables unique when the first two characters are
unique.

That's the second point. That's all of the major differences.
-----------------------------------------------------------------------------------
>> Is it a language that compiles into BASIC code?

YES! DECB Code that is run able on a CoCo 2 or CoCo 3. CoCo 2 limited to
what features are in DECB for the CoCo 2.

>> Is the preprocessor itself written in BASIC or is it machine language,
>> etc.?

The preprocessor is written in the preprocessor language. The Flex "XPC" is
the basis of the preprocessor language and I am using it to develop the
program.

Urbane's output is not currently run able by Flex Basic.

If I type the following program:

10 PRINT "Hello World"

It runs OK, but:

SAVE "WORLD.BAS"

Produces a HANG.

Currently I am running the preprocessor using Flex Basic to execute after
XPC has translated my program.

The CoCo version produces the same output
running on a CoCo as the version running on Flex.

The bootstrapping process is now complete and further development can be
done on a CoCo. I am using the CoCo 2 Emulator.

I believe that a version running on GWBASIC (or whatever), the line number
basic for MSDOS, can be generated the same way as well as other line
number basics on any platform.

>> Thanks for creating new CoCo material... this is rare!

This may allow persons who are writing programs in DECB to write them faster
and more complex. Modules can be written in such a way that you just insert
them into your program and call them. We could built up a set of them to
share.

>> Are you going to announce this tool on the CoCo mailing list?

Yes, just as soon as you tell me the links to the files.
--------------------------------------
These two changes transform DECB into a language that is much more friendly,
easier to write and understand.

A full screen editor is required for writing programs as there are no line
Numbers.

Errors are detected by DECB so it will be a bother to go back to the screen
editor, correct the error(s), run the program through the preprocessor and
then load it into DECB which may complain about another error. Not Good!

I have thought about a combination syntax checker program that also will
translate existing DECB programs into the preprocessor language. Removing
unneeded line numbers, converting the remaining ones into strings that are
no longer numbers. Unique variables identified and their use made consistent
and some other things that the preprocessor language requires.

Stephen H. Fischer






More information about the Coco mailing list