My notes — Determinate context-free languages

Not in edition 2

The main difference between editions 2 and 3 is the addition of this section. Because this section is most useful for compiler parsing, we will pass this task on to CSCI 431.

What is a determinate pushdown automata?

There is either none or one choice for the next state. Modify the non-determinate PDA definition:

    δ: transition function
        Q × Σε × Γε → ℘(Q × Γε)

For determinate PDA Definition 2.39:

    δ: transition function
        δ(Q × Σε × Γε) → (Q × Γε) ∪ {∅}
    and
       For every q ∈ Q, a ∈ Σ and x ∈ Γ
       exactly one of the following is not ∅
           δ(q, a, x)
           δ(q, a, ε)    
           δ(q, ε, x) 
           δ(q, ε, ε)

determinate vs. non-determinate context free languages?

{aibjck | i≠j or j≠k} is a context free language but is not a determinate context free language!

Grammars for compiling