Grammars Grammars express languages Example the English language

  • Slides: 68
Download presentation
Grammars

Grammars

Grammars express languages Example: the English language

Grammars express languages Example: the English language

A derivation of “the dog walks”:

A derivation of “the dog walks”:

A derivation of “a cat runs”:

A derivation of “a cat runs”:

Language of the grammar: L = { “a cat runs”, “a cat walks”, “the

Language of the grammar: L = { “a cat runs”, “a cat walks”, “the cat runs”, “the cat walks”, “a dog runs”, “a dog walks”, “the dog runs”, “the dog walks” }

Notation Production Rules Variable Terminal

Notation Production Rules Variable Terminal

Another Example Grammar: Derivation of sentence :

Another Example Grammar: Derivation of sentence :

Grammar: Derivation of sentence :

Grammar: Derivation of sentence :

Other derivations:

Other derivations:

Language of the grammar

Language of the grammar

More Notation Grammar Set of variables Set of terminal symbols Start variable Set of

More Notation Grammar Set of variables Set of terminal symbols Start variable Set of Production rules

Example Grammar :

Example Grammar :

More Notation Sentential Form: A sentence that contains variables and terminals Example: Sentential Forms

More Notation Sentential Form: A sentence that contains variables and terminals Example: Sentential Forms sentence

We write: Instead of:

We write: Instead of:

In general we write: If:

In general we write: If:

By default:

By default:

Example Grammar Derivations

Example Grammar Derivations

Example Grammar Derivations

Example Grammar Derivations

Another Grammar Example Grammar Derivations: :

Another Grammar Example Grammar Derivations: :

More Derivations

More Derivations

Language of a Grammar For a grammar with start variable : String of terminals

Language of a Grammar For a grammar with start variable : String of terminals

Example For grammar Since: :

Example For grammar Since: :

A Convenient Notation

A Convenient Notation

Linear Grammars

Linear Grammars

Linear Grammars with at most one variable at the right side of a production

Linear Grammars with at most one variable at the right side of a production Examples:

A Non-Linear Grammar Number of : in string

A Non-Linear Grammar Number of : in string

Another Linear Grammar :

Another Linear Grammar :

Right-Linear Grammars All productions have form: or Example: string of terminals

Right-Linear Grammars All productions have form: or Example: string of terminals

Left-Linear Grammars All productions have form: or Example: string of terminals

Left-Linear Grammars All productions have form: or Example: string of terminals

Regular Grammars

Regular Grammars

Regular Grammars A regular grammar is any right-linear or left-linear grammar Examples:

Regular Grammars A regular grammar is any right-linear or left-linear grammar Examples:

Observation Regular grammars generate regular languages Examples:

Observation Regular grammars generate regular languages Examples:

Regular Grammars Generate Regular Languages

Regular Grammars Generate Regular Languages

Theorem Languages Generated by Regular Grammars Regular Languages

Theorem Languages Generated by Regular Grammars Regular Languages

Theorem - Part 1 Languages Generated by Regular Grammars Regular Languages Any regular grammar

Theorem - Part 1 Languages Generated by Regular Grammars Regular Languages Any regular grammar generates a regular language

Theorem - Part 2 Languages Generated by Regular Grammars Regular Languages Any regular language

Theorem - Part 2 Languages Generated by Regular Grammars Regular Languages Any regular language is generated by a regular grammar

Proof – Part 1 Languages Generated by Regular Grammars Regular Languages The language generated

Proof – Part 1 Languages Generated by Regular Grammars Regular Languages The language generated by any regular grammar is regular

The case of Right-Linear Grammars Let be a right-linear grammar We will prove: Proof

The case of Right-Linear Grammars Let be a right-linear grammar We will prove: Proof idea: is regular We will construct NFA with

Grammar Example: is right-linear

Grammar Example: is right-linear

Construct NFA such that every state is a grammar variable: special final state

Construct NFA such that every state is a grammar variable: special final state

Add edges for each production:

Add edges for each production:

NFA Grammar

NFA Grammar

In General A right-linear grammar has variables: and productions: or

In General A right-linear grammar has variables: and productions: or

We construct the NFA each variable such that: corresponds to a node: special final

We construct the NFA each variable such that: corresponds to a node: special final state

For each production: we add transitions and intermediate nodes ………

For each production: we add transitions and intermediate nodes ………

For each production: we add transitions and intermediate nodes ………

For each production: we add transitions and intermediate nodes ………

Resulting NFA It holds that: looks like this:

Resulting NFA It holds that: looks like this:

The case of Left-Linear Grammars Let be a left-linear grammar We will prove: is

The case of Left-Linear Grammars Let be a left-linear grammar We will prove: is regular Proof idea: We will construct a right-linear grammar with

Since is left-linear grammar the productions look like:

Since is left-linear grammar the productions look like:

Construct right-linear grammar Left linear Right linear

Construct right-linear grammar Left linear Right linear

Construct right-linear grammar Left linear Right linear

Construct right-linear grammar Left linear Right linear

It is easy to see that: Since Regular Language is right-linear, we have: Regular

It is easy to see that: Since Regular Language is right-linear, we have: Regular Language

Proof - Part 2 Languages Generated by Regular Grammars Regular Languages Any regular language

Proof - Part 2 Languages Generated by Regular Grammars Regular Languages Any regular language is generated by some regular grammar

Any regular language is generated by some regular grammar Proof idea: Let be the

Any regular language is generated by some regular grammar Proof idea: Let be the NFA with Construct from such that . a regular grammar

Since is regular there is an NFA such that Example:

Since is regular there is an NFA such that Example:

Convert to a right-linear grammar

Convert to a right-linear grammar

In General For any transition: Add production: variable terminal variable

In General For any transition: Add production: variable terminal variable

For any final state: Add production:

For any final state: Add production:

Since is right-linear grammar is also a regular grammar with

Since is right-linear grammar is also a regular grammar with