Minimalist Machine Derivations

Files: persian_grammar.pl / m12.pl / Back to homepage

Examples:

  • Persian examples (Trevor Sullivan and Sandiway Fong) collapse
    Example Instruction stream (clickable) Notes
    (1a) Man mehmun davat kard-am
    I guest invitation do-1.sg
    I invited a guest
    [mehmun,d,[davat,'V'],'v*',[man,d],kard,'Tpast',c] Assume an empty verbalizer 'V' merges with nominal 'davat' (invitation) in morphology space. In narrow syntax, [V[V][N davat]] will be treated as an atomic head.
    Assume required 'kard' (do + PST) heads its own projection and is a 'v'.
    T's uPhi will be valued by the subject and surfaces as '-am' [1.sg].
    (1b) U mehmun davat kard-∅
    He/she guest invitation do-3.sg
    He/she invited a guest
    [mehmun,d,[davat,'V'],'v*',[u,d],kard,'Tpast',c] ∅ = zero affix for [3.sg].
    (1c) Anha mehmun davat kard-and
    They guest invitation do-3.pl
    They invited a guest
    [mehmun,d,[davat,'V'],'v*',[anha,d],kard,'Tpast',c]
    (2) Man mehmun davat mi-kon-am
    I guest invitation DUR-do-1.sg
    I invite a guest
    [mehmun,d,[davat,'V'],'v*',[man,d],kard,dur,'T',c] DUR = durative. DUR spells out as the prefix 'mi-'.
    'kard' (do) + PRES = 'kon'.
  • Machine Parameters: expand

    Derivation:
    (2) Man mehmun davat mi-kon-am
    I guest invitation DUR-do-1.sg
    I invite a guest

    Stream:[[mehmun!D],[d!case!N],[[davat!D],[V!N]],[v*!phi],[[man!D],[d!case!N]],[kard],[dur],[T!phi],[c]]
    Stack (⥥):
    SO:[]

    Step 1.

    Head of stream [mehmun!D] is the initial SO
    Stream:[[d!case!N],[[davat!D],[V!N]],[v*!phi],[[man!D],[d!case!N]],[kard],[dur],[T!phi],[c]]
    Stack (⥥):
    SO:[mehmun!D]

    Step 2.

    Merge [d!case!N] and [mehmun!D]
    Label from [d!case!N] (syntactic head with an unvalued uF)
    Inherit interpretable feature(s) [f(phi,[3,sg,n])] from [mehmun!D]
    [d!case!N] values D on [mehmun!D]
    [mehmun] values N on [d!case!N]
    Stream:[[[davat!D],[V!N]],[v*!phi],[[man!D],[d!case!N]],[kard],[dur],[T!phi],[c]]
    Stack (⥥):
    SO:[d!case[d][mehmun]]

    Step 3.

    Begin substream
    Stream:[[davat!D],[V!N]]
    Stack (⥥):
    SO:[]

    Step 4.

    Head of stream [davat!D] is the initial SO
    Stream:[[V!N]]
    Stack (⥥):
    SO:[davat!D]

    Step 5.

    Merge [V!N] and [davat!D]
    Label from [V!N] (syntactic head with an unvalued uF)
    [V!N] values D on [davat!D]
    [davat] values N on [V!N]
    Stream:[]
    Stack (⥥):
    SO:[V[davat][V]]
    End substream, SO [V[davat][V]] re-inserted into main stream

    Step 6.

    Stream:[[V[davat][V]],[v*!phi],[[man!D],[d!case!N]],[kard],[dur],[T!phi],[c]]
    Stack (⥥):
    SO:[d!case[d][mehmun]]

    Step 7.

    Merge [V[davat][V]] and [d!case[d][mehmun]]
    Label from [V[davat][V]] (syntactic head merging with a non-head)
    Theta-mark [d!case[d][mehmun]]
    Push [d!case[d][mehmun]] (unvalued uF) onto stack
    Stream:[[v*!phi],[[man!D],[d!case!N]],[kard],[dur],[T!phi],[c]]
    Stack (⥥):[d!case[d][mehmun]]
    SO:[V[d!case[d][mehmun]][V[davat][V]]]

    Step 8.

    Merge [v*!phi] and [V[d!case[d..][mehmun..]][V[davat..][V..]]]
    Label from [v*!phi] (syntactic head with an unvalued uF)
    [d!case[d][mehmun]] values uPhi on [v*!phi]
    [v*] values acc case on [d!case[d][mehmun]]
    Stream:[[[man!D],[d!case!N]],[kard],[dur],[T!phi],[c]]
    Stack (⥥):[d[d][mehmun]]
    SO:[v*[V[d[d][mehmun]][V[davat][V]]][v*]]

    Step 9.

    Begin substream
    Stream:[[man!D],[d!case!N]]
    Stack (⥥):
    SO:[]

    Step 10.

    Head of stream [man!D] is the initial SO
    Stream:[[d!case!N]]
    Stack (⥥):
    SO:[man!D]

    Step 11.

    Merge [d!case!N] and [man!D]
    Label from [d!case!N] (syntactic head with an unvalued uF)
    Inherit interpretable feature(s) [f(phi,[1,sg,mf])] from [man!D]
    [d!case!N] values D on [man!D]
    [man] values N on [d!case!N]
    Stream:[]
    Stack (⥥):
    SO:[d!case[d][man]]
    End substream, SO [d!case[d][man]] re-inserted into main stream

    Step 12.

    Stream:[[d!case[d][man]],[kard],[dur],[T!phi],[c]]
    Stack (⥥):[d[d][mehmun]]
    SO:[v*[V[d[d][mehmun]][V[davat][V]]][v*]]

    Step 13.

    Merge [v*[V[d..][V..]][v*]] and [d!case[d][man]]
    Label from [v*[V[d..][V..]][v*]] (edge feature)
    Theta-mark [d!case[d][man]]
    Push [d!case[d][man]] (unvalued uF) onto stack
    Stream:[[kard],[dur],[T!phi],[c]]
    Stack (⥥):[d!case[d][man]]
    [d[d][mehmun]]
    SO:[v*[d!case[d][man]][v*[V[d[d][mehmun]][V[davat][V]]][v*]]]

    Step 14.

    Merge [kard] and [v*[d!case[d..][man..]][v*[V..][v*..]]]
    Label from [kard] (syntactic head merging with a non-head)
    Stream:[[dur],[T!phi],[c]]
    Stack (⥥):[d!case[d][man]]
    [d[d][mehmun]]
    SO:[kard[v*[d!case[d][man]][v*[V[d[d][mehmun]][V[davat][V]]][v*]]][kard]]

    Step 15.

    Merge [dur] and [kard[v*[d..][v*..]][kard]]
    Label from [dur] (syntactic head merging with a non-head)
    Stream:[[T!phi],[c]]
    Stack (⥥):[d!case[d][man]]
    [d[d][mehmun]]
    SO:[dur[kard[v*[d!case[d][man]][v*[V[d[d][mehmun]][V[davat][V]]][v*]]][kard]][dur]]

    Step 16.

    Merge [T!phi] and [dur[kard[v*..][kard..]][dur]]
    Label from [T!phi] (syntactic head merging with a non-head)
    [d!case[d][man]] values uPhi on [T!phi]
    [T] values nom case on [d!case[d][man]]
    Stream:[[c]]
    Stack (⥥):[d[d][man]]
    [d[d][mehmun]]
    SO:[T[dur[kard[v*[d[d][man]][v*[V[d[d][mehmun]][V[davat][V]]][v*]]][kard]][dur]][T]]

    Step 17.

    Internal merge selected
    Merge [T[dur[kard..][dur..]][T]] and [d[d][man]]
    Label from [T[dur[kard..][dur..]][T]] (edge feature)
    Stream:[[c]]
    Stack (⥥):[d[d][man]]
    [d[d][mehmun]]
    SO:[T[d[d][man]][T[dur[kard[v*[d[d][man]][v*[V[d[d][mehmun]][V[davat][V]]][v*]]][kard]][dur]][T]]]

    Step 18.

    Merge [c] and [T[d[d..][man..]][T[dur..][T..]]]
    Label from [c] (syntactic head merging with a non-head)
    Stream:[]
    Stack (⥥):[d[d][man]]
    [d[d][mehmun]]
    SO:[c[c][T[d[d][man]][T[dur[kard[v*[d[d][man]][v*[V[d[d][mehmun]][V[davat][V]]][v*]]][kard]][dur]][T]]]]

    Step 19.

    Local Extent boundary at [c[c][T[d..][T..]]]
    New boundary (b) marker stacked
    Stream:[]
    Stack (⥥):b
    [d[d][man]]
    [d[d][mehmun]]
    SO:[c[c][T[d[d][man]][T[dur[kard[v*[d[d][man]][v*[V[d[d][mehmun]][V[davat][V]]][v*]]][kard]][dur]][T]]]]

    Parse:
    Spell-out:
    man -acc mehmun davat kard mi= t(pres,[1,sg]) (after morpheme realization)
    man mehmun -acc davat mi= kard t(pres,[1,sg]) (after affix-hop)
    man mehmun -acc davat mi= kon #am (after morpheme realization, stage 2)
    man mehmun davat mi-kon-am  

    One derivation found.
    Computational Cost:
    Merge: 11, Agree: 10, Unify: 0, Push: 2, Boundaries: 1, Inject: 0
    Non-TOS access: 0, Pop: 0, Depth cost: 8
    Step:012345678910111213141516171819
    Stack depth:00000001100012222223

    Back to top