Database System Concepts
Database System Concepts
7th Edition
ISBN: 9780078022159
Author: Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher: McGraw-Hill Education
Bartleby Related Questions Icon

Related questions

Topic Video
Question

OCaml Code: The goal of this project is to understand and build an interpreter for a small, OCaml-like, stackbased bytecode language. Make sure that the code compiles correctly and provide the code with the screenshot of the output. The code must have a function that takes a pair of strings (tuple) and returns a unit. You must avoid this error that is attached as an image. Make sure to have the following methods below: 

 

-Push integers, strings, and names on the stack

-Push booleans

-Pushing an error literal or unit literal will push :error: or :unit:
onto the stack, respectively

-Command pop removes the top value from the stack

-The command add refers to integer addition. Since this is a binary operator, it consumes the top
two values in the stack, calculates the sum and pushes the result back to the stack

- Command sub refers to integer subtraction

-Command mul refers to integer multiplication

-Command div refers to integer division

-Command rem refers to the remainder of integer division

-Command neg is to calculate the negation of an integer

-Command swap interchanges the top two elements in the stack, meaning that the first element
becomes the second and the second becomes the first

-Command toString removes the top element of the stack and converts it to a string

-println command pops a string off the top of the stack and writes it, followed by a newline,
to the output file that is specified as the second argument to the interpreter function

-Command quit causes the interpreter to stop

 

Below are the test cases: 

input1.txt:                              

push 1
toString
println
quit
 

 

input2.txt: 

push 5
push :true:
push :false:
push "str1"
push str1
push :error:
push :unit:
toString
println
toString
println
toString
println
toString
println
toString
println
toString
println
toString
println
quit

 

 

input3.txt:

push 10
push 2
push 8
pop
add
toString
println
quit

 

input4.txt:

push 6
push 2
push 3
sub
add
toString
println
quit
 

input5.txt:

push :true:
push 7
push 8
push :false:
pop
mul
toString
println
toString
println
quit

 

 

 

output1.txt:

1

 

 

output2.txt:

:unit:
:error:
str1
str1
:false:
:true:
5

 

 

 

output3.txt:

12

 

 

output4.txt:

5

 

 

output5.txt:

56
:true:

 

File "interpreter.ml", line 1:
Error: The implementation interpreter.ml
does not match the interface interpreter.cmi:
Values do not match:
val interpreter : instruction list -> unit
is not included in
val interpreter : string * string -> unit
File "interpreter.ml", line 23, characters 4-15: Actual declaration
Makefile:3: recipe for target 'all' failed
make:
[all] Error 2
***
expand button
Transcribed Image Text:File "interpreter.ml", line 1: Error: The implementation interpreter.ml does not match the interface interpreter.cmi: Values do not match: val interpreter : instruction list -> unit is not included in val interpreter : string * string -> unit File "interpreter.ml", line 23, characters 4-15: Actual declaration Makefile:3: recipe for target 'all' failed make: [all] Error 2 ***
Expert Solution
Check Mark
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education