Groups | Search | Server Info | Login | Register


Groups > comp.lang.forth > #23317

Re: jonesforth: taking up the challenge

Newsgroups comp.lang.forth
Date 2013-06-08 01:30 -0700
References (3 earlier) <kotir2$9j1$1@speranza.aioe.org> <51b267c3$0$6084$e4fe514c@dreader36.news.xs4all.nl> <kotq7j$ai4$1@online.de> <85vc5p2msh.fsf@junk.nocrew.org> <59342982-e08a-48ee-ae94-584a0bb606d8@googlegroups.com>
Message-ID <cc714904-1334-495d-bb00-cc1e2011d9b8@googlegroups.com> (permalink)
Subject Re: jonesforth: taking up the challenge
From mhx@iae.nl

Show all headers | View raw


On Saturday, June 8, 2013 8:17:46 AM UTC+2, m...@iae.nl wrote:

> Use http://www.calcentral.com/~forth/forth/
> (Bill Muench's e-forth site) for 3) and 4), really beautiful
> code!

About 25 changes are needed to let the metacompiler
build on iForth. It should be less on JonesForth.

Compare: (<)C:\dfwforth\examples\eforth\emeta.frt
   with: (>)C:\dfwforth\examples\eforth\EMETA.X86

5,18d5
< -- needed for iForth -------
< ANEW -emeta
< VARIABLE BREAK?
< : PARSE-WORD ( -- a u ) BL WORD COUNT ;
< 
< ALSO ASSEMBLER DEFINITIONS
< 	: jmp CR ." jmp at " H. ;
< 	VARIABLE 'C@ 
< 	VARIABLE 'C!  
< 	VARIABLE 'C,  
< 	VARIABLE 'HERE
< PREVIOUS DEFINITIONS
< -- -------------------------
< 
46,47c32
< \ *** iForth : ROOT ( -- ) FORTH-WORDLIST DUP 2 SET-ORDER  DEFINITIONS ;
< : ROOT ( -- ) ONLY FORTH ALSO  DEFINITIONS ;
---
> : ROOT ( -- ) FORTH-WORDLIST DUP 2 SET-ORDER  DEFINITIONS ;
56a41,42
> \ : PARSE-WORD ( -- a u ) BL WORD COUNT ;
> 
73c60
< : >IMAGE ( a -- d ) #IMAGE @ OVER U< IF S" image" SERR THEN ISEG @ + ;
---
> : >IMAGE ( a -- d ) #IMAGE @ OVER U< IF S" image" SERR THEN ISEG @ ;
77,78c64,65
<   IF R@ ALLOCATE IF S" seg alloc" SERR THEN
<     DUP ISEG ! R> [CHAR] b ( a s u c ) FILL EXIT
---
>   IF R@ 0 16 UM/MOD NIP alloc IF S" seg alloc" SERR THEN
>     DUP ISEG ! R> [CHAR] b ( a s u c ) LFILL EXIT
82,86c69,81
<   S" eforth.com" 2DUP R/W BIN CREATE-FILE THROW ( handle) >R
<   ISEG @ #IMAGE @  R@ WRITE-FILE THROW
<   R> CLOSE-FILE THROW ;
< 
< : ENDIAN ( n -- n ) ;
---
>   ACTIVE @ ( save current file id )
>   S" EFORTH.COM" 2DUP 0 ( normal ) CREATE-FILE ?DOS  hHCB
>   H# 100 ( offset for .COM file )
>   #IMAGE @ OVER -  ISEG @ LONG!  WRITE  CLOSE
>   ACTIVE ! ( restore open file if any ) ;
> 
> VARIABLE 'ENDIAN
> : ENDIAN ( n -- n ) 'ENDIAN @EXECUTE ;
> : ?ENDIAN ( -- ) ( check host byte order )
>   BASE C@
>   IF ['] NOOP ( little endian )
>   ELSE ['] FLIP ( big endian )
>   THEN 'ENDIAN ! ;
90,91c85,86
< VOCABULARY TARGET  
< ' TARGET >BODY CONSTANT TARGET-WORDLIST
---
> WORDLIST CONSTANT TARGET-WORDLIST
> TARGET-WORDLIST >VOC TARGET
95,96c90,91
< VOCABULARY INSIDE  
< ' INSIDE >BODY CONSTANT INSIDE-WORDLIST
---
> WORDLIST CONSTANT INSIDE-WORDLIST
> INSIDE-WORDLIST >VOC INSIDE
104,105c99,100
< VOCABULARY OUTSIDE  
< ' OUTSIDE >BODY CONSTANT OUTSIDE-WORDLIST
---
> WORDLIST CONSTANT OUTSIDE-WORDLIST
> OUTSIDE-WORDLIST >VOC OUTSIDE
143,144c138,139
< :O C@ ( a -- c ) >IMAGE C@ ;O
< :O C! ( c a -- ) >IMAGE C! ;O
---
> :O C@ ( a -- c ) >IMAGE LC@ ;O
> :O C! ( c a -- ) >IMAGE LC! ;O
148,152c143,147
< :O @ ( a -- n ) >IMAGE @ ENDIAN ;O
< :O ! ( n a -- ) SWAP ENDIAN SWAP >IMAGE ! ;O
< :O , ( n -- ) [O] HERE 1 [O] CELLS [O] ALLOT [O] ! ;O
< 
< : MOVE-C ( a a n -- ) >R >IMAGE R> CMOVE ;
---
> :O @ ( a -- n ) >IMAGE L@ ENDIAN ;O
> :O ! ( n a -- ) SWAP ENDIAN SWAP >IMAGE L! ;O
> :O , ( n -- ) [O] HERE 1 [O] CELLS [O] ALLOT [O] ! ;O
> 
> : MOVE-C ( a a n -- ) >R CS0 SWAP >IMAGE R> LCMOVE ;
247c242
< ALSO ASSEMBLER
---
> ALSO ASM86
255c250
< : TASM ( -- ) ALSO ASSEMBLER  ;
---
> : TASM ( -- ) ALSO ASM86  !ASM ;
301,302c296,297
<   0 [O] ORG
<   DECIMAL  !CSP-T  [I] [ ;
---
>   H# 0 [O] ORG
>   DECIMAL  ?ENDIAN  !CSP-T  [I] [ ;

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


Thread

jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-04 18:14 +0000
  Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-04 11:28 -0700
  Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-06 15:37 -0500
    Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-06 13:49 -0700
      Re: jonesforth: taking up the challenge "Ed" <invalid@invalid.com> - 2013-06-07 12:32 +1000
    Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-07 14:36 +0000
      Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-07 08:39 -0700
        Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-07 17:04 +0000
          Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-07 11:19 -0700
          Re: jonesforth: taking up the challenge "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-06-07 17:24 -0400
            Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-07 23:04 +0000
        Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-11 14:59 +0000
          Re: jonesforth: taking up the challenge Bill Richards <billrich@gmx.com> - 2013-06-11 16:09 +0000
            Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-12 08:08 -0500
              Re: jonesforth: taking up the challenge Bill Richards <billrich@gmx.com> - 2013-06-12 13:52 +0000
                Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-12 14:17 -0500
                Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-13 08:24 +0000
              Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-12 14:18 +0000
                Re: jonesforth: taking up the challenge Bill Richards <billrich@gmx.com> - 2013-06-12 15:05 +0000
                Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-13 01:40 +0000
                Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-06-13 08:55 +0200
                Re: jonesforth: taking up the challenge "Elizabeth D. Rather" <erather@forth.com> - 2013-06-12 21:05 -1000
                Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-06-13 10:49 +0200
                Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-13 08:55 +0000
                Re: jonesforth: taking up the challenge Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-13 14:33 +0200
                Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-13 13:14 +0000
                Re: jonesforth: taking up the challenge Bill Richards <billrich@gmx.com> - 2013-06-13 18:33 +0000
                Re: jonesforth: taking up the challenge Mark Wills <markrobertwills@yahoo.co.uk> - 2013-06-14 01:25 -0700
                Re: jonesforth: taking up the challenge rickman <gnuarm@gmail.com> - 2013-06-15 12:00 -0400
                Re: jonesforth: taking up the challenge Mark Wills <markrobertwills@yahoo.co.uk> - 2013-06-15 14:35 -0700
                Re: jonesforth: taking up the challenge rickman <gnuarm@gmail.com> - 2013-06-15 19:29 -0400
                Re: jonesforth: taking up the challenge Mark Wills <markrobertwills@yahoo.co.uk> - 2013-06-17 03:31 -0700
                Re: jonesforth: taking up the challenge rickman <gnuarm@gmail.com> - 2013-06-17 19:16 -0400
                Re: jonesforth: taking up the challenge rickman <gnuarm@gmail.com> - 2013-06-15 11:58 -0400
          Re: jonesforth: taking up the challenge Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-11 18:32 +0200
            Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-11 10:33 -0700
              Re: jonesforth: taking up the challenge Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2013-06-11 20:42 +0100
                Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-12 00:20 -0700
              Re: jonesforth: taking up the challenge Mark Wills <markrobertwills@yahoo.co.uk> - 2013-06-12 01:29 -0700
              Re: jonesforth: taking up the challenge Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-12 19:52 +0200
                Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-12 14:19 -0500
                Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-13 08:47 +0000
                Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-13 07:45 -0500
                Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-13 13:04 +0000
                Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-14 21:32 -0700
                Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-17 17:15 +0000
                Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-06-20 09:42 +0200
                Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-16 10:01 -0500
                Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-16 14:14 -0700
                Re: jonesforth: taking up the challenge Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-16 23:58 +0200
                Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-16 23:17 -0700
                Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-17 16:00 +0000
                Re: jonesforth: taking up the challenge Elizabeth D Rather <erather@forth.com> - 2013-06-17 08:05 -1000
                Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-17 19:33 +0000
                Re: jonesforth: taking up the challenge Gerry Jackson <spam@qlikz.org> - 2013-06-17 21:23 +0100
                Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-12 22:58 -0700
                Re: jonesforth: taking up the challenge "Elizabeth D. Rather" <erather@forth.com> - 2013-06-12 20:48 -1000
              Re: jonesforth: taking up the challenge rickman <gnuarm@gmail.com> - 2013-06-15 12:05 -0400
            Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-13 10:39 +0000
          Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-11 18:44 -0700
            Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-12 15:16 +0000
              Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-15 12:54 -0700
                Re: jonesforth: taking up the challenge "Elizabeth D. Rather" <erather@forth.com> - 2013-06-15 11:05 -1000
                Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-15 14:21 -0700
                Re: jonesforth: taking up the challenge Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-15 23:06 +0200
                Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-15 14:56 -0700
                Re: jonesforth: taking up the challenge Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-16 00:33 +0200
                Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-15 16:47 -0700
                Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-16 09:45 -0500
                Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-17 16:19 +0000
                Re: jonesforth: taking up the challenge Alex McDonald <blog@rivadpm.com> - 2013-06-17 11:51 -0700
                Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-18 00:31 -0700
                Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-18 00:33 -0700
                Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-18 00:46 -0700
                Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-18 04:11 -0500
                Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-18 23:51 -0700
                Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-19 04:32 -0500
                Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-19 02:42 -0700
                Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-06-19 12:08 +0200
                Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-19 09:25 -0700
                Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-06-19 19:10 +0200
                Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-19 09:04 -0500
                Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-19 09:26 -0700
      Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-07 16:45 -0500
  Re: jonesforth: taking up the challenge "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-06-06 23:29 -0400
    Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-07 14:41 +0000
      Re: jonesforth: taking up the challenge "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-06-07 17:24 -0400
        Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-07 23:07 +0000
          Re: jonesforth: taking up the challenge Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-08 01:26 +0200
            Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-07 17:54 -0700
              Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-19 10:01 +0000
            Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-06-08 07:29 +0200
              Re: jonesforth: taking up the challenge mhx@iae.nl - 2013-06-07 23:17 -0700
                Re: jonesforth: taking up the challenge mhx@iae.nl - 2013-06-08 01:30 -0700
              Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-07 23:41 -0700
                Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-06-08 09:35 +0200
                Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-08 14:28 +0000
                Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-06-08 21:22 +0200
                Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-19 10:06 +0000
                Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-06-19 12:27 +0200
                Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-19 10:44 +0000
                Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-06-08 21:55 +0200
                Re: jonesforth: taking up the challenge Bill Richards <billrich@gmx.com> - 2013-06-11 14:09 +0000
              Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-08 07:49 +0000
            Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-08 07:47 +0000
              Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-08 00:59 -0700
                Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-08 16:40 -0500
                Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-13 01:24 +0000
  Re: jonesforth: taking up the challenge Mark Wills <markrobertwills@yahoo.co.uk> - 2013-06-07 00:37 -0700
    Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-07 00:53 -0700
    Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-07 14:49 +0000
      Re: jonesforth: taking up the challenge Bill Richards <billrich@gmx.com> - 2013-06-11 14:13 +0000
  Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-12 14:21 +0000
  Re: jonesforth: taking up the challenge the_gavino_himself <visphatesjava@gmail.com> - 2013-06-15 23:22 -0700
    Re: jonesforth: taking up the challenge "Elizabeth D. Rather" <erather@forth.com> - 2013-06-15 21:26 -1000
      Re: jonesforth: taking up the challenge Alex McDonald <blog@rivadpm.com> - 2013-06-16 12:58 -0700
      OT Making fun of gavino. was Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-19 10:52 +0000

csiph-web