I am pretty green when it comes to developing software. That being said, I have been using some computer modeling software which has it's own "macro language." It says it is "like BASIC, but without some of the functionality." The language is clumsy and difficult to use effectively without memorizing the manual. I'd like to do a couple things to solve this:
1. Create an IDE which has:
a. "code completion" functionality (like IntelliSense I guess)
b. debugging capabilities (syntax)
The custom "language" has both "functions" and "keywords" which are stored in an ASCII text file. These are simply read by the modeling software and executed. One does not need to compile these macros.
What would be an efficient way to start learning how to develop an IDE of this nature for a language like this? Am I biting off more than I can chew? Is there an open-source IDE out there which I can build off of (more likely, strip down)?
Any and all comments are appreciated.
Note: I've kept the software and "language" vague on purpose.
After reading through my post, I think I'd like to frame my question a bit differently.
I would like to write a program (perhaps using Visual C#) which is a text editor. This text editor would also be able to recognize certain keywords and symbols, change their color automatically (i.e. red for strings, blue for numeric functions, green for string functions, purple for keywords), and display information as I type based on what I type.
This sounds like an easier problem than what I originally wrote. Where can I go to learn how to implement something like this? Anyone have any ideas?
Last edited by eschiesser; June 15th, 2012 at 03:26 PM.
I would say that this task isn't easy... To get a start on how to do intellisense I would look into the source of code::blocks or eclipse. How to run the debugger depends on what compiler/linker you choose to use.
Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by
definition, not smart enough to debug it.
- Brian W. Kernighan
I would like to write a program (perhaps using Visual C#) which is a text editor.
The simplest approach probably is to base the text editor on a so called "rich text control". It's available as a widget of the GUI subsystems of most languages. It will give you basic editor functionality for free so you can concentrate on molding it to your specific needs. In an OO language that would mean to subclass it and add your own enhanced functionality.
This approach will work until you reach the limits of the specific "rich text control" you're using. Beyond that your task becomes to implement a "rich text control" of your own. If your needs are moderate it may never even come to that.