[SOLVED] CSCI312  Homework 4- Jabberwocks

30.00 $

Category:
Click Category Button to View Your Next Assignment | Homework

You will receive the following solution file(s) instantly after successful payment:

zip file icon hw04definetype-cu1tls.zip (151.9 KB)
Assignment Instructions Updated Recently? Submit Below and we will provide new Solution!
Submit New Instructions
🔒 Securely Powered by:
Secure Checkout
5/5 - (2 votes)

Homework 4
• A borogove is either:
• A jubjub is either:
• A tove is
1
Types: Write definitions of jabberwocks, borogoves, jubjubs, and toves in Racket language plai using define-type.
Conversion to and from lists: Use your datatype to write a procedure that converts jabberwocks to lists. For example:
> [.pretty-print (jabberwock-to-list test-case))
‘(jabberwock snark
(borogove bloom
(jubjub blub
(jubjub flub (tove pair 1 2))
(borogove barn (borogove bunny (tove pair 3 1)) (tove pair 2 1))) (jubjub flub (tove pair 1 1)))
(borogove bunny (tove pair 1 0)))
1
2
3
4
5
6
7
8
9
10
11
Note that the returned object is just a list of lists, symbols, and numbers.
Also write a procedure list-to-jabberwock that takes a list, like the one output by jabberwock-to-list, and converts it into a genuine jabberwock.
Counting jubjubs and borogoves: Also write a procedure fix-toves that copies the jabberwock, and replaces each pair of tove numbers with the number of borogoves and the number of jubjubs in the path to the root. This is true in the jabberwock shown above.
Test cases: Add enough unit tests to demonstrate all features of your procedures. These can be in the same file or a separate file.
Turn in: Put all your files into a folder csci312hw04yourname, zip it, and submit to canvas.

  • hw04definetype-cu1tls.zip