Path: news.eternal-september.org!eternal-september.org!feeder3.eternal-september.org!news.quux.org!news.nk.ca!rocksolid2!i2pn2.org!.POSTED!not-for-mail From: minforth@gmx.net (minforth) Newsgroups: comp.lang.forth Subject: Re: Parsing =?UTF-8?B?dGltZXN0YW1wcz8=?= Date: Mon, 23 Jun 2025 15:09:41 +0000 Organization: novaBBS Message-ID: <03dc84cc3df15210e3e2e2218eeccf29@www.novabbs.com> References: <1f433fabcb4d053d16cbc098dedc6c370608ac01@i2pn2.org> <6ced001912d95b520dad9d25a6014342@www.novabbs.com> <60ca19340523b1ddfa4a2cbf1ac0995cb185cdcb@i2pn2.org> <6ea4ccd1cb6ae8c828144444fe51fea9@www.novabbs.com> <70a3014f99baf5e43b32e1320d7b8cd482be04c1@i2pn2.org> <61ff078b04e03c7b65b6dff98f58b80b@www.novabbs.com> <755ae8f9a73d167def41e6d96d951021@www.novabbs.com> <0330f9e5a7f7f1e21f330a9bb590f8f1@www.novabbs.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: i2pn2.org; logging-data="1718257"; mail-complaints-to="usenet@i2pn2.org"; posting-account="BZ29EnRIXfdX99fE+pfHgueF2xuF1KvSpLJsfuOZy3Y"; User-Agent: Rocksolid Light X-Spam-Checker-Version: SpamAssassin 4.0.0 X-Rslight-Site: $2y$10$D2/gRvaiI8QugiizXliKhuTCjQACIpqW4xADjaTjKZ8jFOC5knNL2 X-Rslight-Posting-User: 0338a3da6f3e9c9f1401b365bcd9c3ed8de2227a On Mon, 23 Jun 2025 13:34:08 +0000, mhx wrote: > On Mon, 23 Jun 2025 10:02:44 +0000, minforth wrote: > >> On Mon, 23 Jun 2025 5:40:37 +0000, mhx wrote: >> >>> On Sun, 22 Jun 2025 21:27:40 +0000, minforth wrote: >>> >>> [..] >>> Do you mean your compiler automatically handles/allows combinations >>> like >>> ... 22e-12 69. A{{ ( F: -- a ) ( D: -- b ) ( M: -- c ) SPIN ... >>> >>> I found that handling mixed types explodes the code that needs >>> to be written for a simple compiler like, e.g., Tiny-KISS . It >>> would be great if that can be automated. >> I don't know if I got you right, because as previously >> defined, SPIN expects three integers on the data stack. > > I was indeed too hasty. If items are stacked, no type conversion > is needed if they are only reordered. (Reordering needs > no code anyway, as it is a only a memo to the compiler.) The > problems only arise when an cell must be translated to a complex > extended float, or when using floats to initialize an arbitrary > precision matrix. This is too vague for me, but perhaps it's not important anyway. In any case, my compiler also supports Z: type complex locals. > Do you really support matrix and string type locals? The former > I only do for arbitrary precision, the latter can be handled > with DLOCALS| . I use a matrix stack (a depth of 10-20 items is usually sufficient). By default, matrix elements are 32-bit sfloats. Matrix locals (and mvalues) are just small structs containing matrix information and a pointer to the heap memory allocated for all matrix elements. Dynamic strings are simply 1-dimensional character matrices. --