Attribute Grammars in Clojure
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
doc lein new ascribe Mar 23, 2013
src/ascribe Add children attribute Jun 2, 2013
test/ascribe Add some children traveral attributes Jun 2, 2013
.gitignore lein new ascribe Mar 23, 2013
project.clj Upgrade to Clojure 1.5.1 Mar 26, 2013


A Clojure library providing Dynamic Reference Attribute Grammars.


During the development of Fipp, I stumbled upon Kiama. Fipp and Kiama provide a pretty printer built on some of the same research. Kiama, however, also provides libraries for tree rewriting and attribute grammars. After completing Fipp, I decided to study both of those areas of computer science. My project Retree is a direct port of Kiama's rewrite combinators. However, I decided to conduct more research before tackling an implementation of attribute grammars.

Torbjörn Ekman's thesis stood out among the literature: Extensible Compiler Construction. Guided by this work, I built this prototype of Ascribe as it stands today.

Then I stumbled upon racr. This has a lot in common with my goals for Ascribe. In light of the fact that there is new and exciting research occuring in the Dynamic Attribute Grammar world, I'm planning to continue development of Ascribe in the open.


Copyright © 2013 Brandon Bloom

Distributed under the Eclipse Public License, the same as Clojure.