Re: Embedded Basic interpreter recommendations?
- From: Jon Kirwan <jonk@xxxxxxxxxxxxxxxxxxx>
- Date: Sun, 15 Mar 2009 06:00:56 GMT
On Sun, 15 Mar 2009 14:26:16 +1030, "Chris Burrows"
<cfbsoftware@xxxxxxxxxxx> wrote:
"Frank Buss" <fb@xxxxxxxxxxxxx> wrote in message
news:1qqbvwpfjwuyq.14j0560xa4itf$.dlg@xxxxxxxxxxxxx
Code size and execution time should be no problem, my targets are bigger
with at least 16k flash and fast. My idea was to start with a virtual
machine, so I'll compile the program on PC and upload some bytecode, only,
which should be very compact, too. Maybe I provide multiple frontend
languages, like Basic, C and Modula. Then the programmer can choose the
language he/she likes most.
In case you missed the link in another branch of this discussion the source
and executables of a Modula-2 compiler that generates bytecode (M-Code as
used on Lilith), an interpreter that runs on the PC, and a sample listing,
in Modula-2, of an M-Code interpreter already exist:
http://www.cfbsoftware.com/modula2
But the early BASIC I have been talking about included both the
compiler and decompiler, held in 12kbyte of core memory. No
cross-compilation here.
What I think I'd like to see is the execution engine, which interprets
a coded version of the source, as a required part but with optional
pieces that include the compiler to convert ASCII text into the coded
version that is suitable for interpreting and the lister which
converts the coded version back into an ASCII text version, along with
all the necessary lex/parse and error handling for in-situ use. I
mean, as optional pieces that one may.. or may not.. decide to link
into the target. The execution engine would be necessary, obviously,
but the rest is important for interactive development on the target
and should be available, if desired.
And do all of that in a relatively small part of the flash -- which,
if coded carefully and in assembly, should be quite doable. Not only
does careful coding provide small footprints, but it also provides
faster execution times. The problem would be that the flash available
seems to grow almost by the month, so maybe no one cares one way or
another and those times are behind us all.
All you need to do is port the interpreter to an MCU and implement a linker
/ loader.
Additional source code for these components are available at the
same site as EmuLith, Jos Dreesen's impressive Lilith emulator:
ftp://jdreesen.dyndns.org/ftp/
Windows / Linux / Mac OS-X versions are all available. Details are in the
readme.txt file there.
Thanks for the links. I'm curious and I'll look. Not hopeful,
exactly. But I will probably enjoy it very much, regardless.
Jon
.
- Follow-Ups:
- Re: Embedded Basic interpreter recommendations?
- From: Chris Burrows
- Re: Embedded Basic interpreter recommendations?
- References:
- Embedded Basic interpreter recommendations?
- From: John Speth
- Re: Embedded Basic interpreter recommendations?
- From: Jon Kirwan
- Re: Embedded Basic interpreter recommendations?
- From: Frank Buss
- Re: Embedded Basic interpreter recommendations?
- From: Jon Kirwan
- Re: Embedded Basic interpreter recommendations?
- From: Frank Buss
- Re: Embedded Basic interpreter recommendations?
- From: Chris Burrows
- Embedded Basic interpreter recommendations?
- Prev by Date: Re: Embedded Basic interpreter recommendations?
- Next by Date: Re: Lint
- Previous by thread: Re: Embedded Basic interpreter recommendations?
- Next by thread: Re: Embedded Basic interpreter recommendations?
- Index(es):
Relevant Pages
|