The overall objective of this assignment is to fully

The overall objective of this assignment is to fully understand the notions oflexing,parsing,scoping,binding,environments and closures,by implementing an interpreter for a subset of Haskell.No individual function requires more than 15-25 lines, so if you’re answer is longer, you can be sure that you need to rethink your solution.The assignment is in the files:[Lexer.x][/src/Language/Nano/Lexer.x][Parser.y][/src/Language/Nano/Parser.y][Eval.hs][/src/Language/Nano/Lexer.x]andtests/Test.hs has some sample tests, and testing code that you will use to check your assignments before submitting.You should only need to modify the parts of the files which say:error “TBD: …”with suitable Haskell implementations.Note: Start early! Lexing and Parsing are new tools, which may take a while to grok.