Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #22031
| Date | 2013-04-29 08:07 -1000 |
|---|---|
| From | "Elizabeth D. Rather" <erather@forth.com> |
| Organization | FORTH, Inc. |
| Newsgroups | comp.lang.forth |
| Subject | Re: The most elegant Forth interpreter. |
| References | (2 earlier) <rvednfZHdr8rQuHMnZ2dnUVZ_qidnZ2d@supernews.com> <517d1d05$0$6365$e4fe514c@dreader35.news.xs4all.nl> <i8WdnTKGo8GaAeDMnZ2dnUVZ_rydnZ2d@supernews.com> <7x61z6dt5d.fsf@ruckus.brouhaha.com> <AsydnQSMvYzfsuPMnZ2dnUVZ_oGdnZ2d@supernews.com> |
| Message-ID | <_IydnS9MuYNaK-PMnZ2dnUVZ_jqdnZ2d@supernews.com> (permalink) |
On 4/28/13 10:28 PM, Andrew Haley wrote: > Paul Rubin <no.email@nospam.invalid> wrote: >> Andrew Haley <andrew29@littlepinkcloud.invalid> writes: >>> It would be good if it could follow the tradition of fig-FORTH in the >>> sense that it was written entirely in Forth rather than starting with >>> assembly language. >> >> Was an all-Forth version of fig-FORTH ever released? > > Absolutely. That came first. I've got the source, but only on paper. > >> All the versions I've seen contain assembly code for the primitives, >> that apparently came out of a disassembler after being metacompiled. >> I had wondered for a while if it was handwritten assembly code. > > Sort of. fig-FORTH was written for the 6502 and metacompiled with a > Forth, Inc system. I don't know how the 6502 assembly code listing > was created, but it was binary-identical to the code generated by the > metacompiler, or very nearly so. Variants for all other processors > were hand-translated from the 6502 version. In the History of Forth (by me, Chuck, and Don Colburn), http://www.forth.com/resources/evolution/index.html, Don described the original development of figForth: "Bill Ragsdale, a successful Bay Area security system manufacturer, became aware of the benefits of microFORTH, and in 1978 asked FORTH, Inc. to produce a version of microFORTH for the 6502. FORTH, Inc. declined, seeing much less market demand for microFORTH on the 6502 than the more popular 8080, Z80 and 6800 CPUs. Ragsdale then looked for someone with the knowledge of microFORTH and intimate familiarity with the 6502 to port a version of microFORTH to the 6502. He found Maj. Robert Selzer, who had used microFORTH for an AMI 6800 development system on an Army project and was privately developing a standalone editor/assembler/linker package for the 6502. Selzer wrote a 6502 Forth assembler, and used the Army's microFORTH metacompiler to target compile the first 6502 stand-alone Forth for the Jolt single board computer. Selzer and Ragsdale subsequently made substantial modifications and improvements to the model, including exploitation of page zero and stack-implicit addressing architectural features in the 6502. Many of the enhancements that characterized the later public-domain versions were made during this period, including variable-length name fields and modifications to the dictionary linked-list threading. A metacompiler on the Jolt could target a significantly changed kernel to a higher address in memory. A replacement bootable image would then be recompiled by the new kernel into the lower boot address, which could then be written out to disk. At this point, Ragsdale had a system with which to meet his professional needs for embedded security systems. During this period the Forth Interest Group (FIG) was started by Ragsdale, Kim Harris, John James, David Boulton, Dave Bengel, Tom Olsen and Dave Wyland [FIG 1978]. They introduced the concept of a "FIG Forth Model," a publicly available Forth system that could be implemented on popular computer architectures. The FIG Forth Model was derived from Ragsdale's 6502 system. In order to simplify publication and rapid implementation across a wide variety of architectures, a translator was written to convert Forth metacompiler source code into text that, when input to a standard 6502 assembler, would replicate the original kernel image. In this way, neither the metacompiler nor its source code needed to be published. This is an important point. Forth metacompilation is a difficult process to understand completely. It requires the direct manipulation of three distinct execution phases and object areas, and is not something that a casual user wanted or needed. By publishing assembler listings, the Forth Interest Group was able to encapsulate a Forth run-time environment in a manner that could be easily replicated and/or translated to the assembly language of a different computer architecture. It was the intention of the original team of implementors to thus stimulate the development of compatible Forth systems and the appearance of new vendors of Forth products." Don helped in Selzer's portion of the project. Cheers, Elizabeth -- ================================================== Elizabeth D. Rather (US & Canada) 800-55-FORTH FORTH Inc. +1 310.999.6784 5959 West Century Blvd. Suite 700 Los Angeles, CA 90045 http://www.forth.com "Forth-based products and Services for real-time applications since 1973." ==================================================
Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar
The most elegant Forth interpreter. albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-04-27 09:13 +0000
Re: The most elegant Forth interpreter. Paul Rubin <no.email@nospam.invalid> - 2013-04-27 22:46 -0700
Re: The most elegant Forth interpreter. Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-04-28 03:37 -0500
Re: The most elegant Forth interpreter. albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-04-28 12:58 +0000
Re: The most elegant Forth interpreter. Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-04-28 17:00 -0500
Re: The most elegant Forth interpreter. Paul Rubin <no.email@nospam.invalid> - 2013-04-28 18:26 -0700
Re: The most elegant Forth interpreter. Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-04-29 03:28 -0500
Re: The most elegant Forth interpreter. Paul Rubin <no.email@nospam.invalid> - 2013-04-29 01:38 -0700
Re: The most elegant Forth interpreter. Paul Rubin <no.email@nospam.invalid> - 2013-04-29 01:43 -0700
Re: The most elegant Forth interpreter. Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-04-29 04:01 -0500
Re: The most elegant Forth interpreter. Paul Rubin <no.email@nospam.invalid> - 2013-05-10 21:20 -0700
Re: The most elegant Forth interpreter. Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-11 02:03 -0500
Re: The most elegant Forth interpreter. David Schultz <abuse@127.0.0.1> - 2013-05-11 11:01 -0500
Re: The most elegant Forth interpreter. David Schultz <abuse@127.0.0.1> - 2013-05-11 15:53 -0500
Re: The most elegant Forth interpreter. Paul Rubin <no.email@nospam.invalid> - 2013-05-11 20:59 -0700
Re: The most elegant Forth interpreter. Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-12 02:40 -0500
Re: The most elegant Forth interpreter. "Elizabeth D. Rather" <erather@forth.com> - 2013-04-29 08:07 -1000
Re: The most elegant Forth interpreter. Bernd Paysan <bernd.paysan@gmx.de> - 2013-04-29 20:55 +0200
Re: The most elegant Forth interpreter. Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-04-29 16:28 -0500
Re: The most elegant Forth interpreter. Bernd Paysan <bernd.paysan@gmx.de> - 2013-04-29 23:35 +0200
Re: The most elegant Forth interpreter. Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-04-29 17:28 -0500
Re: The most elegant Forth interpreter. Paul Rubin <no.email@nospam.invalid> - 2013-04-29 23:20 -0700
Re: The most elegant Forth interpreter. "Elizabeth D. Rather" <erather@forth.com> - 2013-04-29 21:11 -1000
Re: The most elegant Forth interpreter. Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-04-30 03:21 -0500
Re: The most elegant Forth interpreter. Paul Rubin <no.email@nospam.invalid> - 2013-04-30 01:57 -0700
Re: The most elegant Forth interpreter. albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-04-30 09:00 +0000
Re: The most elegant Forth interpreter. Paul Rubin <no.email@nospam.invalid> - 2013-04-30 02:10 -0700
Re: The most elegant Forth interpreter. albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-04-30 14:34 +0000
Re: The most elegant Forth interpreter. Coos Haak <chforth@hccnet.nl> - 2013-04-30 17:18 +0200
Re: The most elegant Forth interpreter. Paul Rubin <no.email@nospam.invalid> - 2013-04-30 10:04 -0700
Re: The most elegant Forth interpreter. Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-04-30 04:13 -0500
Re: The most elegant Forth interpreter. Bernd Paysan <bernd.paysan@gmx.de> - 2013-04-30 18:40 +0200
Re: The most elegant Forth interpreter. Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-04-30 12:50 -0500
Re: The most elegant Forth interpreter. Paul Rubin <no.email@nospam.invalid> - 2013-05-03 22:01 -0700
Re: The most elegant Forth interpreter. Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-04-30 04:09 -0500
Re: The most elegant Forth interpreter. Paul Rubin <no.email@nospam.invalid> - 2013-05-06 19:29 -0700
Re: The most elegant Forth interpreter. Elizabeth D Rather <erather@forth.com> - 2013-04-29 12:35 -1000
Re: The most elegant Forth interpreter. Bernd Paysan <bernd.paysan@gmx.de> - 2013-04-30 01:50 +0200
Re: The most elegant Forth interpreter. "Elizabeth D. Rather" <erather@forth.com> - 2013-04-29 13:55 -1000
Re: The most elegant Forth interpreter. albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-04-30 09:03 +0000
Re: The most elegant Forth interpreter. albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-04-29 10:32 +0000
Re: The most elegant Forth interpreter. Paul Rubin <no.email@nospam.invalid> - 2013-04-29 08:34 -0700
Re: The most elegant Forth interpreter. "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-04-29 17:31 -0400
Re: The most elegant Forth interpreter. Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-04-29 17:56 -0500
Re: The most elegant Forth interpreter. lynx <rinkasu@kaze.void.null> - 2013-04-29 22:38 +0000
Re: The most elegant Forth interpreter. "Ed" <invalid@nospam.com> - 2013-04-29 12:31 +1000
Re: The most elegant Forth interpreter. Spam@ControlQ.com - 2013-04-29 13:31 -0400
Re: The most elegant Forth interpreter. jlarsonfour3@gmail.com - 2013-04-29 08:14 -0700
Re: The most elegant Forth interpreter. the_gavino_himself <visphatesjava@gmail.com> - 2013-04-29 10:28 -0700
csiph-web