Re: Data table usage and general error tracing ?
Samuel Tardieu <[email protected]> Sat, 24 Jan 2004 15:50:13 +0100
| Newsgroups | gmane.comp.lang.forth.picforth |
|---|---|
| Organization | Avian Carrier & Friends |
| Message-ID | <[email protected]> |
>>>>> "Chris" == easlab <[email protected]> writes: > Since RAM table is just part of the global-variables space, there is > no reason why it should be restricted to read-only ? There is a perfectly valid reason: I coded it that way because it fullfilled a need I had. > I got nothing but irritation from failing to 'decode' your > "substitute" example, except to note that: "substitutions new-key + > !" seems to contradict your read-only description. It looks like you didn't get it: "substitutions new-key + !" as the following signature: : change ( c n -- ) substitutions new-key + ! ; It looks up the "n"-th entry in the "substitutions" table, adds that to a buffer address (new-key) and stores "c" in it. There is no modification of the "substitutions" table. > I suggest editing the manual to show the compulsory ID eg: | The > following words allow you to create tables: | table <identifier> ( > "name" -- ) Start a RAM table I prefer to use the same notation as in the ANS Forth manual. > Once I recover from the un-needed frustration of having to > 'research' linux facilities, which you could have save me from > doing, I would give a beginner's experience of graduated test > sequences on a mininal 16c84 with just 4 ( LSB ) LEDs on portB, and > portA input. Most people say "thanks for sharing PicForth". *You* keep saying "you should have done more". I wrote PicForth because I needed a Forth compiler for the PIC 16F87x, I shared PicForth because I believe in software sharing. This does not create any other obligation on me. I do not owe you anything. I am not responsible of your "frustration of having to research linux facilities". Help the community and the community will help you. > Then what is the syntax for: Vector1[0] -> vector2[3] or if you > insist in pretending RAM is read-only Vector1[0] -> Reg(6) I do not insist in anything. And I don't understand your question. While I can figure what Vector1[0] means, what is Reg(6)? If you mean address 6 in memory, what you want to do can be done with: 0 Vector1 6 ! > Because EEPROM is read-only, the syntax of eetable would differ. > Sacrifice the symmetry between RAMtable and EEtable to get the nice > facility of writable arrarys ? I need read-only RAM tables for my projects. If you need writable RAM tables, write some code and share it. > It's difficult to imagine but perhaps you found, as gforth claims, > that there are few use for RAMarrays ? I haven't seen this "gforth claim", but I haven't had any need for writable preinitialized RAM tables. Sam -- Samuel Tardieu -- [email protected] -- http://www.rfc1149.net/sam