Simplifications of ContextFree Grammars 10252020 Dr Sandip Mal

  • Slides: 31
Download presentation
Simplifications of Context-Free Grammars 10/25/2020 Dr. Sandip Mal 1

Simplifications of Context-Free Grammars 10/25/2020 Dr. Sandip Mal 1

10/25/2020 Dr. Sandip Mal 2

10/25/2020 Dr. Sandip Mal 2

Useless Productions Useless Production Some derivations never terminate. . . 10/25/2020 Dr. Sandip Mal

Useless Productions Useless Production Some derivations never terminate. . . 10/25/2020 Dr. Sandip Mal 3

Another grammar: Useless Production Not reachable from S 10/25/2020 Dr. Sandip Mal 4

Another grammar: Useless Production Not reachable from S 10/25/2020 Dr. Sandip Mal 4

Nullable Variables Nullable Variable: Example: Nullable variable 10/25/2020 Dr. Sandip Mal 5

Nullable Variables Nullable Variable: Example: Nullable variable 10/25/2020 Dr. Sandip Mal 5

Unit-Productions Unit Production: (a single variable in both sides) Example: Unit Productions 10/25/2020 Dr.

Unit-Productions Unit Production: (a single variable in both sides) Example: Unit Productions 10/25/2020 Dr. Sandip Mal 6

10/25/2020 Dr. Sandip Mal 7

10/25/2020 Dr. Sandip Mal 7

10/25/2020 Dr. Sandip Mal 8

10/25/2020 Dr. Sandip Mal 8

10/25/2020 Dr. Sandip Mal 9

10/25/2020 Dr. Sandip Mal 9

10/25/2020 Dr. Sandip Mal 10

10/25/2020 Dr. Sandip Mal 10

10/25/2020 Dr. Sandip Mal 11

10/25/2020 Dr. Sandip Mal 11

10/25/2020 Dr. Sandip Mal 12

10/25/2020 Dr. Sandip Mal 12

10/25/2020 Dr. Sandip Mal 13

10/25/2020 Dr. Sandip Mal 13

10/25/2020 Dr. Sandip Mal 14

10/25/2020 Dr. Sandip Mal 14

Normal Forms for Context-free Grammars 10/25/2020 Dr. Sandip Mal 15

Normal Forms for Context-free Grammars 10/25/2020 Dr. Sandip Mal 15

Chomsky Normal Form Each productions has form: or variable 10/25/2020 variable Dr. Sandip Mal

Chomsky Normal Form Each productions has form: or variable 10/25/2020 variable Dr. Sandip Mal terminal 16

Examples: Chomsky Normal Form 10/25/2020 Not Chomsky Normal Form Dr. Sandip Mal 17

Examples: Chomsky Normal Form 10/25/2020 Not Chomsky Normal Form Dr. Sandip Mal 17

Conversion to Chomsky Normal Form Example: Not Chomsky Normal Form We will convert it

Conversion to Chomsky Normal Form Example: Not Chomsky Normal Form We will convert it to Chomsky Normal Form 10/25/2020 Dr. Sandip Mal 18

Introduce new variables for the terminals: 10/25/2020 Dr. Sandip Mal 19

Introduce new variables for the terminals: 10/25/2020 Dr. Sandip Mal 19

Introduce new intermediate variable to break first production: 10/25/2020 Dr. Sandip Mal 20

Introduce new intermediate variable to break first production: 10/25/2020 Dr. Sandip Mal 20

Introduce intermediate variable: 10/25/2020 Dr. Sandip Mal 21

Introduce intermediate variable: 10/25/2020 Dr. Sandip Mal 21

Final grammar in Chomsky Normal Form: Initial grammar 10/25/2020 Dr. Sandip Mal 22

Final grammar in Chomsky Normal Form: Initial grammar 10/25/2020 Dr. Sandip Mal 22

In general: From any context-free grammar (which doesn’t produce ) not in Chomsky Normal

In general: From any context-free grammar (which doesn’t produce ) not in Chomsky Normal Form we can obtain: an equivalent grammar in Chomsky Normal Form 10/25/2020 Dr. Sandip Mal 23

The Procedure First remove: Nullable variables Unit productions (Useless variables optional) 10/25/2020 Dr. Sandip

The Procedure First remove: Nullable variables Unit productions (Useless variables optional) 10/25/2020 Dr. Sandip Mal 24

Then, for every symbol : New variable: Add production In productions with length at

Then, for every symbol : New variable: Add production In productions with length at least 2 replace with Productions of form do not need to change! 10/25/2020 Dr. Sandip Mal 25

Replace any production with New intermediate variables: 10/25/2020 Dr. Sandip Mal 26

Replace any production with New intermediate variables: 10/25/2020 Dr. Sandip Mal 26

Observations • Chomsky normal forms are good for parsing and proving theorems • It

Observations • Chomsky normal forms are good for parsing and proving theorems • It is easy to find the Chomsky normal form for any context-free grammar 10/25/2020 Dr. Sandip Mal 27

Greinbach Normal Form All productions have form: symbol 10/25/2020 variables Dr. Sandip Mal 28

Greinbach Normal Form All productions have form: symbol 10/25/2020 variables Dr. Sandip Mal 28

Examples: Greinbach Normal Form 10/25/2020 Not Greinbach Normal Form Dr. Sandip Mal 29

Examples: Greinbach Normal Form 10/25/2020 Not Greinbach Normal Form Dr. Sandip Mal 29

Conversion to Greinbach Normal Form: Greinbach Normal Form 10/25/2020 Dr. Sandip Mal 30

Conversion to Greinbach Normal Form: Greinbach Normal Form 10/25/2020 Dr. Sandip Mal 30

Observations • Greinbach normal forms are very good for parsing strings (better than Chomsky

Observations • Greinbach normal forms are very good for parsing strings (better than Chomsky Normal Forms) • However, it is difficult to find the Greinbach normal of a grammar 10/25/2020 Dr. Sandip Mal 31