Hallo Sergey!

Ups! some typos: quit --> quiet; heve --> have; put --> puts; 
0 --> 10;    :-(((

BTW I think now you don't have to struggle anymore with the brackets []
BTW 2 (I'm not able to test  3dface because I don't  have ]@ .)

Regards Martin 

Am Freitag, den 17.02.2006, 18:36 +0100 schrieb
[EMAIL PROTECTED]:
> Hallo Sergey!
> 
> Normally I am a quit reader of your questions. And I heve learned a lot
> from you by this - so this time I am glad that I can help you:
> 
> The fault is in : endl 
> 
> There you use the word ! wich put a 10 at the end of a string (i.e
> Lineend) but this 0 is four byte long so you destroyed the adress of
> some other word.
> 
> (the eloquence of Bernds forth provides the code to crash by the first
> occurence of endl.)
> 
> Use c! instead it will only store the byte 10 (0A).
> 
> Regards Martin 
> 
> 
> 
> 
> Am Donnerstag, den 16.02.2006, 18:06 -0700 schrieb Sergey Plis:
> > Hi!
> > 
> > I need to figure out some basic forth question in the way it deals with
> > strings. I wrote a rudimentary DXF exporter (see attachment) and
> > stumbled upon problems with strings. The problem is with 3dface word
> > with is lengthy and I provide it here in a contracted view to
> > demonstrate the point:
> > : 3DFACE ( fid r1[ r2[ r3[ -- )
> >     { r1[ r2[ r3[ | 
> >     dup [ s"  0 " 2dup endl ] sliteral dxf-write
> >     dup [ s" 3DFACE " 2dup endl ] sliteral dxf-write
> >     dup [ s"  8 " 2dup endl ] sliteral dxf-write 
> >     dup [ s" shell00 " 2dup endl ] sliteral dxf-write
> >   
> > ...
> >     
> >     dup [ s"  62 " 2dup endl ] sliteral dxf-write
> >     [ s" 0 " 2dup endl ] sliteral dxf-write } ;
> > 
> > The firs version of this word looked like that:
> > : 3DFACE ( fid r1[ r2[ r3[ -- )
> >     { r1[ r2[ r3[ | 
> >     dup s"  0 " 2dup endl dxf-write
> >     dup s" 3DFACE " 2dup endl dxf-write
> >     dup s"  8 " 2dup endl dxf-write 
> >     dup s" shell00 " 2dup endl dxf-write
> >   
> > ...
> >     
> >     dup s"  62 " 2dup endl dxf-write
> >     s" 0 " 2dup endl dxf-write } ;
> > 
> > However, this version could only be called once (that is saving just one
> > face). Second call would always raise "Bus error" message. I concluded
> > that I do not understand something very basic here. But I needed to get
> > the job done so I came up with the version that uses sliteral trick.
> > This version works, but lets me save only one file. Trying to save 2
> > files during one bigforth session again raises "Bus error" message.
> > 
> > Can somebody look and tell me what am I doing wrong?
> > 
> > Thank you in advance.
> > 
> > --
> > Sergey
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]

Attachment: signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil

Reply via email to