Question: related Programming Languages Paradigms please solve do this , I will upvote you for sure Project (Part 1) This project will explore the topics learned

related Programming Languages Paradigms

related Programming Languages Paradigms please solve do this , I will upvote

you for sure Project (Part 1) This project will explore the topics

please solve do this , I will upvote you for sure

Project (Part 1) This project will explore the topics learned in class, and give you some simple hands- on experience. After completing all three parts, you should have a working interpreted language that is unique to you. You are encouraged to have fun and go above and beyond if you have the time. You have been given a simple imperative language. Study the syntax and semantics presented in the provided documents. Be sure to understand the language defined. You will then need to make a small, but substantial change, and create the lexer for the modified language. You will be making other changes to your language as the semester goes forward. So, take that into consideration when writing your code. All code should be written in either C, C++, Java, or Python. 1 What to do Study the syntax and semantics Modify the language: The modification should be significant, requiring a change in both syntax and seman- tics. You can add a new feature (like a "for" loop) or modify the way a feature works (Like making user input more advanced). As long as this is fulfilled you may make any change you want. Here are some exam- ples: - Add a "for" loop Change "get" to accept a list of IDs and get multiple integers Add a simple "printf" Add support for simple single-dimensional arrays - Add a new type for variables expressions (The current language only allows ints) Construct a state diagram for the lexer. The tokens and lexemes may be affected by your changes above. The tokens for the current design are provided in the attributed grammar file. Implement the lexer in your chosen language. You should include a test driver pro- gram that runs the lexer and prints all tokens to the screen like the example from class. Write a write-up as specified below. Programming Languages Paradigms Page 1 2 What to turn in Upload your submission as a zip archive containing the following: Source code (c, c++, python, or java files) - Source code should not require a particular IDE to compile and run. Should work on the csl and cs2 machines Readme (Plain text document) - List the files included in the archive and their purpose - Explain how to compile and run your project - Include any other notes that the TA may need Write-up (Microsoft Word or pdf format) - Describe the changes you made, include the syntactical and semantic changes. You do not need to specify these formally, but try to be clear on how they work. The state transition diagram - In addition, if you did not complete some feature of the project, why not? * What unsolvable problems did you encounter? * How did you try to solve the problems? * Where do you think the solution might lay? What would you do to try and solve the problem if you had more time? 3 Grading The grade for this project will be out of 100, and broken down as follows: The change to the language 25 The state transition diagram 15 The lexer code 50 Correct Output 10 If you were not able to complete some part of the program discussing the problem and potential solutions in the write-up will reduce the points deducted for it. For example, suppose there is a bug in your code that sometimes allows two customers to approach the same worker, and could not figure out the problem before the due date. You can write 2-3 paragraphs in the write-up to discuss this issue. Identify the error and discuss what you have done to try to fix it/find the problem point, and discuss how you would proceed if you had more time. Overall, inform me and the TA that you know the problem exists and you seriously spend time trying to fix the problem. Normally you may lose 5 points (since it is a rare error) but with the write-up you only lose 2. These points can make a large difference if the problem is affecting a larger portion of the program. Programming Languages Paradigms Page 2 Project (Part 1) This project will explore the topics learned in class, and give you some simple hands- on experience. After completing all three parts, you should have a working interpreted language that is unique to you. You are encouraged to have fun and go above and beyond if you have the time. You have been given a simple imperative language. Study the syntax and semantics presented in the provided documents. Be sure to understand the language defined. You will then need to make a small, but substantial change, and create the lexer for the modified language. You will be making other changes to your language as the semester goes forward. So, take that into consideration when writing your code. All code should be written in either C, C++, Java, or Python. 1 What to do Study the syntax and semantics Modify the language: The modification should be significant, requiring a change in both syntax and seman- tics. You can add a new feature (like a "for" loop) or modify the way a feature works (Like making user input more advanced). As long as this is fulfilled you may make any change you want. Here are some exam- ples: - Add a "for" loop Change "get" to accept a list of IDs and get multiple integers Add a simple "printf" Add support for simple single-dimensional arrays - Add a new type for variables expressions (The current language only allows ints) Construct a state diagram for the lexer. The tokens and lexemes may be affected by your changes above. The tokens for the current design are provided in the attributed grammar file. Implement the lexer in your chosen language. You should include a test driver pro- gram that runs the lexer and prints all tokens to the screen like the example from class. Write a write-up as specified below. Programming Languages Paradigms Page 1 2 What to turn in Upload your submission as a zip archive containing the following: Source code (c, c++, python, or java files) - Source code should not require a particular IDE to compile and run. Should work on the csl and cs2 machines Readme (Plain text document) - List the files included in the archive and their purpose - Explain how to compile and run your project - Include any other notes that the TA may need Write-up (Microsoft Word or pdf format) - Describe the changes you made, include the syntactical and semantic changes. You do not need to specify these formally, but try to be clear on how they work. The state transition diagram - In addition, if you did not complete some feature of the project, why not? * What unsolvable problems did you encounter? * How did you try to solve the problems? * Where do you think the solution might lay? What would you do to try and solve the problem if you had more time? 3 Grading The grade for this project will be out of 100, and broken down as follows: The change to the language 25 The state transition diagram 15 The lexer code 50 Correct Output 10 If you were not able to complete some part of the program discussing the problem and potential solutions in the write-up will reduce the points deducted for it. For example, suppose there is a bug in your code that sometimes allows two customers to approach the same worker, and could not figure out the problem before the due date. You can write 2-3 paragraphs in the write-up to discuss this issue. Identify the error and discuss what you have done to try to fix it/find the problem point, and discuss how you would proceed if you had more time. Overall, inform me and the TA that you know the problem exists and you seriously spend time trying to fix the problem. Normally you may lose 5 points (since it is a rare error) but with the write-up you only lose 2. These points can make a large difference if the problem is affecting a larger portion of the program. Programming Languages Paradigms Page 2

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Accounting Questions!