Fully implements ParserDriver.cs