Click here to Skip to main content
Licence 
First Posted 20 Jan 2002
Views 201,993
Bookmarked 41 times

Delta Forth .NET

By | 20 May 2003 | Article
World's first Forth compiler for the .NET platform

Delta Forth .NET

Delta Forth .NET - World's first Forth compiler for the .NET platform

Delta Forth is a non-standard Forth dialect. It has several limitations over traditional standards; however it may be an excellent starting point for beginners. The traditional compreter (compiler – interpreter) approach of other implementations did not appeal when the Delta dialect was designed since computers evolved enormously since the original Forth specification was written. Instead, we deal with compiled programs and thus several original Forth words – mainly related to chained execution - have lost their meaning (see STATE, COMPILE, IMMEDIATE, etc.).

It has been stated that a complete traditional Forth environment can be coded by a single person in a three month time frame. I managed to release the beta 1 version of Delta in half that time. Despite the short time it took to be developed, this tool has a long history, being a continuation of the award-winning Delta Forth for Java project that I started back in 1997. At that time, it was the first Forth compiler for Java and was a real surprise when I presented it as my graduation project two years later. The .NET compiler is used to write a part of the software for my Ph.D. thesis.

This software and source code is free of charge. However, since I spent hundreds of hours designing and developing it, your donation would be appreciated. Alternately, you may visit my Amazon Wish List.

Main Features

  • Fast compilation of Forth code to IL (no intermediate C# or VB.NET compiling).
  • Compilation to .EXE and .DLL.
  • Support for integer and string constants.
  • Support for local variables.
  • Support for include files.
  • Support for external libraries.
  • Strong signature support.
  • C# source code comes along with the full product.

What others have said...

"Well done on your Forth compiler for .NET. It must be over fifteen years since I last touched Forth, but it’s a great example of how the .NET Framework supports stack-based languages well."
Tim Sneath, .NET Developer Group, Microsoft Corp.

"I work with all of our .NET language partners, and noticed your recent announcement of your Forth compiler [...]"
Brad Merrill, Microsoft Corp.

"Excellent work Valer - I'm most impressed!"
Chris Maunder, CodeProject.com

"What a delight to trip across your Delta Forth .NET.  I was wondering who'd have the first FORTH .NET offering. I need wonder no more. [...] Keep up the good work."
Dennis Misener

"I started out with your Delta Forth. NET [...] and found it very interesting using Forth for writing .NET applications."
Lennie De Villiers


Read more on my website at http://www.dataman.ro/

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Valer BOCAN

Architect

Romania Romania

Member

I am a software engineer based in Timișoara, Romania and currently hold the position of software architect for one of the largest companies in the world.
 
I invented a dialect of the Forth programming language and implemented the first Forth compiler for the .NET platform. I reverse-engineered the communication protocol of some GPS trackers and wrote from scratch a vehicle tracking system that is currently used to track my two cars. I hold a PhD in computer science and I am the author of several papers and a book chapter. In the 90s I wrote several computer viruses in assembly language for my own research and I was the first to devise a technique to deter heuristic virus scanners. In short, a humble man.

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
QuestionDelta Forth supported? maintained? PinmemberBruce Axtens16:33 28 Jun '10  
GeneralEmbarrassed Pinmemberjimmygyuma7:40 1 Nov '09  
AnswerRe: Embarrassed PinmemberValer BOCAN18:32 1 Nov '09  
QuestionHELP! Pinmemberfasehah4:08 6 May '08  
GeneralIncredible job! PinmemberEric Engler16:50 1 Jul '06  
GeneralRe: Incredible job! PinmemberEric Engler17:06 5 Jul '06  
GeneralEmbbed Pinmembersudheerravindran21:58 30 May '04  
GeneralRPL Pinmemberbouli11:27 17 Dec '03  
QuestionWhat's it good for? Pinsussb0blee12:02 31 Jul '03  
AnswerRe: What's it good for? PinmemberValer BOCAN21:00 31 Jul '03  
QuestionDid Valer get his PhD? PineditorNishant S13:20 19 Apr '03  
AnswerRe: Did Valer get his PhD? PinmemberValer BOCAN20:38 20 Apr '03  
GeneralFunny quote PinmemberReyes23:21 13 Feb '03  
QuestionI wonder what Chuck thinks of this? Pinmembersynchromesh9:16 18 Nov '02  
QuestionWhy no .NET compiler implementations? PinmemberHeath Stewart3:28 15 Nov '02  
AnswerRe: Why no .NET compiler implementations? PinmemberValer BOCAN3:37 15 Nov '02  
GeneralYour approach PinmemberShaun Wilde10:18 19 Jul '02  
Can you explain your approach that you took when writing the compiler.
 
eg the sources you used to get you started
the breakdown of the language and how you turned that into IL
etc
 
I've never had the chance to write a compiler myself as I always feel it was too daunting a task for a lone developer so maybe you could inspire. Smile | :)
 
Shaun
 

Stupidity dies.
The end of future offspring.
Evolution wins.
- A Darwin Awards Haiku


GeneralRe: Your approach PinmemberValer BOCAN20:31 26 Jul '02  
GeneralRe: Your approach PinsussRichT66621:22 6 May '03  
GeneralRe: Your approach PinmemberZdenek Navratil21:06 21 May '03  
GeneralThe link to the source code Pinmember123bhy6:54 22 Jan '02  
GeneralRe: The link to the source code PinmemberValer BOCAN7:23 22 Jan '02  
GeneralOh my GOD PinmemberTim Smith5:40 21 Jan '02  
GeneralRe: Oh my GOD PinmemberJon Sagara21:55 21 Jan '02  
GeneralRe: Oh my GOD PinmemberDaniel Turini22:03 21 Jan '02  

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web04 | 2.5.120529.1 | Last Updated 21 May 2003
Article Copyright 2002 by Valer BOCAN
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid