This is a list of the free (open source) software I wrote (or contributed to) and currently maintaining.

  • GNU Source-highlight given a source file, produces a document with syntax highlighting.
  • GNU Gengetopt: given a description file generates a C function that parses command line options, using C library getopt_long function
  • GNU gengen: A parameterized-text-generator generator based on a template.
  • doublecpp: a preprocessor implementing double dispatch in C++.
  • klcddimmer: a KDE applet to change the LCD brightness.
  • PhpBibliography: a web based bibliography system.
  • IMC (Implementing Mobile Calculi): a Java framework for implementing distributed applications with code mobility.
  • Source-Highlight-Qt: a library for performing syntax highlighting in Qt documents by relying on GNU Source-Highlight library.
  • QSource-Highlight: a Qt interface for GNU Source-Highlight.
  • QtFindReplaceDialog: a Find/Replace Qt dialog.
  • MSoma: a native client for SomaFM internet radio ( ) written in Qt4 and C++. The application will be available for Maemo and MeeGo, with an initial release for Nokia N900.
  • SourceHighlightIDE: an IDE for GNU Source-highlight, in particular it is useful for developing and debugging new language definitions.
  • Gengetopt eclipse: an Eclipse plugin editing GNU Gengetopt files.
  • MyIpTrack: a php script that allows you to store the IP addresses with which you connect to the Internet. It stores such information on a text file.
  • XKlaim: is an experimental programming language for distributed applications with mobile code (it is part of Klaim project).
  • FJ-Eclipse: provides an Eclipse-based IDE for Featherweight Java, implemented using Xtext.
  • XTypeS: a DSL (implemented in Xtext itself) for writing type systems for languages implemented in Xtext.
  • Xsemantics (new): a DSL (implemented in Xtext itself) for writing type systems, reduction rules, interpreters (and in general relation rules) for languages implemented in Xtext. It is the successor of XTypeS.
  • Delta Java: a Java-like language which allows to organize classes in modules. There are two kind of modules: core and delta. A core module is a simple collection of classes, while a delta module is a set of operations that allow to add a new class and modify or remove classes declared in other delta or core modules.
  • Xtraitj: is an implementation of traits completely compatible with Java. Single parts of a project can be refactored to use traits, without requiring a complete rewrite of the whole existing code-base.
  • Java– (new): an Eclipse IDE for a simpler version of Java aiming to teach programming.
  • Jbase (new): A Customization of Xtext Xbase to deal with pure Java expressions and statements.
  • EMF Parsley (new): an official Eclipse project that provides a set of reusable UI components based on EMF (trees, tables, forms, views, editors), hiding most of the complexity of internal details, that can be used in your EMF-based plugin out-of-the-box.

I also contributed to these programs:

  • FCA Eclipse, an Eclipse plugin performing a primordial analysis of class hierarchies to help re-engineering them using traits.
  • SWRTJ, a Java-like language where units of objects’ functionality are modeled by traits and by records (a construct that complements traits to model the state part of objects).