1) Added Several New COnditions in Lexer
2) Added seperate tokens.rb to migrate all token related code to reduce branching if else
3) Updated Spec And removed some irrelevant test (May be test first is not 100% effective.)
4) Also Added setup.rb for File Requiring Setup.