working on the parser. looking good, but I have a bug in the tokenizer--it is emiting too many 'end' tokens