Forth Mecrisp IDE and decompiler.
Thanks to Jcw i discovered forth approach to micro programming. I'm just new to this language. I was fascinating by RPN used in my loved HP48 calc, and forth is not so far.
Folie is a great tool because is very thin and portable but i'm also looking for an IDE that make it simpler read code, eg to jump from file to file looking for a word definition.
I found some forth implementation has word "see" or "(see)" to decompile a previous compiled word getting the relative source code. Has Mecrisp-stellaris something like that?
Actually i have installed atom editor plus forth support and terminal packages.
Any suggestion about Forth IDE/tools?
RE: Forth Mecrisp IDE and decompiler. - Added by jcw 2 months ago
For cross-referencing, I use vim in combination with "exuberant tags", which creates a "TAGS" file. Pressing ctrl-] on a word takes me to its definition (in whatever source file), and pressing ctrl-t takes me back to the place I was before (and this nests). That's all very vim-specific, although some other editors do support this same tag-file mechanism.
One idea is to add some support for sending the current selection in the editor to Folie, to allow quick updates of single words and to send off little test snippets repeatedly. See also this discussion on GitHub about sending code directly to Mecrisp.
Yes, Mecrisp also has an implementaion of "see" (for M0 and M3, but keep in mind that this is not a threaded Forth but one which compiles directly to machine code. The output of
see is a disassembly listing, not the Forth source, although you can usually see the general flow from the things it calls and references.
I know of no IDEs which support Forth. I'm not sure it would help a lot - you may be better off picking whatever editor you are comfortable with, learn to configure it as much as you can, and keep editor and Folie open in separate windows or panes. The way I see it, Folie will become more and more of a gateway to an attached board (whether USB or over a network link), and at some point I'll want to add ways to tie it to MQTT, so that the attached board can send its output there, and possibly also be controlled via MQTT. But that's just vapourware for now.