Formal Language Processing in Scala, Solutions to Part 2

August 5th, 2008

Here are the solutions to the exercises from part 2. Read the rest of this entry »

Formal Language Processing in Scala, Part 2

August 2nd, 2008

This is the second part in a series of articles about parser combinators and implementing an interpreter in Scala. In this part I will focus on the development from simple hand-written parsers to parser combinators so that you can see how a combinator-based parser really works and utilize parser combinators to their full potential instead of treating them as merely a DSL for EBNF grammars. Read the rest of this entry »

Formal Language Processing in Scala, Solutions to Part 1

July 29th, 2008

Here are the solutions to the exercises from part one. Read the rest of this entry »

Formal Language Processing in Scala, Part 1

July 27th, 2008

This is the first part in a series of articles I intend to write about implementing an interpreter for a simple functional programming language in Scala, using Scala’s parser combinator library. I will try to cover the practical aspects of parsing and interpreting step by step but you should already be familiar with the basics of functional programming. Familiarity with Scala is not strictly required but it will be helpful for understanding the code (especially in the later parts of the series). Read the rest of this entry »

Novocode Application Framework 0.4 released

May 8th, 2008

I’d like to announce the release of Novocode Application Framework 0.4.

NAF provides a layer of MVC-based GUI components on top of SWT and JFace. A GUI is specified as a tree of NAF components which can then be instantiated as SWT controls. More than just a one to one wrapper of SWT component properties, NAF includes resource management (e.g. shared images and fonts), simplified configuration (e.g. CSS-like size units for layout managers) and model binding. Component trees can be described in a simple XML notation or in JavaScript with an extended JSON format. Applications can also be written entirely in JavaScript. The resource management framework can be used to instantiate and  configure your own classes with a few simple annotations, and it is easily extended for other description or scripting languages.

It’s been a while since the last release which is in part due to design problems with the previous versions, which took me quite some time to resolve. The project still doesn’t have a catchier name :-) but it is now a lot easier to write custom components and the resource management framework can be extended for formats other than XML. The major new feature from an application programmer’s point of view is the JavaScript support.

NAF is licensed under EPL 1.0 and can be downloaded from http://novocode.com/naf/.


Close
E-mail It