pacc logo

To Do List

In another project, I divided the todo list into "blockers" and "laters". Let's try that here.


  • add #line directives
  • implement --feed / partialization (this is my unique selling point)
  • complete command line interface
  • detect left recursion
  • one instance of each type per union
  • dynamically allocate everything
  • UTF-8 support
  • basic documentation


  • void types
  • autoconfiscation, because I really want to make at least one public release with my beautiful pristine makefile
  • parser optimization
  • value inheritance
  • XXX cleanups
  • review
  • more research
  • permissions (since I won't actually distribute the Java parser yet)

Now done:

  • Scoping

    Names in pacc grammars are supposed to scope statically over sequences, but that clearly isn't the case at the moment, otherwise test/pacc/scope1.pacc would compile!

First up would seem to be #line directives. As far as I can see, we include user-supplied in emit.c::emit_expr(), ::guard_post(), and that's all. However, where do we get the information from to go in the #line directive? As far as I can see, we're not storing that anywhere at present, so we'll need to fix up the Result rule to store that somehow (a new node type?)

Last updated: 2015-05-24 19:45:28 UTC


Porting and packaging

One thing pacc needs is more users. And, perhaps, one way to get more users is to reduce the friction in getting started with pacc. An obvious lubricant is packaging. Read More...

Release relief

Looking at _pacc_coords(), I noticed that it seemed to have the same realloc() bug that I'd just fixed in _pacc_result(). However, the "list of arrays" trick really wasn't going to work here. Read More...

See more news articles