How to integrate new language & compiler into Eclipse - eclipse

I'm working with a manufacturer that has their own Pascal based language, compiler and editor. I'd like to investigate how feasible it would be to integrate their tools into Eclipse to get basics such as keyword highlighting, code completion, source navigation and of course compile to target to work.
Can anyone point me to a resource that explains how this can be done, if at all?
Thank you,
Fred

IBM has an article series: Create a commercial-quality Eclipse IDE. Delving directly into Part 2 should give you a quick overview where to start.

Related

How to setup a new language IDE

At work we are using a proprietary language and to program we are using Notepad++ with a simple code highlight. That is really annoying so, what I want to do is to invest some time to setup a text editor or an existing IDE to support my language.
I've googled a lot and there are so many options and before starting to work I wanna ask to you what is the best choice.
What I want to do is to have, like an IDE, a syntax highlight, a window with the function list tree, with the local function variables inside the same subtree, maybe text autocomplete (if I type "pro" I would like to see the suggestion "procedure" and if I press enter it will write for me something like
procedure "name" {
--code--
}
with the cursor on "name" ready to change it.
etc etc...
Can you suggest me the right path to follow?
Is it to keep using Notepad++? With sourcecookifier? functionlist?
Or I have to change to another text editor?
Or there is some famous IDE like Eclipse, NetBeans etc that allow to easily add my own language?
PS. my language is pretty simple, I don't have complex structures, is Pascal-like. Something like that:
variable int xyz
PROCEDURE asd
BEGIN
END PROCEDURE asd
I would recommend you to stay with Notepad++ and extend it with some plugins and configuration. This would be fairly quick and easy to set up and still give a big win, even though you might not be able to get all the nice features of something like Eclipse. But since you already know the Notepad++ it wouldn't require learning an entirely new tool.
Some plugins that I have found useful
Function List
Light Explorer
XBrackets Lite
There are probably a lot more that can be useful to you.
Notepad++ also got some built in auto-completion functionality that can be enabled in the settings.
Have you evaluated Eclipse XTEXT ?
What is Xtext?
Xtext is a framework for development of programming languages and domain specific languages.
The only IDE I have used for the last few years is Eclipse. There are lots of other IDEs available, also notable and popular is Netbeans. There are many others. It's important to note that all IDEs have their fans, but I can only speak to Eclipse.
Eclipse is a platform, which means it is an application on which you can build other applications. Eclipse provides a framework which you can customize and extend to produce a working application. It takes care of the user interface, preferences storage, modularisation using OSGi, and lots of other things.
Eclipse has facilities to support what you're looking for:
Syntax highlighting in the editor.
The Outline View provides function and variable listing in a tree
Autocompletion and Suggestions (activated by hitting ctrl-space)
Code Templates to fill out files and procedures etc.
The disadvantage is that customising and extending Eclipse to do what you want isn't trivial. Having written a language debugger for Eclipse, I can tell you that leveraging Eclipse's platform helped enormously, but there's a learning curve. You'd essentially have to be coming up with a new set of plugins to provide your highlighting, outlining, autocomplete suggestions and templates (I'm not sure if template support is built into the platform or not).
So I would say, unless you can find some sort of extensible editor for Eclipse - I know Aptana is extensible for tag-based markup - you are probably as well staying with your existing tooling.
Do explore the other IDEs though - I've heard good things about IDEA as well as Netbeans. :)
Good luck!
I can recommend SynWrite editor. Good support for external languages, fully customizable. (Editor of new lexers is there)

Creating a plugin for code hinting

I'm working with an internally-developed scripting language that some prof and his team have created for an academic project. There's documentation that show function signatures of the existing classes, but for outsiders like me, I'm constantly referring to documentation. Also, in the summer, more helpers will join and I bet they will all suffer from the same problem. So I'd like to write something in Eclipse to help with code hinting and completion, like many languages have.
I haven't programmed eclipse add-ons before, so can someone give me hints how I would generally take the function signatures from their documentation and get code hinting from it. I realize I may need to make changes to the documentation to use it for what I need. But any hints or sample projects would be appreciated. I'm not sure how to get started.
You should have a look at Xtext. With Xtext you can define a domain specific language and generate an editor for it. Here you can find a brief tutorial.

Checkstyle for ColdFusion?

Is there some kind of Checkstyle plug-in for Eclipse available for ColdFusion.
There aren't really any coding specifications for ColdFusion. Sean Corfield wrote one for Macromedia's internal development departments that some folks use, but there really isn't a set of coding conventions and rules that the community adheres to. Thus, there is no plugin to test that your code follows those rules.
That said, if you have standards that you prefer/enforce in your company or team, then you can use the code formatter in ColdFusion Builder 2 (still in public beta, at this time) to quickly check/update source files.
You set the formatting guidelines in the Eclipse preferences, and then you can run the formatter from the menu: Edit > Format (Keyboard shortcut: cmd/control + shift + F)
I search around a bit for cf specific Checkstyle tool, no luck. I think since CF is a tagging language as much as a scripting language, it lags behind in tools like this. You could check out the coldfusion specific eclipse plugin, it may have some of its own type checkstyle functionality.
http://cfeclipse.org/
Hoping this is still relevant to someone...
Long time ago, I've tried an approach using checkstyle regexp tags.
I wrote a blog post, check if there is any useful hint:
http://rcastagno.blogspot.it/2009/09/checkstyle-50-regexps-and-eclipse.html
There is a static code checker, written in ColdFusion, FOR ColdFusion. see https://github.com/wellercs/CodeChecker. There is also a linter that can plug in to Eclipse or ColdFusion Builder, called CFLint. See https://github.com/cflint/CFLint for that tool.
So CodeChecker is a stand-alone application and CFLint may be used, as I remember, stand-alone or as a plug-in to a number of IDEs.
You can easily add rules and guides to CodeChecker, I haven't tried with CFLint.

Writing custom IDE on top of Eclipse

I wish to write my own Python IDE (just for the heck of it). I was wondering if I could use Eclipse as a foundation. This will save me from coding a whole lotta things (code editor, intellisense and so on).
To understand what I mean, please take a look at Visual Studio Isolated Shell. I'm essentially looking for something equivalent. Searching on Google hasn't helped. Is there anything like this available in Eclipse's case?
Yes. Eclipse is designed to have additional languages added and there is extensive support for this kind of plugin development. I'm surprised Googling didn't help - there's an entire site dedicated to a tutorial on the basics and a toolkit for developing such things

Using (Java) Eclipse abilities in other programming language

I use Eclipse mainly for LSL (linden Scripting language). The plug-in for this language does not provide things like templates or task-tag recognition. Is there any way that these kind of features in LSL-files (or any other generic file/code for that matter) can be used?
Take look at the XText project. If you can define the grammar of LSL there it will generate full Eclipse plugin for it, complete with syntax Highlighting, code Completion, validation and quick Fixes and more.
Another one to try (one i use myself) is LSL Editor
Full Syntax highlighting, code suggest, and even a off world run time environment. plus able to test multiple scripts by building test objects with prims.
Take a Look :)
LSLForge is being actively maintained, and has most of what you describe. If there's something missing, the developer is always looking for new challenges.