subset pascal scanner and parser