5 ms·
I really wish there was a modern book on implementing a useful Forth for x86 or Raspberry PI out of C. Not just a pamphlet either, but a thick book covering how
by 6thaccount2 7y ago
I really wish there was a modern book on implementing a useful Forth for x86 or Raspberry PI out of C. Not just a pamphlet either, but a thick book covering how to choose between all the different threading options...etc.
- microtherion 7y agoI don't know about "modern", but you could go the traditional route and bootstrap it from Assembler (You'll find that you only have to implement a tiny number of primitives until you can start implementing the rest in Forth itself). Chapter 9 of Leo Brodie's "Starting Forth" is the text that kicked off my implementation in the early 80s (and undoubtedly countless others): https://www.forth.com/starting-forth/9-forth-execution/ https://www.forth.com/starting-forth/9-forth-execution/
- 6thaccount2 7y agoDoes Brodie's book cover implementation though? I can code in Forth a bit already, but want to know more about implementing in a low level language.
- microtherion 7y agoThis particular chapter talks about implementation. It probably gets you 80%-90% to an understanding of what you need to do, and the rest should be learnable by examining other implementations, now that you know what to look for.
- bdowling 7y ago> want to know more about implementing in a low level language. You might check out Jonesforth [0], which is an extensively-documented Forth implemented in x86 assembly language. If you read the single source file top to bottom, you'll get a good understanding of how it is implemented. There are also ports to x86-64, ARM, and other machines. If you're looking for something in C, you might check out Ficl. [1] [0] https://github.com/nornagon/jonesforth/blob/master/jonesforth.S https://github.com/nornagon/jonesforth/blob/master/jonesfort... [1] http://ficl.sourceforge.net http://ficl.sourceforge.net
- 6thaccount2 7y agoI always forget about Jonesforth. Glad to see it's on GitHub now!
- bdowling 7y ago> Glad to see it's on GitHub now! Ah, that github link is not the official repository. The following link appears to be the official repo: http://git.annexia.org/?p=jonesforth.git http://git.annexia.org/?p=jonesforth.git