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


Groups > comp.lang.forth > #134929

Re: ciforth model

Newsgroups comp.lang.forth
References <nnd$2bd819ed$5423e023@908ce2ca63477284> <69e19091$1@news.ausics.net> <2026Apr17.092944@mips.complang.tuwien.ac.at>
From albert@spenarnc.xs4all.nl
Subject Re: ciforth model
Message-ID <nnd$3ba8f211$1becf197@8d7cde725037c36d> (permalink)
Organization KPN B.V.
Date 2026-04-17 12:10 +0200

Show all headers | View raw


In article <2026Apr17.092944@mips.complang.tuwien.ac.at>,
Anton Ertl <anton@mips.complang.tuwien.ac.at> wrote:
>dxf <dxforth@gmail.com> writes:
>>> name filed: 4 byte, 3 first and last char. Only 7 bits,
>>>             8th bit counts are flags
>...
>>Don't know who was first but Fig-forth's variable length names is something
>>that Forth Inc and pretty much everyone adopted.  Moore attempted to defend
>>'3 chars plus count' but to no avail.  That ship had sailed.
>
>Looking at the traditional length+3 chars and
>albert@spenarnc.xs4all.nl's 3 first and last, at least one pair of
>words in Forth-94 conflicts on both systems, and WORDS could show them
>as REA?????? and REA*E, respectively.  It would be interesting to
>determine (say, by checking the words from an existing Forth system),
>which scheme produces more conflicts.

The argument was that an extreme impractical Forth can be implemented
with this model as guideline, to counter the argument of extreme waste
that I expected.

This is a realistic header in this model.
The name takes 24 bytes or 3 cells, a pointer to an area, a preceding count
and a 1 byte area padded to 8 bytes.


 2513                   #  *********
 2514                   #  *   +   *
 2515                   #  *********
 2516                   #
 2517 21c3 00000000             .balign    8,0x00
 2517      00
 2518                   N_PLUS:                      # Name string
 2519 21c8 01000000             .quad      1         # Name string
 2519      00000000                                  # Name string
 2520 21d0 2B                   .ASCII      "+"      # Name string
 2521 21d1 00000000             .balign    8,0x00    # Name string
 2521      000000
 2522                   PLUS:                        # 0x21D8 is the handle
 2523 21d8 00000000             .quad    X_PLUS          # code
 2523      00000000
 2524 21e0 00000000             .quad    PLUS+HEADSIZE   # data ignored

 2524      00000000
 2525 21e8 00000000             .quad    0x0             # flags, empty
 2525      00000000
 2526 21f0 00000000             .quad    ZLESS           # link pointer
 2526      00000000
 2527 21f8 00000000             .quad    N_PLUS          # points to name
 2527      00000000
 2528 2200 00000000             .quad    0               # source field
 2528      00000000
 2529 2208 00000000             .quad    0               # extra field (spare)
 2529      00000000
 2530
 2531                           X_PLUS:
 2532
 2533 2210 58                   POP     %RAX      #(S1) <- (S1) + (S2)
 2534 2211 5B                   POP     %RBX
 2535 2212 4801D8               ADD     %RAX,%RBX
 2536 2215 50                   PUSH    %RAX
 2537 2216 48AD                 LODSQ                  # NEXT
 2538 2218 FF20                 JMP     QWORD PTR[%RAX]
 2539

<SNIP>

Print the name for +    :
    HEX 21D8  >NFA $@ TYPE

A total of 10 cells for the header alone.
Who cares?

lina+ -a
AMDX86 ciforth beta 2026Apr12
WANT UNUSED
OK
UNUSED .
134221795712  OK


>- anton

Groetjes Albert
-- 
The Chinese government is satisfied with its military superiority over USA.
The next 5 year plan has as primary goal to advance life expectancy
over 80 years, like Western Europe.

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


Thread

ciforth model albert@spenarnc.xs4all.nl - 2026-04-16 15:38 +0200
  Re: ciforth model dxf <dxforth@gmail.com> - 2026-04-17 11:44 +1000
    Re: ciforth model anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2026-04-17 07:29 +0000
      Re: ciforth model albert@spenarnc.xs4all.nl - 2026-04-17 12:10 +0200
        Re: ciforth model anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2026-04-18 10:26 +0000
          Re: ciforth model peter <peter.noreply@tin.it> - 2026-04-18 18:11 +0200
          Re: ciforth model albert@spenarnc.xs4all.nl - 2026-04-18 20:57 +0200
            Re: ciforth model anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2026-04-19 11:08 +0000
              Re: ciforth model albert@spenarnc.xs4all.nl - 2026-04-20 13:39 +0200
          Re: ciforth model peter <peter.noreply@tin.it> - 2026-05-21 10:28 +0200
            Re: ciforth model minforth <minforth@gmx.net> - 2026-05-22 12:04 +0200
            Re: ciforth model anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2026-05-23 18:12 +0000
              Re: ciforth model peter <peter.noreply@tin.it> - 2026-05-23 23:09 +0200
              Re: ciforth model peter <peter.noreply@tin.it> - 2026-05-24 10:07 +0200
      Re: ciforth model Hans Bezemer <the.beez.speaks@gmail.com> - 2026-04-21 19:39 +0200
      Re: ciforth model albert@spenarnc.xs4all.nl - 2026-04-22 22:48 +0200
        Re: ciforth model Paul Rubin <no.email@nospam.invalid> - 2026-04-24 10:38 -0700
          Re: ciforth model albert@spenarnc.xs4all.nl - 2026-04-25 11:54 +0200
            Re: ciforth model Paul Rubin <no.email@nospam.invalid> - 2026-04-25 13:22 -0700
              Re: ciforth model albert@spenarnc.xs4all.nl - 2026-04-26 14:05 +0200
  Re: ciforth model Paul Rubin <no.email@nospam.invalid> - 2026-04-17 00:27 -0700
    Re: ciforth model albert@spenarnc.xs4all.nl - 2026-04-17 12:13 +0200

csiph-web