Ask Question, Ask an Expert

+1-415-315-9853

info@mywordsolution.com

Ask Computer Engineering Expert

problem 1: Given the productions.

S-> Sa | aaA | AbS
A-> acA

a) List the parse table. Is the grammar LL(1) in this form? If no, why not?

b) If not, reprepare the grammar until it is LL(1), proven. If you cannot accomplish this, why? Either way, show the appropriate sets leading to your decision.

problem 2: Given the LL(1) grammar

S-> aS | B
B-> bBa | Cb
C-> c |d
Assume scanner ( ) and error ( ) functions return the next token and abort processing, respectively. prepare a complete LL(1) recursive-descent parser in C- like pseudo code without rewriting the grammar.

problem 3: In your grammar there is no function call. Suppose we want to change function calls so that they evaluate to some returned data, and this data could be used the same way as variables are used in expressions (not left of assignment). For ex, you could prepare x = 2 + F1(5) * 3 which, assuming that F1(5) returns 10, should put 32 into x.

Show changes needed in syntax and describe semantics of function call.

problem 4: prepare a program would read two numbers and then print all numbers between the first and the second, inclusive. For ex, on input 2 and 5 the program would print 2 3 4 5 (output one per line from the virtual machine).

problem 5: Given the production:

S-> aSAc | Acb
A-> bbb| empty
Implement a complete pseudo code for a recursive descent parser. Assume scanner ( ) function returns the next token and error ( ) aborts processing with an error message. Do not forget the main program. This grammar is LL(1) so no don’t modify.

problem 6: Given:

S -> SabC | abC | aCa
C -> ccC | c | empty | D
D -> dd

Reprepare the grammar as LL(1) if possible or otherwise argue why it is not possible. Prove that it is indeed LL(1), after the modifications, showing only the sets that are needed and using them for your proof.

problem 7: Suppose you have a language where a valid program is a sequence of assignments, with each ending with a semicolon. An assignment has syntax and semantics as in our language. Expressions can use variables and integers. Variables are not defined just used. There are two predefined variables READ and prepare. READ evaluates to the standard input value, prepare doesn’t evaluate to anything but it prints to the output the value being assigned to it. Expressions are as follow: binary -,+,*,/,^, and unary!. Expression can be parenthesized, which overrides any precedence.

Precedence is set as: weakest are + and -, then *, then /, then ^, then the unary. Associativity is right to left for + and -, and left to right for all others. prepare the unambiguous CFG grammar.

ex statements
x:=READ+5;
prepare:=x;
x=y+x/(x*5);

problem 8
: Suppose you have a language where a valid program is a sequence of statements and nothing else. Every statement ends with semicolon. A statement is either input READ(variable) or assignment

variable = expression, where expression is C-like expression involving ( ) and +,-,*,/ all arithmetical binary operators except - which is both unary and binary, and no other operators. Associativity is set so that all operators are left to right except * which is right to left, Precedence is set so that ( ) overrides anything, the rest, from the strongest to the weakest are:

unary minus
+ and -, the same
* and /, the same.

There are no numbers nor anything else. Variables are not defined.

ex program:
READ(x);
READ(y);
x=y+x/(x*y);

Design unambiguous CFG. Make sure to state what the tokens are.

problem 9: Our project grammar uses input statement which reads input into a variable before it can be used. For ex, to read a value and multiply by 10 we must do the following:

READ,x;
y = = x*10;
Suppose that we also want to allow the following:
y = = READ*10;
to do exactly the same semantics except the value is not stored in x. This change should apply to other cases as well, for ex we want to be able to say:
IF (READ > 0) THEN ... #meaning if the input is greater than 0
y= =10+READ*READ ... # multiply two inputs, add 10, put result in y
Again, the original syntax/semantics should be preserved and this should be an additional way to accomplish something. Show the grammar to allow that. Prove that it is LL(1).

problem 10: prepare a valid C-program that would read an input and then compute and output its factorial. Are there limitations of this program? Be very specific.

Computer Engineering, Engineering

  • Category:- Computer Engineering
  • Reference No.:- M93890

Have any Question? 


Related Questions in Computer Engineering

In the wolf sheep simple model the wolves and sheep move

In the Wolf Sheep Simple model, the wolves and sheep move randomly. In the real world, predators chase prey and prey try to escape. Can you modify the movement mechanism so the wolves chase the sheep? Again, how does the ...

1 why should salts be chosen at random2 does using

1. Why should salts be chosen at random? 2. Does using passwords with salts make attacking a specific account more difficult than using passwords without salts? Explain why or why not. 3. Show that a system using an EKE ...

You receive a computer system from the officer who tagged

You receive a computer system from the officer who tagged and bagged the evidence at a crime scene in a suspects home. You examine the computer and discover that is uses SCSI (small computer system interface) drive on Wi ...

1 why was vbscript not very popular2 the biggest script

1. Why was VBScript not very popular? 2. The biggest script security threat has always been the acceptance of untrusted data. What is the best way for scripts to accept data and preserve the trust?

1 assuming there are no stalls or hazards what is the

1. Assuming there are no stalls or hazards, what is the utilization of the data memory? 2. Assuming there are no stalls or hazards, what is the utilization of the write-register port of the "Registers" unit? 3. Instead o ...

1 an opaque urn contains three diamonds four rubies and two

1. An opaque urn contains three diamonds, four rubies, and two pearls. Construct a flowchart that describes the following events: Take a gem from the urn. If it is a diamond, lay it aside. If it is not a diamond, return ...

Investigate the random number generators built into three

Investigate the random number generators built into three of your favorite programming languages. Would you use these random number generators for cryptographic purposes? Using an existing cryptography library, write a s ...

We consider known-plaintext attacks on block ciphers by

We consider known-plaintext attacks on block ciphers by means of an exhaustive key search where the key is k bits long. The block length counts n bits with n > k. 1. How many plaintexts and ciphertexts are needed to succ ...

Check the uniformity of the distribution produced by the

Check the uniformity of the distribution produced by the linear congruential method for m = 4096 by accumulating random numbers in blocks of 64 in the range 0 → 4095 (e.g. the first block is 0 →63). Make a plot of the re ...

1 compare and contrast full- and partial-mesh topologies

1. Compare and contrast full- and partial-mesh topologies. What advantages does a partial mesh have compared to a full mesh? What advantages does a full mesh have compared to a partial mesh? 2. Why is it difficult to ach ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

WalMart Identification of theory and critical discussion

Drawing on the prescribed text and/or relevant academic literature, produce a paper which discusses the nature of group

Section onea in an atwood machine suppose two objects of

SECTION ONE (a) In an Atwood Machine, suppose two objects of unequal mass are hung vertically over a frictionless

Part 1you work in hr for a company that operates a factory

Part 1: You work in HR for a company that operates a factory manufacturing fiberglass. There are several hundred empl

Details on advanced accounting paperthis paper is intended

DETAILS ON ADVANCED ACCOUNTING PAPER This paper is intended for students to apply the theoretical knowledge around ac

Create a provider database and related reports and queries

Create a provider database and related reports and queries to capture contact information for potential PC component pro