Fix issue 194

* Fix handling of empty `options{}` block in grammar (fixes #194)
* Add unit test to verify empty `tokens{}` block is allowed in grammar