home .. forth .. colorforth mail list archive ..

[colorforth] about colorforth


Mark Slicker a écrit :

> (previous message)

> Actually these are seperate tables, they are not interleaved See
> in color.asm, the macro dictionary (macro0,macro2), and
> the forth dictionary (forth0,forth2).

In fact, its much easier to code the dictionary (let say for scale,
easier by hand) in that manner: theres two small loops instead
of a monolithic one and they can go faster maybe, I dont know,
at least now I understand clearly the format in what these dd definitions are
lol

**************************

> This sounds about right. Also 'word ;' compiles to a jump intruction which
> jumps to the definition of 'word', so a definition might not conclude with
> a ret instruction. Also definitions may have multiple entry points. Here
> is one example from COLOR.COM:
>
> : abs dup negate
> : max less if swap then drop ;
>
> Definions may also have multiple exit points. So really there is no
> pattern to a definition, it is just a machine language sequence.
>
>

ok great!

****************************************

> > - Why does Chuck used the "143o shl 7" type
> >    of instruction encoding in his source??  I have
> >    NASM and I'm screwed lol ;p (dont want to
> >    resort looking at color.com in hex viewer)
> >
>
> These are assembler expressions, they construct the huffman
> representation, character by character, of the word part of a dictionary
> entry. See http://www.colorforth.com/chars.html .
>

I think I got an idea, a javascript colorforth editor,
or maybe even development suite (simulator with
stacks in different popups, RPN assembler specific
for the editor the target compiles for)for a simplified
colorforth single task kernel alone, without editor embedded.
I think it could be great if its interoperable between browsers,
since MS Windows comes with the IE browser, you
can work on your project anywhere, truly anywhere,
on many archtictures too (hmm macs, unix, pocket pc),
since its (it shall be) javascript compliant to go on the
Internet WWW service. It would be great to be able
to save a file on the HD, on a disquette or any other
medium, like flash memory and serial wire streaming,
IMHO it could be truly great for colorforth and even
easy to code with the css style sheet model (SMALL
CHARS PLEASE ;P) it enables us to go back in time
easly, by doing the inverse loops, and get back our
precious, raw, tokenized colorForth word, to write
on some disquette somewhere ;p

Ill egt some info on javascript and will code in that
to start. cause to me its the most portable and
accessible language. Javascript may be able to rule
this world after all lol

> In colorForth (based on the description at
> http://www.colorforth.com/X18.html):
>
> : +* 1 ? if over + then ;
>
> But this is just forth not machine code. The machine code would be similar
> but probably more efficient.

I could not ask a better explanation, thank you! I printed the
colorforth source at http://www.merlintec.com/download/color.html
(from wich I  modified the font attribute "++large" in the .CSS
to get printable text, 7 full pages) and I will look at how the basic
colorForth words are implemented into real problems. Also the forth glossary
on http://www.sleepless-night.com/cgi-bin/twiki/view/Main/ColorForthWord
is a great tool that is helping me understand a lot more faster.

>
> (**** AHA system by Jeff Fox,****)
>
> Feel free to ask questions, I've managed to figure out pretty much the
> whole system, except for multitasking which I vaguely understand. It
> is really quite simple to understand compared to something like linux.
> There is a small amount of source to read and pretty much every piece of
> code is used. I'm not too familar with AHA, but Jeff sometimes visits this
> list.
>
> Mark

The AHA striked me by the simplicity of its flowcharts, and Im sure there's
something great about it, right when I finished playing with coloforth ill drop
on AHA
(that means a big "maybe not before a very long time" ;pp). If you think AHA
has good design practices tell me more please, as it seams a pretty good piece
of machine forth code solving real problems.

Again, thank you Mark!!
------------------------

To Unsubscribe from this list, send mail to Mdaemon@xxxxxxxxxxxxxxxxxx with:
unsubscribe ColorForth
as the first and only line within the message body
Problems   -   List-Admin@xxxxxxxxxxxxxxxxxx
Main ColorForth site   -   http://www.colorforth.com