Our great sponsors
-
Title effectively says it all. The only thing I have found is StoneKnife Forth (implementation is in tinyboot1.tbf1) but this file is implemented in the same dialect of forth it implements, which due to being minimal makes it difficult to read and comprehend efficiently (I also can't find the origin of some words such as 'byte' used in the code but not implemented by the interpreter). I would prefer something in the C family to look at but anything should do as long as it's clean enough that I could use it as a reference to reimplement the compiler without much difficulty. Thank you in advance for any help with what is seemingly quite a narrow request.
-
I have a vm in c for my forth, I have a compiler to asm (generate FASM output) but in the same lenguage, really a forth compiler is a simple program, there are a 1:1 correspondence in code genaration and words. here the 32bits source https://github.com/phreda4/r4/blob/master/r4/System/r4i86.txt here the 64bits with some optimizations: https://github.com/phreda4/r3d4/blob/master/r3/sys/r3asm0.r3 I hope this help
-
SonarLint
Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
-
I have a vm in c for my forth, I have a compiler to asm (generate FASM output) but in the same lenguage, really a forth compiler is a simple program, there are a 1:1 correspondence in code genaration and words. here the 32bits source https://github.com/phreda4/r4/blob/master/r4/System/r4i86.txt here the 64bits with some optimizations: https://github.com/phreda4/r3d4/blob/master/r3/sys/r3asm0.r3 I hope this help
-
JonesForth which is a very well documented forth written directly in x86 assembly. It contains very clear descriptions about the inner and outer interpreter and related functionality. Even though itnis not C, the techniques shown here can easily be transferred to a C program.
-
I would consider adding Able Forth to the list. The Able Forth compiler targets the AbleVM, but in every other respect, it's a native code compiler (there's no reason Able Forth couldn't be made to emit native code for a physical machine). The default AbleVM core was designed to make the Able Forth compiler simple; it implements a 0-operand dual-stack virtual machine with ample general-purpose and base+offset address registers. Able is open source, in production use and under active development. If you decide it's interesting and you have any questions we're here to help.
-
InfluxDB
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.