Using Hybrid / Embedded Languages


I've begun working with the Tom transformation platform ( Tom is a system for pattern-directed, rule-based data transformation. It's implemented as a pre-processor that operates on notations embedded in otherwise ordinary Java code.

All of Tom's syntax additions are introduced by reserved words that start with a percent sign and are enclosed in { curly-brace blocks }. Within such blocks, the syntax is Java-like, but contains several novel, and possibly problematic, constructs. In particular, they use unpaired back-quotes in a manner somewhat similar to LISP's back-quote notation. Other operators include the arrow, "->" and list-denoting postfix operator: "*".

I'm wondering if there's any easy way to be able to work with Tom source files in IDEA (other than as plain text files)? It would be nice if the Java portions were subject to the usual IDEA treatment with the Tom portions ignored.

Can anybody suggest a way to handle such source files?

By the way, if it matters, I'm using the version 7 EAP of IDEA. I didn't post this in the EAP forum because it seemed like a more generic question, but if Selena has relevant capabilities that version 6 does not, I'll ask in the EAP forum instead (or in addition).


Randall Schulz

Please sign in to leave a comment.