Computer Programming Articles - Page 10 of 19

What is OPG?

Ginni
Updated on 30-Oct-2021 12:09:44

682 Views

OPG stands for Operator Precedence Grammar. Grammar with the later property is known as operator precedence grammar. It is ε −free Operator Grammar in which precedence relation are disjoint, i.e., If a . > b exists, then b .> a will not exist.Example1 − Verify whether the following Grammar is operator Grammar or not.E → E A E |(E)|idA → +| − | *SolutionNo, it is not an operator Grammar as it does not satisfy property 2 of operator Grammar.As it contains two adjacent Non-terminals on R.H.S of production E → E A E .We can convert it into ... Read More

What is Handle?

Ginni
Updated on 29-Oct-2021 12:54:09

11K+ Views

A handle is a substring that connects a right-hand side of the production rule in the grammar and whose reduction to the non-terminal on the left-hand side of that grammar rule is a step along with the reverse of a rightmost derivation.Finding Handling at Each StepHandles can be found by the following process −It can scan the input string from left to right until first .> is encountered.It can scan backward until

What are Precedence Relations in Operator Grammar?

Ginni
Updated on 29-Oct-2021 11:26:55

715 Views

For terminals a and b in an Operator Grammar we can have the following precedence Relations −a =. b(Equal Precedence) − If R.H.S of production is of form α a β b γ, where β can be ε or single non-terminal then a =. b.Here, α and γ can be any strings.Example − In grammar, S → m A c B e dOn Comparing mAcBed with αaβbγα = mA, a = c, β = B, b = e, γ = dΑAβbγmACBedSo, comparing a with c and b with e we get c =.e.We can also make a different combination for ... Read More

What is Operator Precedence Parsing Algorithm in compiler design?

Ginni
Updated on 29-Oct-2021 13:07:17

8K+ Views

Any string of Grammar can be parsed by using stack implementation, as in shift Reduce parsing. But in operator precedence parsing shifting and reducing is done based on Precedence Relation between symbol at the top of stack & current input symbol of the input string to be parsed.The operator precedence parsing algorithm is as follows −Input − The precedence relations from some operator precedence grammar and an input string of terminals from that grammar.Output − There is no output but it can construct a skeletal parse tree as we parse, with one non-terminal labeling all interior nodes and the use ... Read More

Mobile

What are LEADING and TRAILING operation of an operator precedence grammar?

Ginni
Updated on 29-Oct-2021 10:59:15

15K+ Views

LEADINGIf production is of form A → aα or A → Ba α where B is Non-terminal, and α can be any string, then the first terminal symbol on R.H.S isLeading(A) = {a}If production is of form A → Bα, if a is in LEADING (B), then a will also be in LEADING (A).TRAILINGIf production is of form  A→ αa or A → αaB where B is Non-terminal, and α can be any string then, TRAILING (A) = {a}If production is of form  A → αB. If a is in TRAILING (B), then a will be in TRAILING (A).Algorithm to ... Read More

What is Operator Precedence Parsing?

Ginni
Updated on 29-Oct-2021 08:51:37

15K+ Views

Operator Precedence Parsing is also a type of Bottom-Up Parsing that can be used to a class of Grammars known as Operator Grammar.A Grammar G is Operator Grammar if it has the following properties −Production should not contain ϵ on its right side.There should not be two adjacent non-terminals at the right side of production.Example1 − Verify whether the following Grammar is operator Grammar or not.E → E A E |(E)|idA → +| − | ∗SolutionNo, it is not an operator Grammar as it does not satisfy property 2 of operator Grammar.As it contains two adjacent Non-terminals on R.H.S of ... Read More

Construct NFA for the following language and convert it into DFA using the algorithm - L = (aa+ (bb*)c*)

Ginni
Updated on 29-Oct-2021 08:28:42

1K+ Views

SolutionNFA for the above language will be −Conversion from NFA to DFA −ε − closure(0) = {0, 1, 4} = AFor State AFor input symbol aFor input symbol bFor input symbol c∴ Ta = {2}∴ Tb = {5}Tc = ∅∴ ε − closure (Ta)                       = ε                      − closure (2)= {2} = B∴ ε − closure (Tb)                        = ε                        ... Read More

What is Stack Implementation of Shift Reduce Parsing in compiler design?

Ginni
Updated on 29-Oct-2021 07:30:22

7K+ Views

Shift reduce parser is a type of bottom-up parser. It uses a stack to hold grammar symbols. A parser goes on shifting the input symbols onto the stack until a handle comes on the top of the stack. When a handle occurs on the top of the stack, it implements reduction.There are the various steps of Shift Reduce Parsing which are as follows −It uses a stack and an input buffer.Insert $ at the bottom of the stack and the right end of the input string in Input Buffer.Shift: Parser shifts zero or more input symbols onto the stack until ... Read More

What is Ambiguous Grammar?

Ginni
Updated on 26-Oct-2021 08:59:12

22K+ Views

A Grammar that makes more than one Leftmost Derivation (or Rightmost Derivation) for the similar sentence is called Ambiguous Grammar.Example − Verify whether the following Grammar is Ambiguous or Not.E → E+E|E $\ast$ E|idSolutionFor string id + id * id, there exist two parse trees.E ⇒lm $\underline{E}$+E ⇒ id+ $\underline{E}$⇒ id+$\underline{E}$ $\ast$ E⇒ id+id $\ast$ $\underline{E}$⇒ id+id $\ast$ idE ⇒lm $\underline{E}$ $\ast$ E⇒ $\underline{E}$+E $\ast$ E⇒ id+ $\underline{E}$ $\ast$ E⇒ id+id $\ast$ $\underline{E}$⇒ id+id $\ast$ idSo, the same string is generated using two different leftmost derivations. Each is having a different parse tree.∴ Two different parse trees exist for string id + id ... Read More

What are Derivations?

Ginni
Updated on 26-Oct-2021 08:38:45

5K+ Views

Derivations mean replacing a given string’s non-terminal by the right-hand side of the production rule. The sequence of applications of rules that makes the completed string of terminals from the starting symbol is known as derivation.It can derive terminal strings, beginning with the start symbol, by repeatedly replacing a variable with some production. The language of CFG is a set of terminal symbols we can derive so. This language is called context Free Language.Derivations are denoted by ⇒.For example, consider a Grammar.G=({S}, {a, b}, P, S), where, P contains following productions −P={S→aSa |bSb | ∈}In the above, S may be ... Read More

Advertisements