$29
Coffee Language Lexer (100 points): Given the description of the Coffee language (CoffeLanguage_Syntax.pdf) you are asked to implement the lexer that does the tokenization of a given Coffee program in a file.
You are expected to submit the file “lexer.clj” with a function called “lexer”. This function should take a file name and perform lexical analysis of the program contained within this fule. The output of the function should be the tokens in a list.
Grading: Full score would require the lexer code to implement the proper regular expression or DFA for identifiers as well as integer values. You may not use available Clojure code for regular expression finding. 20 points will be taken away for those not implementing a proper DFA or regular expression reader.
Submission and Grading
You will submit your version of file lexer.clj via Moodle.