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

4/6pg

Your company Acme Logistics has recently been experiencing some thefts of equipment during the business day. All employees have been asked about the thefts and no one is claiming that they are responsible. Your facilities has three doors that are not locked during business hours and currently have no identification

Computer program

Kenya Forestry College [email protected] P.O. BOX 8 -20203, Londiani Tel .No.0202349901, 07232262 APPLICATION FOR TRAINING PROGRAMMES 2019/2020 Applications are invited for the following training programmes to be offered at Kenya Forestry College, Londiani commencing on the given dates. S/ n Programme Entry Requirements Duration Commencement Date Total Cost (Ksh) 1

Wk5_492

Need help with a question. Imagine that you are hired as an Ethical Hacking Consultant by your organization. You are asked by the top management to compare two object-oriented programming languages and create a presentation about your findings and suggestions. Use your problem-solving skills and  integrate your knowledge of web application testing

Computer Science

What is computer science  Science? what is the benefit of computer science?

6/8p

Running head: GUIDED IMAGERY AND PROGRESSIVE MUSCLE RELAXATION 2 Research Paper Topic: · Legal and legislative issues associated with biometric industry Instructions: · Prepare a 6-8 page paper in Microsoft Word using approved APA format. · The minimum page count cannot not include your Title page and Reference list. ·

week 7 Discussion and Replies

Please review the instructions for the assignment     WK7 Discussion Instructions: Database Failures and Timestamp Protocol  250 words total, answer the questions below with 4 evidence base scholarly articles. APA format, due 19 Dec 24.  1. Discuss the different types of failures. What is meant by catastrophic failure? 2.

Capstone B

Assessment 1 & 4 This file is too large to display.View in new window

hrmt

  how can organizations address change management in the workplace such that healthy stress is created? Be creative in your answer! You may find appropriate articles at the end of each chapter, and/or identify articles through the APUS online Library. Finally, be sure that all discussions are answered in full,

help

can u build a project for me based on the description given  below

help

can u build a project for me based on the description given  below

apple vs fbi

read this article Explain, based on the article and additional research, whether you agree with the FBI or Apple and why. Describe a possible compromise to the issue for future cases that would allow the investigation to continue. Take a position on whether technology is moving too fast for the

excel module 3

who can complete homework  assignment  by 4pm today  excel module 3 Documentation Shelly Cashman Excel 2019 | Module 3: SAM Project 1a Raybridge Recruiting CREATE A SALES REPORT Author: Theresa Cobb Note: Do not edit this sheet. If your name does not appear in cell B6, please download a new

excel module2

who can complete this assignment by 4pm today  Documentation Shelly Cashman Excel 2019 | Module 2: SAM Project 1a Roadrunner Online FORMAT WORKSHEETS Author: Theresa Cobb Note: Do not edit this sheet. If your name does not appear in cell B6, please download a new copy of the file from

Excel module 1

can anyone complete this ASAP or by tomorrow Documentation Shelly Cashman Excel 2019 | Module 1: SAM Project 1a New Era Medical COMPLETE A BUDGET SUMMARY WORKSHEET Author: Theresa Cobb Note: Do not edit this sheet. If your name does not appear in cell B6, please download a new copy

bcis

IfSuccessful_Status GA_Status_Icon SAM_Logo true false ID FirstName LastName AssignmentGUID UserID false rohan maharjan {308B14B0-E32E-42D1-BE7D-54EE2E09B8CD} {308B14B0-E32E-42D1-BE7D-54EE2E09B8CD} ID FirstName LastName ProjectName SubmissionNum MaxScore Score EngineVersion ID StepNumber Description IfSuccessful StepScore StepMaxScore ErrorText ActionName StepActionOrder ConsultantID FirstName Last 110345 Jenette Masterson 110347 Victorina Hogg 110349 Marguerite Hathcock 110351 Sid Ortiz 110352 Glenn Testani

WK6 Discussion

Please see attachment instructions to complete the assignment.     WK6 Discussion Instructions: Cost Functions and Record Lengths    250 words total, answer the questions below with 4 evidence base scholarly articles. APA format, due 15 Nov 24.  1. Discuss the different types of parameters that are used in cost

Enterprise Networking

ICT3051 Enterprise Networking Week-8 Laboratory Practicum 1 Configuring Quality of Service Task Use the following video to configure your own packet tracer file. Make sure everything in it works. Name the file with your name and student id. Reflect on the configuration experience by explaining what kind of problems you

Scott Tyree (2002)

You have been asked to conduct research on a past forensic case to analyze how digital data was used to solve the case Scott Tyree (2002). Summarize the case, pertinent actors, evidence, and facts. Outline the specific digital evidence used in the case. Describe the procedures and tools used to