fleshing out language parser and scanner. added lexer