context sensitive grammar - indian statistical institute ansuman/flat2018/csl-lba.pdfآ  de nition...

Download Context Sensitive Grammar - Indian Statistical Institute ansuman/flat2018/csl-lba.pdfآ  De nition Context

Post on 10-Jan-2020

2 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Context Sensitive Grammar

    Aparna S Vijayan

    Department of Computer Science and Automation

    December 2, 2011

    Aparna S Vijayan (CSA) CSG December 2, 2011 1 / 12

  • Contents

    1 Definition of CSG

    2 Context Sensitive Language(CSL)

    3 Example of CSL

    4 Chomsky Hierachy

    Aparna S Vijayan (CSA) CSG December 2, 2011 2 / 12

  • Contents

    1 Definition of CSG

    2 Context Sensitive Language(CSL)

    3 Example of CSL

    4 Chomsky Hierachy

    Aparna S Vijayan (CSA) CSG December 2, 2011 2 / 12

  • Contents

    1 Definition of CSG

    2 Context Sensitive Language(CSL)

    3 Example of CSL

    4 Chomsky Hierachy

    Aparna S Vijayan (CSA) CSG December 2, 2011 2 / 12

  • Contents

    1 Definition of CSG

    2 Context Sensitive Language(CSL)

    3 Example of CSL

    4 Chomsky Hierachy

    Aparna S Vijayan (CSA) CSG December 2, 2011 2 / 12

  • Contents

    1 Definition of CSG

    2 Context Sensitive Language(CSL)

    3 Example of CSL

    4 Chomsky Hierachy

    Aparna S Vijayan (CSA) CSG December 2, 2011 2 / 12

  • Definition

    Context Sensitive Grammar(Type1 Grammar)

    A context-sensitive grammar (CSG) is an unrestricted grammar in which every production has the form α→ β with |β| ≥ |α| (where α and β are strings of nonterminals and terminals).

    The concept of context-sensitive grammar was introduced by Noam Chomsky in the 1950.

    In every derivation the length of the string never decreases.

    The term ”context-sensitive” comes from a normal form for these grammars,where each production is of the form α1Aα2→α1βα2,with β 6= �. They permit replacement of variable A by string β only in the ”context ” α1 - α2.

    Aparna S Vijayan (CSA) CSG December 2, 2011 3 / 12

  • Formal Definition

    A Context Sensitive Grammar is a 4-tuple , G = (N,Σ, P, S) where:

    N=Set of non terminal symbols.

    Σ=Set of terminal symbols.

    S=Start symbol of the production.

    P=Finite set of productions. All rules in P are of the form α1Aα2→α1βα2.

    A ∈ N ( A is a single nonterminal) α1, α2, β ∈ (N ∪ Σ)+.

    Aparna S Vijayan (CSA) CSG December 2, 2011 4 / 12

  • Formal Definition

    A Context Sensitive Grammar is a 4-tuple , G = (N,Σ, P, S) where:

    N=Set of non terminal symbols.

    Σ=Set of terminal symbols.

    S=Start symbol of the production.

    P=Finite set of productions. All rules in P are of the form α1Aα2→α1βα2.

    A ∈ N ( A is a single nonterminal) α1, α2, β ∈ (N ∪ Σ)+.

    Aparna S Vijayan (CSA) CSG December 2, 2011 4 / 12

  • Formal Definition

    A Context Sensitive Grammar is a 4-tuple , G = (N,Σ, P, S) where:

    N=Set of non terminal symbols.

    Σ=Set of terminal symbols.

    S=Start symbol of the production.

    P=Finite set of productions. All rules in P are of the form α1Aα2→α1βα2.

    A ∈ N ( A is a single nonterminal) α1, α2, β ∈ (N ∪ Σ)+.

    Aparna S Vijayan (CSA) CSG December 2, 2011 4 / 12

  • Formal Definition

    A Context Sensitive Grammar is a 4-tuple , G = (N,Σ, P, S) where:

    N=Set of non terminal symbols.

    Σ=Set of terminal symbols.

    S=Start symbol of the production.

    P=Finite set of productions. All rules in P are of the form α1Aα2→α1βα2.

    A ∈ N ( A is a single nonterminal) α1, α2, β ∈ (N ∪ Σ)+.

    Aparna S Vijayan (CSA) CSG December 2, 2011 4 / 12

  • Formal Definition

    A Context Sensitive Grammar is a 4-tuple , G = (N,Σ, P, S) where:

    N=Set of non terminal symbols.

    Σ=Set of terminal symbols.

    S=Start symbol of the production.

    P=Finite set of productions.

    All rules in P are of the form α1Aα2→α1βα2. A ∈ N ( A is a single nonterminal) α1, α2, β ∈ (N ∪ Σ)+.

    Aparna S Vijayan (CSA) CSG December 2, 2011 4 / 12

  • Formal Definition

    A Context Sensitive Grammar is a 4-tuple , G = (N,Σ, P, S) where:

    N=Set of non terminal symbols.

    Σ=Set of terminal symbols.

    S=Start symbol of the production.

    P=Finite set of productions. All rules in P are of the form α1Aα2→α1βα2.

    A ∈ N ( A is a single nonterminal) α1, α2, β ∈ (N ∪ Σ)+.

    Aparna S Vijayan (CSA) CSG December 2, 2011 4 / 12

  • Context Sensitive Language

    The language generated by the Context Sensitive Grammar is called context sensitive language.

    If G is a Context Sensitive Grammar then L(G)=

    { w ∣∣(w ∈ Σ∗) ∧ (S ⇒+G w)} .

    Eg 1 of a context sensitive grammar G = {{S ,A,B,C , a, b, c} , {a, b, c} ,P,S}where P is the set of rules.

    S→ aSBC S → aBC CB → BC aB → ab bB → bb bC → bc cC →cc

    The language generated by this grammar is {anbncn|n ≥ 1} .

    Aparna S Vijayan (CSA) CSG December 2, 2011 5 / 12

  • Context Sensitive Language

    The language generated by the Context Sensitive Grammar is called context sensitive language.

    If G is a Context Sensitive Grammar then L(G)=

    { w ∣∣(w ∈ Σ∗) ∧ (S ⇒+G w)} .

    Eg 1 of a context sensitive grammar G = {{S ,A,B,C , a, b, c} , {a, b, c} ,P,S}where P is the set of rules.

    S→ aSBC S → aBC CB → BC aB → ab bB → bb bC → bc cC →cc

    The language generated by this grammar is {anbncn|n ≥ 1} .

    Aparna S Vijayan (CSA) CSG December 2, 2011 5 / 12

  • Context Sensitive Language

    The language generated by the Context Sensitive Grammar is called context sensitive language.

    If G is a Context Sensitive Grammar then L(G)=

    { w ∣∣(w ∈ Σ∗) ∧ (S ⇒+G w)} .

    Eg 1 of a context sensitive grammar G = {{S ,A,B,C , a, b, c} , {a, b, c} ,P,S}where P is the set of rules.

    S→ aSBC S → aBC CB → BC aB → ab bB → bb bC → bc cC →cc

    The language generated by this grammar is {anbncn|n ≥ 1} . Aparna S Vijayan (CSA) CSG December 2, 2011 5 / 12

  • Context Sensitive Language

    The derivation for the string aabbcc is

    S ⇒ aSBC ⇒ aaBCBC ⇒ aabCBC ⇒ aabBCC ⇒ aabbCC ⇒ aabbcC ⇒ aabbcc

    Aparna S Vijayan (CSA) CSG December 2, 2011 6 / 12

  • Context Sensitive Language

    The derivation for the string aabbcc is

    S ⇒ aSBC

    ⇒ aaBCBC ⇒ aabCBC ⇒ aabBCC ⇒ aabbCC ⇒ aabbcC ⇒ aabbcc

    Aparna S Vijayan (CSA) CSG December 2, 2011 6 / 12

  • Context Sensitive Language

    The derivation for the string aabbcc is

    S ⇒ aSBC ⇒ aaBCBC

    ⇒ aabCBC ⇒ aabBCC ⇒ aabbCC ⇒ aabbcC ⇒ aabbcc

    Aparna S Vijayan (CSA) CSG December 2, 2011 6 / 12

  • Context Sensitive Language

    The derivation for the string aabbcc is

    S ⇒ aSBC ⇒ aaBCBC ⇒ aabCBC

    ⇒ aabBCC ⇒ aabbCC ⇒ aabbcC ⇒ aabbcc

    Aparna S Vijayan (CSA) CSG December 2, 2011 6 / 12

  • Context Sensitive Language

    The derivation for the string aabbcc is

    S ⇒ aSBC ⇒ aaBCBC ⇒ aabCBC ⇒ aabBCC

    ⇒ aabbCC ⇒ aabbcC ⇒ aabbcc

    Aparna S Vijayan (CSA) CSG December 2, 2011 6 / 12

  • Context Sensitive Language

    The derivation for the string aabbcc is

    S ⇒ aSBC ⇒ aaBCBC ⇒ aabCBC ⇒ aabBCC ⇒ aabbCC

    ⇒ aabbcC ⇒ aabbcc

    Aparna S Vijayan (CSA) CSG December 2, 2011 6 / 12

  • Context Sensitive Language

    The derivation for the string aabbcc is

    S ⇒ aSBC ⇒ aaBCBC ⇒ aabCBC ⇒ aabBCC ⇒ aabbCC ⇒ aabbcC

    ⇒ aabbcc

    Aparna S Vijayan (CSA) CSG December 2, 2011 6 / 12

  • Context Sensitive Language

    The derivation for the string aabbcc is

    S ⇒ aSBC ⇒ aaBCBC ⇒ aabCBC ⇒ aabBCC ⇒ aabbCC ⇒ aabbcC ⇒ aabbcc

    Aparna S Vijayan (CSA) CSG December 2, 2011 6 / 12

  • Example2 CSG L = (#a = #b = #c)

    G2 =({S ,A,B,C , a, b, c} , {a, b, c} ,P,S) S→ ABC

    S →ABCS

    AB→ BA

    AC → CA

    BC → CB

    BA → AB

    CA →AC

    CB → BC

    A → a

    B →b

    C →c Aparna S Vijayan (CSA) CSG December 2, 2011 7 / 12

  • Hierarchy of Formal Languages

    Aparna S Vijayan (CSA) CSG December 2, 2011 8 / 12

  • Relation between Formal Languages

    The CFL’s not containing � are properly contained in the context sensitive languages

    Not all Context Sensitive Languages are Context Free.

    Every Context Sensitive Language is recusive.

    Aparna S Vijayan (CSA) CSG December 2, 2011 9 / 12

  • Chomsky Hierachy

    Described by Chomsky in 1956.

    Four classes of language Type 3,Type2,Type1,Type 0 from most restrictive to most general(Unestricted).

    Each level of hierarchy can be characterized by a class of grammar.

    Aparna S Vijayan (CSA) CSG December 2, 2011 10 / 12

  • Chomsky Hierarchy

    Type Language productions Device 3 Regular A → aB, A → a Finite Automaton 2 CFL A → α Pushdown Automaton 1 CSL α→ β,|β| ≥ |α| Linear Bounded Automaton 0 RE α→ β Turing Machine

    A,B→ Nonterminals α,β→ string of terminals and nonterminals a→ terminal symbol

    Aparna S

Recommended

View more >