more minor C semantics fixes

**please review**
Makes sense, but from my experience, the Ground parser finishes faster than the rule parser, because the grammar is slightly smaller.