|
From: pito <pi...@vo...> - 2010-07-04 11:16:26
|
Andy, so the forth when parsing any word in wordlist is using always the newest word defined(from lefthanside or newest defined in the wordlist) so the word height will use the word sinus next right to the word position..? Pito ----- PŮVODNÍ ZPRÁVA ----- Od: an...@ki... Komu: "pito" <pi...@vo...> Předmět: Re: [Amforth-devel] Starting with amforth v4 Datum: 4.7.2010 - 13:02:32 > The last definition you wrote is the one that gets > run when you invoke > the word. > > So for :- > > >> words > > navigate distance position sinus sinus speed height > > sinus .... > > > ........................................................* > > Assuming left hand side is the start or oldest end > of the wordlist and > right is the end or newest end of the wordlist. The > asterisk is marking > the one that would be used. The others are waste. > > For the purposes of Space Technology this is actually > a good feature. > > Imagine that a stray bit of cosmic radiation zaps through > your > controllers memory and screws up the last sinus word > in the list. > > You dont want to try and recovery all the memory that > the defintion > occupied becasue there is no way for you to tell which > bit has been zapped. > > You just define sinus again. the new definition coming > closer to the end > of the list is used in preference to the screwed one > and your satellite > is returned to full service. > > If you were developing code in situ as a development > thing you would > marker before you started. Develop and when happy invoke > the marker and > reload just the good code bits. Eliminating all the > trial and error > along the way. > > FORTH has apparently been used in several space programs > because of > these types of features. ie your mission is remotely > repairable and > therefore less likely to fail. > > Hope this helps. > > Cheers > > Andy Kirby > > > > On 04/07/10 11:46, pito wrote: > > Andy, after I rised the Q I did it directly with > > my dev system. Frankly > > > the way how it works is changing my understanding > > for "interactivity". > > > Basically you cannot delete wrong words so the space > > occupied will grow. > > > Imagine my apollo picosatellite flying in the space > > and I am tweaking > > > the sw in its guidance computer. So I have to have > > at least a chance > > > activate/deactivate specific words. As I've seen > > the forth manual the > > > last definition of a word is valid. So you may have > > many words with > > > same name, however the last one will be used (am > > I right?) for "following" > > > usage. Imagine wordlist: > >> words > > navigate distance position sinus sinus speed height > > sinus .... > > > > > The Q: which sinus word will be used in speed and > > height calculations? > > > > > Sorry for this elementar Q, however I think one has > > to understand the > > > concepts... > > Pito > > > > > > ----- PŮVODNÍ ZPRÁVA ----- > > Od: an...@ki... > > Komu: amf...@li... > > Předmět: Re: [Amforth-devel] Starting with amforth > > v4 > > > Datum: 4.7.2010 - 12:02:46 > > > >> Interesting question. > >> > >> I am afraid my understanding is that when you marker > >> >> you delete > >> everything back to the marker. Other markers as > >> well. > >> >> > >> Managing linked lists etc on microcontrolers with > >> limited > >> >> space can be > >> problematic. You dont have the memory to reorganize > >> >> the memory space to > >> free up bits of space in the middle of lumps of > >> good > >> >> code. Who is to say > >> that the next bit of code would fit that space ??? > >> >> > >> The technique then is to purge from the end of the > >> >> list wherever that > >> may be back to the marker. > >> > >> So for > >> > >>> bla bla -foo3 hello hello -foo2 happy happy -foo1 > >>> >>> > >> doing -foo2 would give you..... > >> > >>> bla bla -foo3 hello hello > >> > >> Doing -foo1 would be pointless. > >> > >> Doing -foo3 would give........ > >> > >>> bla bla > >> > >> Happy to be told I have got the wrong end of the > >> stick > >> >> though. > >> > >> Cheers > >> > >> Andy Kirby > >> > >> > >> > >> On 03/07/10 19:53, pito wrote: > >>> Matthias, > >>> I see the marker usage with sieve example. If you > >>> >>> mark the set of words > >>>> with -foo2 where is the end of the marked area > >>>> (as > >>>> >>> you may have X words > >>>> defined)? Is that the next new marker position? > >>>> It > >>>> >>> means (wordlist): > >>>> > >>> bla bla -foo3 hello hello -foo2 happy happy -foo1 > >>> >>>> <-----------> <---------------> <---------------> > >>>> >>> the area of marker > >>>> > >>> -foo2 > >>> > >>> bla bla -foo3 happy happy -foo1 > >>> <-----------> <---------------> > >>> > >>> or > >>> > >>> bla bla -foo3 ...................happy happy -foo1 > >>> >>> ?? > >>>> <-----------> <---------------> > >>>> >>>> > >>> My understanding is it works like a "file system" > >>> >>> so a deleted -foo will > >>>> create a free space for new words - am I right? > >>>> >>> As I uploaded lot of stuff for my naive experiments > >>> >>> and the word list > >>>> is now very long so the way how the list is maintained > >>>> >>> seems to be a > >>>> challenge.. > >>> Pito > >>> > >>> ----- PŮVODNÍ ZPRÁVA ----- > >>> Od: "Matthias Trute" <mt...@we...> > >>> Komu: "Everything around amforth" <amf...@li...> > >>> > >>> >>>>>> Předmět: Re: [Amforth-devel] Starting with > >>>>>> amforth > >>>>>> >>> v4 > >>>> Datum: 3.7.2010 - 13:55:30 > >>> > >>>> Hi Pito, > >>>> > >>>>> My previous Q to the interactivity - so my understanding > >>>>> >>>>>>>> is you may delete > >>>>>> words from flash w/o burning new image. > >>>> > >>>> Just do a > >>>> > >>>> marker -foo > >>>> : bar ; > >>>> : baz bar ; > >>>> ... use bar and baz and... > >>>> > >>>> now get rid of bar > >>>> > >>>> -foo > >>>> > >>>> and both bar/baz and -foo are gone. The only real > >>>> >>>> difference > >>>>>> from a > >>>> users point of view is some planning with the > >>>> -foo > >>>> >>>>>> thing. Most of my > >>>> source files define such markes... > >>>> > >>>>> However let us mind the atmel > >>>>> flash and eeprom endurance.. > >>>> > >>>> I still use the very first atmegas for developing, > >>>> >>>>>> they have seen > >>>> versions pre-0.1 and still work. And replacing > >>>> a > >>>> >>>> DIP > >>>>>> package is > >>>> easy... > >>>> > >>>> Matthias > >>> > >>> > >>> > >>> ------------------------------------------------------------------------------ > >>> > >>> >>>>>> This SF.net email is sponsored by Sprint > >>> What will you do first with EVO, the first 4G phone? > >>> >>>> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first > >>> >>>> > >>>> >>>> _______________________________________________ > >>>> >>> Amforth-devel mailing list > >>> Amf...@li... > >>> https://lists.sourceforge.net/lists/listinfo/amforth-devel > >>> >>>> > >> > >> ------------------------------------------------------------------------------ > >> > >> >>> This SF.net email is sponsored by Sprint > >> What will you do first with EVO, the first 4G phone? > >> >> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first > >> >> > >> >> _______________________________________________ > >> Amforth-devel mailing list > >> Amf...@li... > >> https://lists.sourceforge.net/lists/listinfo/amforth-devel > >> > > > > > |