EAGLESIX-2992: Porting code; building initial test cases.

No need for tests. The tests are all geared toward using the parser with the child classes of this parent class.
This won't work, we're killing off the _matches function.