[OpenBIOS] Help with some code

Programmingkid programmingkidx at gmail.com
Sat Sep 25 19:32:56 CEST 2010


On Sep 25, 2010, at 6:00 AM, openbios-request at openbios.org wrote:

> Message: 2
> Date: Fri, 24 Sep 2010 09:25:28 -0400
> From: Tarl Neustaedter <tarl-b2 at tarl.net>
> To: The OpenBIOS Mailinglist <openbios at openbios.org>
> Subject: Re: [OpenBIOS] Help with some code
> Message-ID: <4C9CA6C8.2050009 at tarl.net>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
> 
>  You should get in the habit of putting stack diagram comments on every line 
> of code - it will help you keep track of what you are playing with. By 
> convention, a stack diagram starting with $ indicates a addr,len string 
> pointer, which you should use in this code for clarity.
> 
> As best I can tell without stack diagrams, you are generating strings of the 
> form "foo: set-foo foo ! ; foo", and it's probably barfing on "foo:" . I'm not 
> sure what this is supposed to accomplish.

What I'm trying to do is create a new word. The new word's name will be set-_variable_name_. What would be another way to create a new word inside another word? 

> 
> Replace the "eval" with a "type" and you should be able to see what it's 
> generating.

I tried your suggestion, but everything looked just fine. The problem shows up at compile-time. Using this code:

variable dog

: myword
4 -> dog
;


What the code should create at compile-time is this:

: myword
4 set-dog
;

but creates this instead

: myword
4 : set-dog
;

The problem is with the extra colon between the 4 and the set-dog word. I need a way to eliminate it from the myword word. Other times the compiler will say the word set-dog is undefined. Any clue how to fix this problem? 


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openbios.org/pipermail/openbios/attachments/20100925/e7780e9f/attachment.html>


More information about the OpenBIOS mailing list