Basic working implementation

A basic working implementation of the lexer and a sanity-check test
changed .gitignore