I'm going to be spending most of the day driving, but before I do that, I'll try to address a few questions here, and then can follow up by mail or IRC.
(1) I want to confirm that camxes-py is the preferred Python option
these days
I'm not aware of other parsers in python. I specifically developed the parser because I wanted a python implementation to complement your java implementation and Masato and Ilmen's _javascript_ parsers.
I notice now that Randall Holmes has developed a Python PEG parser for Loglan.
(2) I want to be able to run … it in a direct, straightforward way … and tree should contain an obvious python representation of the
parse tree
(5) Make a mode that collapses productions with only one child
Running will be the easy part. The representation of the parse tree raises some interesting questions.
For camxes-py, I created a transformation of the parse tree which replicated the output of Ilmentufa. I did this so that I could run against the test corpus that you set up for java camxes and verify not only that the python parser could accept the same corpus as the java and _javascript_ parsers, but that it was comprehending the same structures.
That said, the output exposes a lot of the mechanics of the parser specification and obscures the semantics. Ideally, I'd like for the test suites to target compatibility with a semantically-structured representation of the parse. There's been some work on Ilmentufa to post-process the parse tree into something more palatable. Have you taken a look at that?
(3) Update to most-recent parsimonious; it currently breaks on 0.8.1, but works on 0.6.2
I wrote against the most recent version of parsimonious at that time. Glad to see work has continued. I remember the author was working on some performance enhancements, and one problem with camxes-py in its current form is that it is slow.
(4) Update to Python 3
I agree that this should be done.