Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

In Java Program Specification: Build a hash table using chaining as the collision resolution technique. Insertions into the hash table will correspond to declarations of

In Java

Program Specification:

Build a hash table using chaining as the collision resolution technique. Insertions into the hash table will correspond to declarations of variables and values in a program, searches will be requests for the value of a variable. Some variables will be local and have a narrow scope while some variables will be global.

The program will take input from a file, another program written in the omnipotent programming language BORG (Bionicly Omnipotent Resistance Grinders) and generate output from this program.

The BORG language has the following commands (keywords):

1. START-FINISH blocks. Indicating different scopes.

2. COM - Single line comments: Text should be ignored if on the same line

3. VAR varName Variable Declaration, adds varName to the hash table.

4. variable = expression Assignment statements, ie GEORGE = 122. Find GEORGE in the hash table and assign 122 to it.

5. ++ - increment operator, syntax: VARIABLE ++

6. -- - decrement operator, syntax: VARIABLE --

7. expressions, expressions are limited to unary and binary arithmetic, or variable names

8. supported operators: + - / * % ^ (plus, minus, divide, multiple, modulo, exponent)

9. PRINT syntax PRINT expression. If the expression is a variable, and this variable is not in scope, then an error message indicating unknown variable x at line number y. The value printed if there is a variable in scope should be the variable with the closest scope.

10. Errors other than the print statements, our interpreter will not be responsible for detecting errors, syntax errors should be disregarded if encountered, assume that the source file is correct.

Our hash function: sum the ordinal values of the characters of the variable multiplied by their position in the string (1-indexing), then taking the modulo by TABLESIZE.

ie. The variable ABC = (65 * 1 + 66 * 2 + 67 * 3) % TABLESIZE

All tokens are separated by one space or a new line.

Output: for this assignment, run your interpreter on this sample source program as well as a program of your own, and turn it the output from both, as well as the source code from your BORG program as well as source code of the assignment and its executable. Zip is good.

image text in transcribed

Sample program and its output Input COM HERE IS OUR FIRST BORG PROGRAM COM WHAT A ROBUST LANGUAGE IT IS START Output VAR BORA MIR = 25 VAR LEGOLAS-101 PRINT BORAMIR BORAMIR ++ PRINT LEGOLAS PRINT GANDALF PRINT BORAMIR *2 COM COM NESTED BLOCK COM START BORAMIR IS 25 LEGOLAS IS 101 GANDALF IS UNDEFINED BOARAMIR * 2 IS 52 VAR GANDALF = 49 PRINT GANDALF PRINT BORAMIR GANDALF IS 49 BORAMIR IS 26 FINISH PRINT GANDALF START GANDALF IS UNDEFINED LEGOLAS = 1000 PRINT LEGOLAS FINISH PRINT LEGOLAS LEGOLAS PRINT LEGOLAS LEGOLAS IS 1000 LEGOLAS IS 1000 LEGOLAS IS 999 FINISH

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

Put Your Data To Work 52 Tips And Techniques For Effectively Managing Your Database

Authors: Wes Trochlil

1st Edition

0880343079, 978-0880343077

More Books

Students also viewed these Databases questions

Question

WHAT IS AUTOMATION TESTING?

Answered: 1 week ago

Question

What is Selenium? What are the advantages of Selenium?

Answered: 1 week ago

Question

Explain the various collection policies in receivables management.

Answered: 1 week ago

Question

What is the basis for Security Concerns in Cloud Computing?

Answered: 1 week ago

Question

Describe the three main Cloud Computing Environments.

Answered: 1 week ago