A RuleFile is a configuration file defining a set of meeting rules.
It is compiled into a Python module by the program [[[compileRuleFile.py?]]]. Python code may be included in the initial rule file, although the goal is for most of it to be written in a more readable and concise fashion.
Here's an example rule file (the default one):
Here's the Python module that results from compiling it:
Right now the compiler is written in Python. I looked into using compiler libraries; I looked at TPY, and while it looked simple enough, I spent a day trying to get it to work and I could barely get it to just parse an arbitrary document. I think maybe I was getting confused by the two levels there; the tokens and the CFG (lexical stuff and grammar).
I briefly looked at the docs for PyBison? but I was turned off by the cruft you have to include for the interface to lex and yacc. I decided to just finish off the compiler in Python, since it was mostly done already anyhow.
But perhaps sometime the compiler should be rewritten using such a tool. I've also heard of SPARK and PLY. And maybe ol' TPY will work anyway, if someone competent were using it.