The Gateway to Computer Science Excellence
+3 votes

Which of the following is TRUE regarding LL(0) grammar?

  1. We can have a LL(0) grammar for any regular language
  2. We can have a LL(0) grammar for a regular language only if it does not contain empty string
  3. We can have a LL(0) grammar for any regular language if and only if it has prefix property
  4. We can have a LL(0) grammar for only single string languages
in Compiler Design by Veteran (430k points) | 188 views

@Arjun sir, i think the answer is D.

LL(0) means the grammar which can be generated with 0 look-a-heads.

So we have to generate a string even without looking at the first production symbol. this is only possible if there is only 1 string that the grammar can generate.


S -> abc

now to generate the language of the grammar we need not even look at the sarting symbol 'a', because the only string it can generate is 'abc'


Yes. Or no string also. That is why we don't have a real LL(0) parser :)
sir, please explain point no 3 for both LL(o) and LL(1) grammar.

@OneZero  Can you explain option C or any article where I can read more about prefix property ?

only if it has prefix property

Did you discarded it because if a grammer has same prefix and there is no disjoint it won't be LL(1)?


@OneZero for LL(0) , 0 look-aheads

S->abc or S->epsilon 

Here null atring also be there

@Arjun sir, am i right ?

1 Answer

+1 vote

LL(0) grammars have no lookahead. And since they follow Leftmost derivation, at each step the parser has to derive the string by seeing 0 symbols. => Parser sees nothing.

So whenever we have multiple choices for any Variable in the grammar, LL(0) fails.

Hence, LL(0) parser can only parse grammars that strictly generate one single string.

Option D

by Loyal (5.9k points)

Related questions

Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true
50,741 questions
57,231 answers
104,577 users