Fix stream operator on rules and items
Compute closure of item sets under symbol expansion
Make more things immutable
Move shared rule pointer factories into individual rule files
Compute transitions for regex pattern rules
rename pattern rule files
In TransitionMap constructor, use initializer lists for pairs