Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #15120
| 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> |
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 | Next — Previous in thread | Next in thread | Find similar | Unroll 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