Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #132248
| From | Ruvim <ruvim.pinka@gmail.com> |
|---|---|
| Newsgroups | comp.lang.forth |
| Subject | Re: single-xt approach in the standard |
| Date | 2024-09-18 16:41 +0400 |
| Organization | A noiseless patient Spider |
| Message-ID | <vcehp2$2dap$1@dont-email.me> (permalink) |
| References | <vcbn5e$3etuk$1@dont-email.me> <vccka8$3l9rv$2@dont-email.me> <vceac8$3unj9$5@dont-email.me> |
On 2024-09-18 14:34, Ruvim wrote:
> On 2024-09-17 23:12, Anthony Howe wrote:
[...]
>> what I don't get is how for a dual-xt system you define a single word
>> with two actions for interpret and compile. I don't see a word to
>> distinguish between the two, except maybe IMMEDIATE.
>>
[...]
>> Do you define the same word twice, once for compile (immediate) and
>> again for interpret (order of definitions should not be important).
>> Example:
>>
>> : s" ( "ccc" -- sd | ) postpone sliteral ; immediate
>> : s" ( "ccc" -- sd | ) dup >r allocate throw tuck r@ move r> ;
>
> Namely this cannot be standard compliant. But yes, something similar.
> There are different ways in different systems.
>
> For example, it might look like this:
>
> : s" ( "ccc<quot>" -- ) postpone sliteral ; immediate
>
> interpret: s" ( "ccc<quot>" -- sd )
> dup >r allocate throw tuck r@ move r>
> ;
>
> or
>
> interp: s" ( "ccc<quot>" -- sd )
> dup >r allocate throw tuck r@ move r>
> ;interp
Typo: parsing is missed.
Correction:
: s" ( "ccc<quot>" -- ) '"' parse postpone sliteral ; immediate
interpret: s" ( "ccc" -- sd )
'"' parse
dup >r allocate throw tuck r@ move r>
;
>
>
> Where (in a classic single-xt system):
>
> : interpret: ( "<spaces>name" -- colon-sys )
> parse-name get-current search-wordlist
> dup 0 = abort" (not found; comp semantics must be defined first)"
> -1 = abort" (the found word is not immediate)"
> ( xt.compilation ) build-interpretation-slot ( a-addr )
> >r depth >r :noname ( xt colon-sys ) r> 1- roll r> !
> ;
>
> : obtain-interpretation ( xt1 -- xt1 | xt2 )
> dup lookup-interpretation-slot dup if nip @ exit then drop
> ;
>
> : find ( c-addr -- c-addr 0 | xt 1 | xt -1 )
> find dup if dup 1 = if state @ 0= if
> >r obtain-interpretation r>
> then then then
> ;
>
> : name>interpret ( nt -- xt|0 )
> name>interpret obtain-interpretation
> ;
>
>
> And this makes a classic single-xt system a dual-xt system.
>
> But we still have to execute the result of "name>interpret" *only* in
> interpretation state if we want to perform the interpretation semantics
> of the word. Because we don't know whether the execution semantics
> identified by the returned xt depend on STATE. And if they depend, we
> must execute them in interpretation state to perform the interpretation
> semantics.
>
> Therefore, having a second xt gives us little benefit.
>
> NB: when we want to perform the interpretation semantics for a word, we
> want to perform *exactly* the behavior that the system exhibits when the
> name of that word is encountered by the Forth text interpreter in
> interpretation state. There are no examples yet where we need anything
> else.
>
>
> --
> Ruvim
>
Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar
single-xt approach in the standard Ruvim <ruvim.pinka@gmail.com> - 2024-09-17 14:54 +0400
Re: single-xt approach in the standard minforth@gmx.net (minforth) - 2024-09-17 11:20 +0000
Re: single-xt approach in the standard Ruvim <ruvim.pinka@gmail.com> - 2024-09-17 15:59 +0400
Re: single-xt approach in the standard Anthony Howe <achowe@snert.com> - 2024-09-17 14:58 -0400
Re: single-xt approach in the standard dxf <dxforth@gmail.com> - 2024-09-18 13:39 +1000
Standardization process (was: single-xt approach in the standard) Ruvim <ruvim.pinka@gmail.com> - 2024-09-18 11:07 +0400
Re: Standardization process dxf <dxforth@gmail.com> - 2024-09-18 20:16 +1000
Re: Standardization process Ruvim <ruvim.pinka@gmail.com> - 2024-09-18 14:51 +0400
Re: Standardization process dxf <dxforth@gmail.com> - 2024-09-18 23:39 +1000
Re: Standardization process Ruvim <ruvim.pinka@gmail.com> - 2024-09-18 18:41 +0400
Re: Standardization process Ruvim <ruvim.pinka@gmail.com> - 2024-09-18 15:59 +0400
Re: single-xt approach in the standard Ruvim <ruvim.pinka@gmail.com> - 2024-09-18 12:44 +0400
Re: single-xt approach in the standard Gerry Jackson <do-not-use@swldwa.uk> - 2024-09-18 21:59 +0100
Re: single-xt approach in the standard albert@spenarnc.xs4all.nl - 2024-09-19 10:17 +0200
Standard testsuite (was: single-xt approach in the standard) Ruvim <ruvim.pinka@gmail.com> - 2024-09-19 12:24 +0400
Re: Standard testsuite (was: single-xt approach in the standard) albert@spenarnc.xs4all.nl - 2024-09-19 10:54 +0200
Re: single-xt approach in the standard mhx@iae.nl (mhx) - 2024-09-17 12:15 +0000
Re: single-xt approach in the standard Ruvim <ruvim.pinka@gmail.com> - 2024-09-17 17:04 +0400
Re: single-xt approach in the standard minforth@gmx.net (minforth) - 2024-09-17 13:58 +0000
Re: single-xt approach in the standard Ruvim <ruvim.pinka@gmail.com> - 2024-09-17 18:55 +0400
Re: single-xt approach in the standard albert@spenarnc.xs4all.nl - 2024-09-17 17:22 +0200
Re: single-xt approach in the standard dxf <dxforth@gmail.com> - 2024-09-21 12:51 +1000
Re: single-xt approach in the standard Ruvim <ruvim.pinka@gmail.com> - 2024-09-21 15:42 +0400
Re: single-xt approach in the standard dxf <dxforth@gmail.com> - 2024-09-22 12:15 +1000
Re: single-xt approach in the standard anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2024-09-22 07:54 +0000
Re: single-xt approach in the standard albert@spenarnc.xs4all.nl - 2024-09-22 12:05 +0200
Re: single-xt approach in the standard dxf <dxforth@gmail.com> - 2024-09-23 13:34 +1000
Re: single-xt approach in the standard Anthony Howe <achowe@snert.com> - 2024-09-23 10:45 -0400
Re: single-xt approach in the standard dxf <dxforth@gmail.com> - 2024-09-24 14:50 +1000
Re: single-xt approach in the standard dxf <dxforth@gmail.com> - 2024-09-25 10:35 +1000
Re: single-xt approach in the standard Ruvim <ruvim.pinka@gmail.com> - 2024-09-22 20:57 +0400
Re: single-xt approach in the standard anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2024-09-22 17:13 +0000
Semantics as observable behavior (was: single-xt approach in the standard) Ruvim <ruvim.pinka@gmail.com> - 2024-09-22 23:53 +0400
Re: Semantics as observable behavior (was: single-xt approach in the standard) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2024-09-22 21:04 +0000
Re: Semantics as observable behavior Ruvim <ruvim.pinka@gmail.com> - 2024-09-23 02:01 +0400
Re: Semantics as observable behavior Ruvim <ruvim.pinka@gmail.com> - 2024-09-23 11:36 +0400
Re: single-xt approach in the standard albert@spenarnc.xs4all.nl - 2024-09-22 21:34 +0200
Re: single-xt approach in the standard Ruvim <ruvim.pinka@gmail.com> - 2024-09-23 00:02 +0400
Re: single-xt approach in the standard albert@spenarnc.xs4all.nl - 2024-09-23 09:40 +0200
Re: single-xt approach in the standard minforth@gmx.net (minforth) - 2024-09-23 08:42 +0000
Re: single-xt approach in the standard dxf <dxforth@gmail.com> - 2024-09-23 15:28 +1000
Standard compliance for systems (was: single-xt approach in the standard) Ruvim <ruvim.pinka@gmail.com> - 2024-09-23 10:56 +0400
Re: Standard compliance for systems dxf <dxforth@gmail.com> - 2024-11-22 16:49 +1100
Re: Standard compliance for systems minforth@gmx.net (minforth) - 2024-11-22 10:11 +0000
Re: Standard compliance for systems mhx@iae.nl (mhx) - 2024-11-22 11:35 +0000
Re: Standard compliance for systems minforth@gmx.net (minforth) - 2024-11-22 13:11 +0000
Re: Standard compliance for systems mhx@iae.nl (mhx) - 2024-11-22 15:26 +0000
Re: Standard compliance for systems dxf <dxforth@gmail.com> - 2024-11-23 11:54 +1100
Re: Standard compliance for systems albert@spenarnc.xs4all.nl - 2024-11-23 14:09 +0100
Re: Standard compliance for systems dxf <dxforth@gmail.com> - 2024-11-24 12:02 +1100
Re: single-xt approach in the standard Stephen Pelc <stephen@vfxforth.com> - 2024-09-21 14:47 +0000
Re: single-xt approach in the standard Ruvim <ruvim.pinka@gmail.com> - 2024-09-21 23:18 +0400
Re: single-xt approach in the standard Stephen Pelc <stephen@vfxforth.com> - 2024-09-22 12:09 +0000
Re: single-xt approach in the standard anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2024-09-22 14:28 +0000
Re: single-xt approach in the standard albert@spenarnc.xs4all.nl - 2024-09-22 21:20 +0200
Re: single-xt approach in the standard albert@spenarnc.xs4all.nl - 2024-09-22 11:53 +0200
Re: single-xt approach in the standard Ruvim <ruvim.pinka@gmail.com> - 2024-09-23 01:15 +0400
Re: single-xt approach in the standard albert@spenarnc.xs4all.nl - 2024-09-23 10:36 +0200
Re: single-xt approach in the standard mhx@iae.nl (mhx) - 2024-09-23 09:32 +0000
Re: single-xt approach in the standard albert@spenarnc.xs4all.nl - 2024-09-23 13:57 +0200
Re: single-xt approach in the standard anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2024-09-23 17:02 +0000
Re: single-xt approach in the standard mhx@iae.nl (mhx) - 2024-09-23 19:20 +0000
Re: single-xt approach in the standard Ruvim <ruvim.pinka@gmail.com> - 2024-09-23 14:16 +0400
Re: single-xt approach in the standard anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2024-09-23 16:52 +0000
Re: single-xt approach in the standard Ruvim <ruvim.pinka@gmail.com> - 2024-09-25 11:27 +0400
Re: single-xt approach in the standard albert@spenarnc.xs4all.nl - 2024-09-17 17:18 +0200
Re: single-xt approach in the standard Anthony Howe <achowe@snert.com> - 2024-09-17 15:12 -0400
Re: single-xt approach in the standard anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2024-09-17 19:25 +0000
Re: single-xt approach in the standard Anthony Howe <achowe@snert.com> - 2024-09-24 07:08 -0400
Re: single-xt approach in the standard Stephen Pelc <stephen@vfxforth.com> - 2024-09-17 23:04 +0000
Re: single-xt approach in the standard Ruvim <ruvim.pinka@gmail.com> - 2024-09-18 10:10 +0400
Re: single-xt approach in the standard mhx@iae.nl (mhx) - 2024-09-18 06:38 +0000
Re: single-xt approach in the standard Ruvim <ruvim.pinka@gmail.com> - 2024-09-19 12:26 +0400
Re: single-xt approach in the standard Ruvim <ruvim.pinka@gmail.com> - 2024-09-18 14:34 +0400
Re: single-xt approach in the standard Ruvim <ruvim.pinka@gmail.com> - 2024-09-18 16:41 +0400
Re: single-xt approach in the standard Hans Bezemer <the.beez.speaks@gmail.com> - 2024-09-18 18:43 +0200
Re: single-xt approach in the standard albert@spenarnc.xs4all.nl - 2024-09-19 10:36 +0200
Re: single-xt approach in the standard Hans Bezemer <the.beez.speaks@gmail.com> - 2024-09-20 14:58 +0200
Re: single-xt approach in the standard anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2024-09-17 21:15 +0000
Re: single-xt approach in the standard Ruvim <ruvim.pinka@gmail.com> - 2024-09-18 12:15 +0400
Re: single-xt approach in the standard peter.m.falth@gmail.com (PMF) - 2024-09-21 21:28 +0000
Re: single-xt approach in the standard anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2024-09-22 07:23 +0000
Re: single-xt approach in the standard Ruvim <ruvim.pinka@gmail.com> - 2024-09-22 21:34 +0400
csiph-web