3 Context Free Languages and Push Down Automata - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

3 Context Free Languages and Push Down Automata

Description:

Context Free Grammars: definitions. Context Free Grammars: normalisation. Regular Grammars ... N b b . N berceau. Vintr dort. Vtr porte. Vc pense. Prep dans. Conj que ... – PowerPoint PPT presentation

Number of Views:475
Avg rating:3.0/5.0
Slides: 17
Provided by: guype1
Category:

less

Transcript and Presenter's Notes

Title: 3 Context Free Languages and Push Down Automata


1
3 - Context Free Languages and Push Down Automata
  • Context Free Grammars introduction
  • Context Free Grammars definitions
  • Context Free Grammars normalisation
  • Regular Grammars
  • Push Down Automata

2
3.1 - Context-Free Grammars introduction
  • The expressivity of regular languages is too
    limited for the representation of programming
    languages. Moreover, regular expressions and
    automata are not well suited to a readable
    description of languages.
  • A new paradigm was introduced by Chomsky (1956),
    Schützenberger, Backus (1959) and Naur (1960)
    whereas regular languages are built recursively
    from elementary languages by means of three
    operations, a context-free language is derived
    from a set of rewriting rules which constitute
    its grammar these rules must respect some
    syntactic constraints to be a Context-Free
    Grammar (CFG).

3
3.2 - Context-Free Grammars definitions
  • A Context-Free Grammar is a 4-uple (N, T, S, R)
    such that
  • N is a finite alphabet of non terminal symbols.
  • T is a finite alphabet of terminal symbols.
  • S is a particular element of N, the start
    symbol.
  • R is a finite set of production rules in the form
    A ? ?, where A is a non terminal and ? is a word
    from ? (N ?T)
  • The derivation relation ? between words from (N
    ?T) is defined as follows ?1A ?2 ? ?1 ? ?2 if
    A ? ? ? R. Its reflexive and transitive closure
    is written ?
  • The language generated by the grammar is the set
    of words ? from T such that S ? ?. It is a
    context-free language.

4
3.2 - Context-Free Grammars a linguistic
example
  • The grammar G is defined by the following rules
    and its start symbol is S

NP ? jean Det ? le N ? bébé N ? berceau Vintr ?
dort Vtr ? porte Vc ? pense Prep ? dans Conj ? que
S ? NP Vintr S ? NP Vtr NP S ? NP Vc
Compl S ? S PP NP ? Det N NP ? NP PP Compl ?
Conj S PP ? Prep NP
5
3.2 - Context-Free Grammars definitions
  • A derivation of a word ? of the language is a
    sequence S ? ?1 ? ?2 ? ? ?. It is represented
    in a compact way by a parse tree. A parse tree is
    an ordered tree labelled with symbols from N ? T.
    The root is labelled with S and the leaves with
    terminal symbols. Every node that is not a leaf
    is labelled with a non terminal symbol A and its
    ordered daughters are labelled with symbols
    constituting a word ? such that A ? ? is a
    production rule of the grammar.
  • Two grammars are equivalent if they generate the
    same language.
  • A grammar is ambiguous if there exists a word
    from its language that corresponds to two
    different parse trees at least. In natural
    languages, ambiguity has an important place
    whereas in programming languages ambiguity is
    rejected.

6
3.2 - Context-Free Grammars definitions
  • From the grammar to the languageDetermine the
    languages generated by the following grammars.
    Are theses grammars ambiguous ? If yes, define a
    non ambiguous grammar which is equivalent to that
    one of the question.
  • S ? ? aaaS
  • S ? ab aSb
  • S ? SS ? (S)
  • S ? SS () (S) S
  • S ? ? aiSai for any i such that 1 i n
  • From the language to the grammarDetermine CFGs
    generating the following languages.
  • L1 an bp 0 lt p lt n
  • L2 an bn cm dm n, m ? ?
  • L3 an bm cp n m or p m
  • L4 a(ab)

7
3.2 - Context-Free Grammars definitions
  • Let G be the grammar E ? E E E - E (E)
    idGive all parse trees of the word id - id - id.
    Determine an equivalent non ambiguous grammar.
  • If-then-else grammarsShow that the following
    grammar is ambiguous and determine a non
    ambiguous grammar which is equivalent to this
    one. S ? if B then S if B then S else S
    s B ? b Is the following grammar ambiguous ?
    S ? if B then S endif if B then S else S
    endif s B ? b

8
3.3 - Context-Free Grammars normalisation
  • Theorem (elimination of useless non terminal
    symbols) every CFG is equivalent to a CFG in
    which all non terminal symbols derive a word from
    T and all non terminal symbols are in a
    derivation coming from the start symbol.
  • Theorem (elimination of empty production rules)
    every CFG is equivalent to a CFG in which the
    only possible empty production rule is S ? ?,
    where S is the start symbol of the grammar, and
    the other production rules do not include S in
    their right hand side.
  • Theorem (Chomskys normal form) every CFG
    without empty production rule is equivalent to a
    CFG in which the production rules have one of the
    following forms A ? B C, A ? a , where A, B, C
    are non terminal symbols and a is a terminal
    symbol

9
3.3 - Context-Free Grammars normalisation
  • Theorem (elimination of unary rules) every CFG
    is equivalent to a CFG without unary rules (a
    unary rule is in the form A ? B).
  • A CFG is recursive if it admits derivation
    relation in the form A ? ?A?. It is
    left-recursive if ? ? and it is right-recursive
    if ? ?.
  • Theorem (elimination of left-recursivity) every
    CFG without empty production rule is equivalent
    to a CFG which is not left-recursive
    (right-recursive).
  • Theorem (Greibachs normal form) every CFG
    without empty production rule is equivalent to a
    CFG in which the production rules have the
    following form A ? a? , where A is a non
    terminal symbol, a is a terminal symbol and ? is
    a (possibly empty) sequence of non terminal
    symbols.

10
3.3 - Context-Free Grammars normalization
  • Clean the following grammar from useless non
    terminal symbols S ? X f X YX ? a b c Y
    Y ?Y ? a T d ZZ ? e S W T K e fK ?
    c V W ? U a Y bU ? b d X ZT ? a TV ? a
    f
  • Clean the following grammar from the empty
    productions S ? S ( S ) ?
  • Put the following grammar in Chomskys normal
    form S ? a B b A A ? a a S b A A B ? b
    b S a B B

11
3.3 - Context-Free Grammars normalization
  • Eliminate left recursivity from the following
    grammar E ? E T TT ? T ? F FF ? ( F )
    i
  • Eliminate empty production rules and left
    recursivity from the following grammar (S is the
    start symbol) S ? S a T S c dT ? T b T ?
  • Put the following grammar in Greibachs normal
    form A ? B C B ? C A b C ? A B a

12
3.4 - Regular Grammars
  • Definition A right linear regular grammar is a
    CFG that has production rules in the form A ?
    ?B or A ? ? , where A and B are a non terminal
    symbols and ? is a (possibly empty) sequence of
    terminal symbols.
  • Theorem A language is regular iff it is
    generated by a regular grammar.
  • The proof of this equivalence is based on the
    identification between non terminal symbols,
    terminal symbols, production rules of a CFG on
    the one hand and states, input symbols,
    transitions of an automaton on the other hand.

13
3.5 - Push Down Automata
  • A Push Down Automaton is a FSA which is
    associated with a stack and the transitions of
    which depend on the symbol at the top of the
    stack, which can be modified at the same time.
  • Definition a Push Down Automaton is a 7-uple
    (Q, ?,i, ?s, ?, q0, F, ?) such that
  • Q is a finite set of states.
  • ?i is a finite input tape alphabet of symbols.
  • ?s is a finite stack alphabet of symbols.
  • ? is a particular element of ?s, marking the
    bottom of the stack.
  • q0 is a particular element of Q, the start state
    of the automaton.
  • F is a subset of Q, the accepting states of the
    automaton.
  • ? is a transition relation which associates a
    source state q1 from Q, an input tape symbol a
    from ?i ? ?, a stack top symbol b from ?s,
    with a target state q2 from Q and a push word ?
    of stack symbols. This is denoted ?(q1, a, b,
    q2, ?).

14
3.5 - Push Down Automata
  • The principle of a Push Down Automaton
  • Initialization Initially, a word s from ?i is
    written on the tape. The other positions are
    filled with the blank symbol ?i. A pointer
    indicates the beginning of the tape.The control
    unit is in the state q0 and the stack is empty
    (it includes only the bottom symbol ?).
  • Transition step A transition can occur if the
    control unit is in a state q1, if the pointer
    indicates the symbol a on the tape, if there is
    the symbol b at the top of the stack and if the
    PDA has a transition (q1, a, b, q2, ?) in its
    transition relation. In this case, the pointer of
    the tape moves to the next position. The symbol b
    at the top of the stack is replaced by the string
    ?. Finally, the control unit moves to state q2.
    Instead of a, if the transition includes the
    empty word ?, the symbol of the tape indicated by
    the pointer does not matter and the pointer does
    not move.
  • Termination If in a configuration of the PDA, no
    transition is possible, the PDA stops. At this
    moment, if the unit control is in an accepting
    state, if the stack is empty and the input word
    totally read, this one is said to be accepted by
    the PDA.

15
3.5 - Push Down Automata
  • A Deterministic Push Down Automaton (DPDA) is a
    PDA with the following property from any state
    q1, any input tape symbol a and any stack top
    symbol b, there is one possible transition at
    most in the transition relation of the
    automaton.A PDA that is not a DPDA is a Non
    Deterministic Push Down Automaton (NPDA).
  • There are languages that are recognized by NPDA
    and not by DPDA.
  • Theorem a language is context-free iff it is
    recognized by a PDA.

16
3.5 - Push Down Automata
  • Write a recognition algorithm for a PDA.
  • Let A (q0, q1, 0, 1, ?, X, ?, q0, q0,
    q1, ?) be an automaton such that ? (q0, 1,
    ?, q0, ? X), (q0, 1, X, q0, X X), (q0, 0, X, q1,
    X), (q1, 1, X , q1, ?) , (q1, 0, ?, q0, ?,)
    Describe the language recognized by this PDA
    and give a grammar that generates this language.
  • Build PDA recognizing the following languages
    (DPDA if it is possible)
  • anbn n 1
  • anbn n 0
  • apbpqcq p 0, q 1
  • The language over the alphabet a, b that
    contains as many a as b.
  • The language of palindromes.
  • Build PDA recognizing the language generated by
    the following grammars.
  • S ? if_then S if_then S else S a
  • S ? S T S T U TT ? T a T b S U cU ? S T U
    T a T b
Write a Comment
User Comments (0)
About PowerShow.com