In this exercise you are to construct an interpreter for prefix expressions with the addition of a single memory location (like the interpreter you previously constructed, but implemented in Prolog this time). Your grammar should contain parameters that build an abstract syntax tree of the expression. Then, you should write Prolog rules that evaluate the abstract syntax tree to get the resulting expression. The grammar for prefix expressions is given in example 8.3. The grammar is LL(1) so no modifications of it are necessary to generate a parser for it in Prolog.
To complete this project you will want to use the readln predicate described in section 7.6. However, to make things easier while parsing, you should preprocess the list so that an expression like “+ S 5 R”, which readln returns as [+,s,5,r], will look like [+,s,num(5),r] after preprocessing. The num structure for numbers will help you when you write the parser.
HINT: This assignment is very closely related to the attribute grammar given in example 8.4. The main predicate for the interpreter should approximate this:
Delivering a high-quality product at a reasonable price is not enough anymore.
That’s why we have developed 5 beneficial guarantees that will make your experience with our service enjoyable, easy, and safe.
You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.
Read moreEach paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.
Read moreThanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.
Read moreYour email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.
Read moreBy sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.
Read more