Our Services

Get 15% Discount on your First Order

[rank_math_breadcrumb]

430 CMSC

CMSC 430 Project 3

The third project involves modifying the attached interpreter so that it interprets programs for the

complete language.

When the program is run on the command line, the parameters to the function should be supplied

as command line arguments. For example, for the following function header of a program in the

file text.txt:

function main x: integer, y: integer returns character;

One would execute the program as follows:

$ ./compile < test.txt 10 -10

In this case, the parameter x would be initialized to 10 and the parameter y to -10. An example

of a program execution is shown below:

$ ./compile < test.txt 10 -10

1 // Determines the quadrant of a point on the x-y plane

2

3 function main x: integer, y: integer returns character;

4 begin

5 if x > 0 then

6 if y > 0 then

7 ‘1’;

8 elsif y < 0 then

9 ‘4’;

10 else

11 ‘Y’;

12 endif;

13 elsif x < 0 then

14 if y > 0 then

15 ‘3’;

16 elsif y < 0 then

17 ‘2’;

18 else

19 ‘Y’;

20 endif;

21 else

22 if y <> 0 then

23 ‘X’;

24 else

25 ‘O’;

26 endif;

27 endif;

28 end;

Compiled Successfully

Result = 52

After the compilation listing is output, the value of the expression which comprises the body of

the function should be displayed as shown above.

The existing code evaluates some of the arithmetic, relational and logical operators together with

the case statement and decimal integer and real literals only. You are to add the necessary code

to include all of the following:

 Hexadecimal integer and character literals that include escape characters

 All additional arithmetic operators

 All additional relational and logical operators

 Both if and fold statements

 Functions with multiple variables

 Functions with parameters

The fold statement repeatedly applies the specified operation to the list of values, producing one

final value. A left fold associates the operator left to right and a right fold right to left. For

example, the following left fold:

fold left – (3, 2, 1) endfold;

would be evaluated as ((3 – 2) – 1) = 0, but using a right fold:

fold right – (3, 2, 1) endfold;

It would be evaluated as (3 – (2 – 1)) = 2. For operations that are associative, the result would be

the same whether it is as folded to the left or right.

This project requires modification to the bison input file, so that it defines the additional the

necessary computations for the above added features. You will need to add functions to the

library of evaluation functions already provided in values.cc. You must also make some

modifications to the functions already provided.

You are to submit two files.

1. The first is a .zip file that contains all the source code for the project. The .zip file

should contain the flex input file, which should be a .l file, the bison file, which should

be a .y file, all .cc and .h files and a makefile that builds the project.

2. The second is a Word document (PDF or RTF is also acceptable) that contains the

documentation for the project, which should include the following:

a. A discussion of how you approached the project

b. A test plan that includes test cases that you have created indicating what aspects

of the program each one is testing and a screen shot of your compiler run on that

test case

c. A discussion of lessons learned from the project and any improvements that could

be made

Share This Post

Email
WhatsApp
Facebook
Twitter
LinkedIn
Pinterest
Reddit

Order a Similar Paper and get 15% Discount on your First Order

Related Questions

CO Data 2

   In this homework, we explore both linear and logistic regression models. Linear Regression 1)  (20 points) Apply linear regression on both “diabetes” and “advertising” datasets and write a short paragraph about your findings.  2) (20 points) What is the linear regression model for each case? Logistic Regression 1) (30

Asign 2 of CG

Follow the attached instructions to complete this work. Guidance to follow I encourage you to build your project format following the requirements established in each project’s final step. I am going to give you the key to success. I am a fan of headings/subheadings in the final project that directly

Assign 2 of CG

Follow the attach information to complete this work. Make sure it aligns with the Rubric. Unit 2 Assignment Directions: Risk-Assessment Strategy Purpose In this assignment, you will detail the risk-assessment plan and strategy for your organization that you described in your discussion post. You have demonstrated that you understand their

How to Bulk Open MBOX File Windows and Mac?

The best way to bulk open MBOX file Windows and Mac without using any email client is through an expert solution such as BitRecover MBOX Viewer. It runs on both OS and is completely free of cost. The best thing is it is easy to use, has multiple selection modes,

Data unit 2 assign

Follow the attach instructions to complete this work State State Bird State Motto Year of Admission Alaska Willow ptarmigan North to the Future 1959 Texas Northern mockingbird Friendship 1845 California California quail Eureka 1850 Montana Western meadowlark Oro y Plata 1889 New Mexico Greater roadrunner Crescit Eundo 1912 Arizona Cactus

Finding …. Theme

Follow the attached instructions to complete this work. Unit 2 Assignment: Finding themes using a Page 1 dashboard Milligan Chapters 7, 8, and 11 Unit 2 Assignment: Finding themes using a dashboard Milligan Chapters 7, 8, and 11 In this assignment, you will learn how to combine individual visualizations to

Data V of D3

Follow the attach instructions to complete this work Deconstruction of an Advanced Dashboard: Trends and Improvements   Discussion Prompts · Does the dashboard designer use any of the trends that are described in Milligan’s Chapter 9? · If they did use those trends, state which one(s), and describe what they

DV D2

Follow the attached instructions to complete this work also find the previous work attach to it.  Deconstructions of an Advanced Dashboard: Dashboard Approach and Storytelling   Task There is a discussion you will need to participate in this unit. Select the button that follows to access the discussion thread.  You

CG 5

Follow the attached instructions to complete this work. In Unit 1, you analyzed the NIST 2.0 Framework and then compared it to the administration’s approach to cybersecurity. In Unit 2, you will look more specifically at what it means to establish a risk-assessment approach for an organization and how that

Computer Science Digital Image Analysis Assignment

Can anyone create me any one from the assignment doc 1. Real-Time Image Super-Resolution for Video Streams · Description: Develop a system to enhance the resolution of low-quality video streams in real-time using Super-Resolution GANs (SRGAN) or ESRGAN. · Challenge: Ensure temporal consistency across frames, avoid artifacts, and maintain real-time

D1 of data

Follow the attached instructions to complete this work in an hour. Unit 1 Discussion: Deconstruction of an Advanced Dashboard: Identification of Purpose and Visualizations   Task 1. Go to  Viz of the Day 2. This website is hosted by Tableau Public, and new visualizations are posted daily. 3. Select one

D1 of Cg

Follow the attached instruction to complete this discussion Directions 1. Initial post: Respecting user privacy and ensuring data integrity are important ethical requirements of a CISO. They are requirements reflected in the internal governance approach to writing policies on how to manage access and control over data. You may add

Cyber 1

Follow the attach instructions to complete this work. Make sure it Aligns with Rubric. Unit 1 Assignment Directions: Administration Approach to Cybersecurity Purpose Write a 5-page paper analyzing 2023’s  National Cybersecurity Strategy Implementation Plan (NCSIP), which supports the NCS 2023, the Biden Administration’s approach to cybersecurity. Keep in mind that NIST

How to Convert OST files to PST?

Convert OST to PST using Shoviv OST to PST Converter (in steps): · Install and open OST to PST Converter tool · Add OST files you want to convert · Choose PST as the saving format · Select destination folder · Click Export to start conversion The tool converts OST

GainTools MBOX to PST Converter

GainTools MBOX to PST Converter is a powerful and easy-to-use program that can change MBOX files into PST files with 100% accuracy. It can convert several MBOX files at once, keeps the layout and attachments of the emails, and works with all major MBOX email clients. This makes it quick,

windowslivemailconverter

 <!–td {border: 1px solid #cccccc;}br {mso-data-placement:same-cell;}–> The best choice for the users is eSoftTools Windows Live Mail Converter software. It allows the users to convert their Live Mail profile emails into multiple formats as well as export Windows Live Mail emails to 8+ conversion and different cloud mail apps. It

Final CIS Project

 Scenario: A robot is sitting in a chair with its arms facing down. Write an algorithm, using pseudocode, to make the robot: 

What features define a successful AI Chatbot Development Company?

A successful AI Chatbot Development Company is defined by its ability to deliver intelligent, scalable, and user-friendly chatbot solutions powered by advanced AI and NLP. Key features include seamless integration, contextual conversation handling, real-time analytics, and enterprise-grade security—essential for enhancing customer support, boosting engagement, and automating workflows across diverse business