Professor Susan L. Graham and the members of the Harmonia Research
Group at the University of California, Berkeley, announce the third
release of Harmonia-Mode and the first source code release of the
Harmonia program analysis toolkit.
* Harmonia-Mode is an XEmacs plug-in that provides language-based
services to the programmer while editing code. These services, provided
by the Harmonia program analysis toolkit, include semantic
search-and-replace, structural navigation, structural undo, hypertext
annotations, semantic information, use-def hyperlinks, syntax
highlighting and auto-indentation. Harmonia-Mode supports Java, C,
Scheme, Cool and Titanium.
* The Harmonia program analysis toolkit is an open, extensible framework
for constructing interactive, language-aware programming tools. Harmonia
includes an incremental GLR parser (which admits a more natural syntax
specification than LR), a static semantic analysis engine, and other
language-based facilities. Program source code is represented by
annotated abstract syntax trees augmented with non-linguistic material
such as whitespace and comments. The analysis engine can support any
textual language that has formal syntactic and semantic specifications.
The incremental nature of the analysis supports a history mechanism that
is used both for history-based diagnostic information and for
contextual rollback. New languages can be easily added to Harmonia by
giving the system a syntactic and semantic description, which is
compiled into a dynamically loadable extension for that language. The
toolkit comes with language definitions for languages like Java, C,
Scheme, Cool, Titanium, C++, Cobol, Common Lisp, XML, and others.
Harmonia runs on Solaris 9, Linux, MS X 10.4, and new to this
release, Windows XP.
If you are interested in trying it out, please go to:
For commercialization opportunities, please see
Please report any feedback you have to the Harmonia group at
harmonia-bugs@sequoia.cs.berkeley.edu.
Thanks!
-- The Harmonia Research Group