Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Computer Engineering Expert

 

Assignment- The Interpreter

1. Overview

For this assignment you will be implementing an interpreter for the mock language X. Some code has been given to you to get you started.

Also attached to this assignment doc is the pages for explaining the components of the interpreter. The information in the pages should be sufficient to complete the assignment.

And as always, if there are any questions please ask them in slack AND in class. This promotes collaborative thinking which is important.

NOTE THIS IS AN INDIVIDUAL ASSIGNMENT but you can collaborate with other students.

Submission

You are required to submit your source code via GitHub, and documentation in PDF format as described in Documentation Guidelines into the documentation folder.

2. Requirements

1. Implement ALL the ByteCode classes listed in the table on page {129 or page 5 of this document}. Be sure to create the correct abstractions for the bytecodes. It is possible to have multiple abstractions within the set of byte codes classes.

2. Complete the implementation of the following classes

a.ByteCodeLoader
b.Program
c.RuntimeStack
d.Virtual Machine

The Interpreter and CodeTable class have already been implemented for you. The Interpreter class is the entry point to this project. All projects will be graded using this entry point.

3. Make sure that all variables have their correct modifiers. Projects with all members being public will lose points.

4. Make sure not to break encapsulation. Projects that contain objects or classes trying to access members that it should not be allowed to will lose points. For example, if a bytecode needs to access or write to the runtime stack, it should NOT be allowed to. It needs to request these operations from the virtual machine. Then the virtual machine will carry out the operation.

It is ill advised to take the naive approach and make a method in the virtual machine for each byte code, while it would work, this solution will produce a lot of duplicate code AND points will be deducted for this type of solution.

Notes about the attached pages.

• Some of the information in the attached pages may be out of date. BUT not much. For example, the pages call to use a vector for the runtime stack. Vectors in java, while they still exist are deprecated and new projects should not use them. You may use an ArrayList in its place.

Computer Engineering, Engineering

  • Category:- Computer Engineering
  • Reference No.:- M92744527

Have any Question?


Related Questions in Computer Engineering

How to design a java program that reads a sentence say s

How to design a Java program that reads a sentence, say s, consisting of lower-case words with .nextLine() method, identifies the words using .indexOf() and .substring() methods and saves them in String variables. Then t ...

Question in the link below it has all the information that

Question: In the link below it has all the information that needs to be in the crowsfoot erd. Don't take on this assignment if you cant put all the info in the ERD. The instructor will grade the work that you do and send ...

Program in cit is often times advantageous to be able to

*Program in C* It is often times advantageous to be able to transfer data between two arrays. Need a help with program (transfer.c) that add a range (by start index and end index) of numbers from array #1 to array #2 at ...

A recent study reported that the prevalence of

A recent study reported that the prevalence of hyperlipidemia is 30% in children 2 to 6 years of age. If 12 children are analyzed what is the probability that at least 3 are hyperlipidemic?

Information systemsdirections answer the following if you

Information Systems Directions : Answer the following: If you were asked to develop a logical model of the registration system at a school, would it be better to use a top-down or bottom-up approach? Explain your reasoni ...

Naomi always eats bagels with 1 ounce of cream cheese each

Naomi always eats bagels with 1 ounce of cream cheese. Each bagel eaten in this way provide 15 units of utility. Excess cream cheese or excess bagels do not add to Naomi's utility. Explain the nature of Naomi's utility f ...

Why are standards needed in data communication and

Why are standards needed in data communication and networking? What are the advantages and disadvantages of standards? How do standards fit in with regulations at the federal, manufacturing, and organizational levels? Gi ...

Assignmenta in the slides and textbook one of the examples

Assignment (a) In the slides and textbook, one of the examples features a class for counting up. An interface which defines this functionality is given below: public interface IncrementCounter { //Increments the counter ...

String utilitiesimplement the following methods write a

String Utilities Implement the following methods: // Write a method that returns true if s has leading or trailing whitespace, false otherwise public static boolean needsTrim(String s) // Write a method that swaps the fi ...

Junit test labyou will be creating a junit test class for

JUnit Test Lab You will be creating a JUnit Test Class for Gradebook.java, that has been provided for you.   Add a getScoreSize() method to the Gradebook class which returns scoresSize; Add a toString() method to the Gra ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As