added lexer, context, and compiler and a makefile