Click here to Skip to main content
Click here to Skip to main content

Delta Forth .NET

By , 20 May 2003
 

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.
Search this forum  
    Spacing  Noise  Layout  Per page   
QuestionDelta Forth supported? maintained? PinmemberBruce Axtens28 Jun '10 - 16:33 
GeneralEmbarrassed Pinmemberjimmygyuma1 Nov '09 - 7:40 
AnswerRe: Embarrassed PinmemberValer BOCAN1 Nov '09 - 18:32 
That is a command line application. You need to open a command prompt (cmd.exe) then start Delta Forth .NET. You'll figure out what to do next Laugh | :laugh:
 
Delta Forth .NET (www.dataman.ro)
World's first Forth compiler for the .NET platform

QuestionHELP! Pinmemberfasehah6 May '08 - 4:08 
GeneralIncredible job! PinmemberEric Engler1 Jul '06 - 16:50 
GeneralRe: Incredible job! PinmemberEric Engler5 Jul '06 - 17:06 
GeneralEmbbed Pinmembersudheerravindran30 May '04 - 21:58 
GeneralRPL Pinmemberbouli17 Dec '03 - 11:27 
QuestionWhat's it good for? Pinsussb0blee31 Jul '03 - 12:02 
AnswerRe: What's it good for? PinmemberValer BOCAN31 Jul '03 - 21:00 
QuestionDid Valer get his PhD? PineditorNishant S19 Apr '03 - 13:20 
AnswerRe: Did Valer get his PhD? PinmemberValer BOCAN20 Apr '03 - 20:38 
GeneralFunny quote PinmemberReyes13 Feb '03 - 23:21 
QuestionI wonder what Chuck thinks of this? Pinmembersynchromesh18 Nov '02 - 9:16 
QuestionWhy no .NET compiler implementations? PinmemberHeath Stewart15 Nov '02 - 3:28 
AnswerRe: Why no .NET compiler implementations? PinmemberValer BOCAN15 Nov '02 - 3:37 
GeneralYour approach PinmemberShaun Wilde19 Jul '02 - 10:18 
GeneralRe: Your approach PinmemberValer BOCAN26 Jul '02 - 20:31 
GeneralRe: Your approach PinsussRichT6666 May '03 - 21:22 
GeneralRe: Your approach PinmemberZdenek Navratil21 May '03 - 21:06 
GeneralThe link to the source code Pinmember123bhy22 Jan '02 - 6:54 
GeneralRe: The link to the source code PinmemberValer BOCAN22 Jan '02 - 7:23 
GeneralOh my GOD PinmemberTim Smith21 Jan '02 - 5:40 
GeneralRe: Oh my GOD PinmemberJon Sagara21 Jan '02 - 21:55 
GeneralRe: Oh my GOD PinmemberDaniel Turini21 Jan '02 - 22:03 

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
Web01 | 2.6.130516.1 | Last Updated 21 May 2003
Article Copyright 2002 by Valer BOCAN
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid