change datatype to type synonym
added lexer, parser, associated tests. rearranged test code