Is this rule a left recursive production?

  • Context: MHB 
  • Thread starter Thread starter mathmari
  • Start date Start date
Click For Summary
SUMMARY

The discussion centers on the determination of whether the rule $$X \to XX|a$$ is a left recursive production. It is established that since $X$ generates a sentential form $XX$ with $X$ as the leftmost symbol, it is indeed left-recursive. To convert this grammar into a deterministic form, the proposed transformation is $$X \to aT, T \to XT|\varnothing$$. The conversation also explores the conditions under which a grammar is not deterministic, emphasizing the significance of avoiding both dilemmas and left recursion.

PREREQUISITES
  • Understanding of left recursion in grammars
  • Familiarity with deterministic context-free grammars
  • Knowledge of grammar transformations
  • Basic concepts of formal languages and automata theory
NEXT STEPS
  • Study the characteristics of deterministic grammars
  • Learn about left recursion elimination techniques
  • Explore regular expressions and their relation to context-free grammars
  • Investigate the implications of dilemmas in grammar design
USEFUL FOR

Students of computer science, linguists, and software engineers focusing on compiler design and formal language theory will benefit from this discussion.

mathmari
Gold Member
MHB
Messages
4,984
Reaction score
7
Hey! :o

I have a question..
Is the rule $$X \to XX|a$$ a left recursive production?
 
Physics news on Phys.org
Not a specialist in this, but since $X$ generates a sentential form $XX$ with $X$ as the leftmost symbol, yes, $X$ is left-recursive. I am looking at Wikipedia, which has definitions for a left-recursive nonterminal and a left-recursive grammar, but not a left-recursive production.
 
Evgeny.Makarov said:
Not a specialist in this, but since $X$ generates a sentential form $XX$ with $X$ as the leftmost symbol, yes, $X$ is left-recursive. I am looking at Wikipedia, which has definitions for a left-recursive nonterminal and a left-recursive grammar, but not a left-recursive production.

To make the grammar deterministic do I have to do the following changes?
$$ X \to aT ,T\to XT|\varnothing$$
 
Last edited by a moderator:
Or is there an other way to make the grammar deterministic?
 
mathmari said:
To make the grammar deterministic do I have to do the following changes?
$$ X \to aT ,T\to XT|\varnothing$$

mathmari said:
Or is there an other way to make the grammar deterministic?

I have a 3 step plan! ;)

1. What does a deterministic grammar look like?
2. Can you give a regular expression that describes the language?
3. Can you write that regular expression as a deterministic grammar?
 
I like Serena said:
1. What does a deterministic grammar look like?

A grammar is not determinitic if we have at least one of these two factors:
1. <<dilemma>>: $Q \to kA$ and $Q \to kB$
2. <<left recursion>>: $Q \to QY|X$

So to construct the determinitic version of the grammar we do the following:
For 1. $Q \to kX$ and $X \to A|B$
For 2. $Q \to X|XT, T \to YT| \varnothing$So, for my case, is $ X \to aT, T \to XT| \varnothing$ correct?
 
mathmari said:
A grammar is not determinitic if we have at least one of these two factors:
1. <<dilemma>>: $Q \to kA$ and $Q \to kB$
2. <<left recursion>>: $Q \to QY|X$

This states when the grammar is guaranteed to be not deterministic.
The negation does not necessarily make it deterministic.

Suppose for instance we have a rule like $Q \to aQb$.
That is not a dilemma, nor a left recursion.
Does that make it deterministic?

Perhaps you can find a form that is guaranteed to be deterministic?
So to construct the determinitic version of the grammar we do the following:
For 1. $Q \to kX$ and $X \to A|B$
For 2. $Q \to X|XT, T \to YT| \varnothing$

So, for my case, is $ X \to aT, T \to XT| \varnothing$ correct?
 
I like Serena said:
This states when the grammar is guaranteed to be not deterministic.
The negation does not necessarily make it deterministic.

Suppose for instance we have a rule like $Q \to aQb$.
That is not a dilemma, nor a left recursion.
Does that make it deterministic?

Perhaps you can find a form that is guaranteed to be deterministic?

Besides not having a dilemma nor a left recursion, what else should be satisfied so that the grammar is deterministic?

Does the part of the grammar $X \to aT, T \to XT| \varnothing$, have something that makes the grammar non deterministic?
 
mathmari said:
Besides not having a dilemma nor a left recursion, what else should be satisfied so that the grammar is deterministic?

Does the part of the grammar $X \to aT, T \to XT| \varnothing$, have something that makes the grammar non deterministic?

It is at least not obviously deterministic.

As it is we can substitute the first rule in the second and get:
$$T \to aTT$$
Now without knowing what else $T$ might map to, this does not look good.
It suggests that we need to keep track of the first $T$ to be able to verify if the second $T$ "fits", which is what a deterministic language will not allow.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 16 ·
Replies
16
Views
4K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 18 ·
Replies
18
Views
4K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 13 ·
Replies
13
Views
4K
  • · Replies 11 ·
Replies
11
Views
4K