Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #15120

Re: Implementing ." in forth

From anton@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups comp.lang.forth
Subject Re: Implementing ." in forth
Date 2012-08-23 14:45 +0000
Organization Institut fuer Computersprachen, Technische Universitaet Wien
Message-ID <2012Aug23.164507@mips.complang.tuwien.ac.at> (permalink)
References <k15dp4$kag$1@dont-email.me>

Show all headers | View raw


Arnold Doray <invalid@invalid.com> writes:
>I am trying to write a small compatability harness for Mini (mini.terra-
>weather.com) and am stumbling over ." (Mini has built-in strings, and 
>uses . instead of ." )
>
>Anyway, I see it needs:
>
>1) a PARSE to run immediately (because ." may be used inside a word),
>2) then it needs to compile the string as a literal if in compilation 
>mode. 
>3) It needs to display the string, but not immediately. 
>
>My problem is that there are some things that need to be done 
>immediately, and others delayed. And there is a need to know if ." is 
>being executed while in compilation mode. 
>
>I am sure I am missing something. It surely can't be this complicated. I 
>would greatly appreciate any help. 

Well, the standard ." has undefined interpretation semantics, so you
just need to worry about the compilation semantics unless you want to
extend it.

You identified the parts correctly.  Here's an implementation in
standard Forth:

: ."
  [char] " parse    \ part 1)
  postpone sliteral \ part 2)
  postpone type     \ part 3)
; immediate

- anton
-- 
M. Anton Ertl  http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
     New standard: http://www.forth200x.org/forth200x.html
   EuroForth 2012: http://www.euroforth.org/ef12/

Back to comp.lang.forth | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Implementing ." in forth Arnold Doray <invalid@invalid.com> - 2012-08-23 14:12 +0000
  Re: Implementing ." in forth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-08-23 14:45 +0000
    Re: Implementing ." in forth Arnold Doray <invalid@invalid.com> - 2012-08-24 11:30 +0000
      Re: Implementing ." in forth Josh Grams <josh@qualdan.com> - 2012-08-24 12:56 +0000
      Re: Implementing ." in forth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-08-24 14:41 +0000
        Re: Implementing ." in forth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-08-24 16:45 +0000
        Re: Implementing ." in forth Arnold Doray <invalid@invalid.com> - 2012-08-25 03:41 +0000
          Re: Implementing ." in forth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-08-25 09:05 +0000
            Re: Implementing ." in forth Arnold Doray <invalid@invalid.com> - 2012-08-29 15:48 +0000
              Re: Implementing ." in forth Coos Haak <chforth@hccnet.nl> - 2012-08-29 21:19 +0200
              Re: Implementing ." in forth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-08-30 13:00 +0000
  Re: Implementing ." in forth Andrew Haley <andrew29@littlepinkcloud.invalid> - 2012-08-23 12:00 -0500
  Re: Implementing ." in forth Spam@ControlQ.com - 2012-08-23 14:16 -0400
  Re: Implementing ." in forth Mark Wills <markrobertwills@yahoo.co.uk> - 2012-08-23 14:37 -0700
  Re: Implementing ." in forth "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-08-23 19:37 -0400
  Re: Implementing ." in forth hughaguilar96@yahoo.com - 2012-08-24 00:06 -0700
    Re: Implementing ." in forth Arnold Doray <invalid@invalid.com> - 2012-08-24 11:32 +0000
      Re: Implementing ." in forth Doug Hoffman <glidedog@gmail.com> - 2012-08-24 08:33 -0400
  Re: Implementing ." in forth jim@rainbarrel.com - 2012-08-24 09:15 -0700
  Re: Implementing ." in forth Chris Hinsley <chris.hinsley@gmail.com> - 2012-08-25 15:15 +0100

csiph-web