This study source was downloaded by 100000867488176 from CourseHero.com on 07-02-2023 12:11:12 GMT -05:00https://www.coursehero.com/file/70523054/CSE340Su20-Project2pdf/ CSE340 Summer 2020 Project 2: Parsing Due: Thursday, July 30, 2020 by midnight MST The goal of this project is to give you experience in writing a top-down recursive descent parser and to get introduced to the basics of symbol tables for nested scopes. We begin by introducing the grammar of our language. Then we will discuss the semantics of our language that involves lexical scoping rules and name resolution. Finally we will go over a few examples and formalize the expected output. NOTE: This project is significantly more involved than the first project. You should start on it immediately. For Monday, I expect that you have read the project description completely at least a couple times and maybe started on your parser. 1. Lexical Specification And here is the list of tokens that your lexical analyzer needs to support: PUBLIC = "public" PRIVATE = "private" EQUAL = "=" COLON = ":" COMMA = "," SEMICOLON = ";" LBRACE = "{" RBRACE = "}" ID = letter (letter + digit)* Comments and Space In addition to these tokens, our input programs might have comments that should