Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Hi , I really need help with this. Please completely answer it for me so i can rate you up vote otherwise i will down

Hi, I really need help with this. Please completely answer it for me so i can rate you up vote otherwise i will down vote because this is really inportant for me. Below i have attached a picture of what my output should look like and all the info. Also, i need to use IntelliJ to complete this so let me know how many files should i make And name them and each code for its file please. Ihave 3 classes Instruction.java, MiniMacParser.java, MiniMac.java, and 4 txt files as fib.txt, less.txt, log.txt, tri.txt as tester code files. So please have the file bames as this and write and implement wverythibg for me. I need the complete answer Thanks!
MiniMacMiniMac is a virtual processor with a tiny but extendable memory and a tiny but extendable instruction set.Heres a screenshot of the MiniMac user interface:A screenshot of a computerDescription automatically generatedThe view panel on the right contains two lists (javax.swing.JList). The top list shows the contents of memory. The bottom list shows the program currently being executed. The control panel on the left contains three buttons (javax.swing.JButton). The first button prompts the user for a program to parse:A screenshot of a computer programDescription automatically generatedThe second button executes the program. The third button resets all memory cells to 0.These commands are duplicated under the Edit menu. The Help menu explains each command. The File menu contains the items: New, Save, Open, and Quit.The MiniMax memory is an array of integers:int size =32;Integer[] memory = new Integer[size];A MiniMax program is a list of instructions. An instruction pointer (ip) indicates the position in the list of the next instruction to be executed.GrammarHeres the instruction set grammar (note: ~ means followed by and all unquoted tokens are integers):load ::= load ~ location ~ value // memory[location]= valuehalt ::= halt // terminates the programadd ::= add ~ src1 ~ src2 ~ dest // memory[dest]= memory[src1]+ memory[src2]mul ::= mul ~ src1 ~ src2 ~ dest // memory[dest]= memory[src1]* memory[src2]bgt ::= bgt ~ location ~ offset // if 0 memory[location] ip += offsetblt ::= blt ~ location ~ offset // if memory[location]0 ip += offsetloop ::= loop ~ count ~ instruction // executes instruction count timesA block is a list of one or more instructions separated by semicolons and bracketed by curly braces:block ::={ ~ instruction ~ (; ~ instruction)* ~ }Executing a block sequentially executes each instruction in the blocks body.For example, the program shown in the screenshot computes kn, where n is stored in memory[0]. The base, k, is stored in memory[2]. In this case k =2, n was 7 and the result, 128, is stored in memory[1]. Memory[3] is the amount to decrement memory[0] each time the result is multiplied by k.DesignHeres the design of MiniMac:A diagram of a programDescription automatically generatedParserHeres a partial implementation of MiniMacParser.java. Note that it is a utility class (aka singleton), all of its methods are static.TestingImplement and test the following functions in MiniMac:Tri(n)=1+2+...+ n // stored in a file called triFib(n)= nth Fibonacci number // stored in a file called fibLess(n, m)=(n m)?1:0//1= true and 0= falseLog(n)= m where 2m = n and n 2m+1In each case the output, f(n), should be stored in memory[0] and the inputs should be stored beginning in memory[1].Hints1. The MiniMac is a publisher and the view panel is its subscriber. Each time memory is updated or a new program is set, MiniMac notifies its subscribers.2. The control panel is the action listener for its buttons. It navigates to the MiniMac and calls the appropriate procedure (execute and clear).3. Parsing is more complicated. The control panel must prompt the user for a file name, read the file (as a string), then pass the string to MiniMaxParser.parse(program). It then sets the MiniMac program to the parsers output, which causes a subscriber notification. Suggestion: ask ChatGPT how to read a text file in Java.4. Ask ChatGPT for a simple example of how to use a JList.
image text in transcribed

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Microsoft Office 365 For Beginners 2022 8 In 1

Authors: James Holler

1st Edition

B0B2WRC1RX, 979-8833565759

More Books

Students also viewed these Databases questions