CS622 Context-Free Languages (CFLs)

31
CS622 Context-Free Languages (CFLs)

Transcript of CS622 Context-Free Languages (CFLs)

Page 1: CS622 Context-Free Languages (CFLs)

CS622

Context-Free Languages (CFLs)

Page 2: CS622 Context-Free Languages (CFLs)

Announcements

••

Page 3: CS622 Context-Free Languages (CFLs)
Page 4: CS622 Context-Free Languages (CFLs)
Page 5: CS622 Context-Free Languages (CFLs)

⇒ M w N w

• M w

• N w

⇐ N w M w

Page 6: CS622 Context-Free Languages (CFLs)

Page 7: CS622 Context-Free Languages (CFLs)

L

L’sEXPANDc(L)

EXPANDc(L)

EXPANDc

Page 8: CS622 Context-Free Languages (CFLs)

Last Time:

Page 9: CS622 Context-Free Languages (CFLs)
Page 10: CS622 Context-Free Languages (CFLs)
Page 11: CS622 Context-Free Languages (CFLs)
Page 12: CS622 Context-Free Languages (CFLs)

https://docs.oracle.com/javase/specs/jls/se7/html/jls-2.html

Page 13: CS622 Context-Free Languages (CFLs)

https://docs.python.org/3/reference/grammar.html

Page 14: CS622 Context-Free Languages (CFLs)

https://docs.python.org/3/reference/grammar.html

Page 15: CS622 Context-Free Languages (CFLs)
Page 16: CS622 Context-Free Languages (CFLs)

Page 17: CS622 Context-Free Languages (CFLs)
Page 18: CS622 Context-Free Languages (CFLs)

Flashback:

••

ε

Page 19: CS622 Context-Free Languages (CFLs)

Page 20: CS622 Context-Free Languages (CFLs)

L

• ⇒ ⇐

Page 21: CS622 Context-Free Languages (CFLs)

• EXPR ⇒

• EXPR TERM ⇒

• TERM TERM ⇒

• FACTOR TERM ⇒

• TERM

• EXPR ⇒

• EXPR TERM ⇒

• EXPR TERM ⨯ FACTOR ⇒

• EXPR TERM ⨯ ⇒

Page 22: CS622 Context-Free Languages (CFLs)
Page 23: CS622 Context-Free Languages (CFLs)

• EXPR =>

• EXPR + TERM =>

• TERM + TERM =>

• FACTOR + TERM =>

• a + TERM

• EXPR =>

• EXPR + TERM =>

• EXPR + TERM FACTOR =>

• EXPR + TERM a=>

Page 24: CS622 Context-Free Languages (CFLs)
Page 25: CS622 Context-Free Languages (CFLs)
Page 26: CS622 Context-Free Languages (CFLs)

••

Page 27: CS622 Context-Free Languages (CFLs)

•• ELEMENT <TAG>CONTENT</TAG>

Page 28: CS622 Context-Free Languages (CFLs)

Page 29: CS622 Context-Free Languages (CFLs)

Page 30: CS622 Context-Free Languages (CFLs)

• S -> 0C’0 | 1C’1 | ε

• C’ -> C’C | ε

• C -> 0 | 1

Page 31: CS622 Context-Free Languages (CFLs)

Check-in Quiz 9/29