I’ve decided to opensource one experimentation project I did some time ago.
This project is a set of libraries that include common library that might be useful for compiler construction.
The project is available on github.
Core module defines reusable parts that is not tied to java, such as
DiagnosticsLog – the reporter component that is able to provide the user with nicely formatted message, e.g.
Test.java:7: warning: [unchecked] unchecked generic array creation for varargs parameter of type List<String> Arrays.asList(Arrays.asList("January", ^ 1 warning
- Naming module – efficient UTF-8 symbol table
- Bundle – Resource bundle support
- Tag – generic taggable base class that may be subclassed to provide certain class hierarchy with customizable user data
- ImmList – a very small and efficient immutable alternative to the java’s LinkedList
See README.md on how this works and unit tests as usage demos.