Minimalist Machine Derivations

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

Examples:

  • Basic sentence patterns: expand
  • Machine Parameters: expand

    Derivation:
    (4) Man dar khorshild-am mehmun ro davat mi-kon-am
    I to house-my guest SPF invitation DUR-do-1.sg
    I invite a (specific) guest to my house

    Stream:[[mehmun!D],[d!case!N],[ro!case],[[davat!D],[V!N]],[[khorshid!D],[poss1sg!case!N],[dar]],[spf],[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],[ro!case],[[davat!D],[V!N]],[[khorshid!D],[poss1sg!case!N],[dar]],[spf],[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:[[ro!case],[[davat!D],[V!N]],[[khorshid!D],[poss1sg!case!N],[dar]],[spf],[v*!phi],[[man!D],[d!case!N]],[kard],[dur],[T!phi],[c]]
    Stack (⥥):
    SO:[d!case[d][mehmun]]

    Step 3.

    Merge [ro!case] and [d!case[d][mehmun]]
    Label from [ro!case] (syntactic head merging with a non-head)
    Inherit interpretable feature(s) [f(theta),f(phi,[3,sg,n])] from [d!case[d][mehmun]]
    Push [d!case[d][mehmun]] (unvalued uF) onto stack
    Stream:[[[davat!D],[V!N]],[[khorshid!D],[poss1sg!case!N],[dar]],[spf],[v*!phi],[[man!D],[d!case!N]],[kard],[dur],[T!phi],[c]]
    Stack (⥥):[d!case[d][mehmun]]
    SO:[ro!case[ro][d!case[d][mehmun]]]

    Step 4.

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

    Step 5.

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

    Step 6.

    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 7.

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

    Step 8.

    [ro!case[ro][d!case[d..][mehmun..]]] values gen case on [d!case[d][mehmun]]
    Internal merge selected
    Merge [ro!case[ro][d[d..][mehmun..]]] and [d[d][mehmun]]
    Label from [ro!case[ro][d[d..][mehmun..]]] (edge feature)
    Stream:[[V[davat][V]],[[khorshid!D],[poss1sg!case!N],[dar]],[spf],[v*!phi],[[man!D],[d!case!N]],[kard],[dur],[T!phi],[c]]
    Stack (⥥):[d[d][mehmun]]
    SO:[ro!case[d[d][mehmun]][ro[ro][d[d][mehmun]]]]

    Step 9.

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

    Step 10.

    Begin substream
    Stream:[[khorshid!D],[poss1sg!case!N],[dar]]
    Stack (⥥):
    SO:[]

    Step 11.

    Head of stream [khorshid!D] is the initial SO
    Stream:[[poss1sg!case!N],[dar]]
    Stack (⥥):
    SO:[khorshid!D]

    Step 12.

    Merge [poss1sg!case!N] and [khorshid!D]
    Label from [poss1sg!case!N] (syntactic head with an unvalued uF)
    Inherit interpretable feature(s) [f(phi,[3,sg,n])] from [khorshid!D]
    [poss1sg!case!N] values D on [khorshid!D]
    [khorshid] values N on [poss1sg!case!N]
    Stream:[[dar]]
    Stack (⥥):
    SO:[poss1sg!case[poss1sg][khorshid]]

    Step 13.

    Merge [dar] and [poss1sg!case[poss1sg][khorshid]]
    Label from [dar] (syntactic head merging with a non-head)
    Theta-mark [poss1sg!case[poss1sg][khorshid]]
    [dar] values obq case on [poss1sg!case[poss1sg][khorshid]]
    Stream:[]
    Stack (⥥):
    SO:[dar[dar][poss1sg[poss1sg][khorshid]]]
    End substream, SO [dar[dar][poss1sg[poss1sg][khorshid]]] re-inserted into main stream

    Step 14.

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

    Step 15.

    Pair-merge [dar[dar][poss1sg[poss1sg][khorshid]]] and [V[ro!case[d[d][mehmun]][ro[ro][d[d][mehmun]]]][V[davat][V]]]
    Stream:[[spf],[v*!phi],[[man!D],[d!case!N]],[kard],[dur],[T!phi],[c]]
    Stack (⥥):[ro!case[d[d][mehmun]][ro[ro][d[d][mehmun]]]]
    [d[d][mehmun]]
    SO:<[V[ro!case[d[d][mehmun]][ro[ro][d[d][mehmun]]]][V[davat][V]]],[dar[dar][poss1sg[poss1sg][khorshid]]]>

    Step 16.

    Merge [spf] and <[dar[dar][poss1sg[poss1sg..][khorshid..]]],[V[ro!case[d..][ro..]][V[davat..][V..]]]>
    Label from [spf] (only projecting head)
    Stream:[[v*!phi],[[man!D],[d!case!N]],[kard],[dur],[T!phi],[c]]
    Stack (⥥):[ro!case[d[d][mehmun]][ro[ro][d[d][mehmun]]]]
    [d[d][mehmun]]
    SO:[spf<[dar[dar][poss1sg[poss1sg][khorshid]]],[V[ro!case[d[d][mehmun]][ro[ro][d[d][mehmun]]]][V[davat][V]]]>[spf]]

    Step 17.

    Internal merge selected
    Merge [spf<[dar[dar..][poss1sg..]],[V[ro..][V..]]>[spf]] and [ro!case[d[d..][mehmun..]][ro[ro..][d..]]]
    Label from [spf<[dar[dar..][poss1sg..]],[V[ro..][V..]]>[spf]] (edge feature)
    Stream:[[v*!phi],[[man!D],[d!case!N]],[kard],[dur],[T!phi],[c]]
    Stack (⥥):[ro!case[d[d][mehmun]][ro[ro][d[d][mehmun]]]]
    [d[d][mehmun]]
    SO:[spf[ro!case[d[d][mehmun]][ro[ro][d[d][mehmun]]]][spf<[dar[dar][poss1sg[poss1sg][khorshid]]],[V[ro[d[d][mehmun]][ro[ro][d[d][mehmun]]]][V[davat][V]]]>[spf]]]

    Step 18.

    Merge [v*!phi] and [spf[ro!case[d..][ro..]][spf<[dar..],[V..]>[spf..]]]
    Label from [v*!phi] (syntactic head merging with a non-head)
    [ro!case[d[d..][mehmun..]][ro[ro..][d..]]] values uPhi on [v*!phi]
    [v*] values acc case on [ro!case[d[d..][mehmun..]][ro[ro..][d..]]]
    Stream:[[[man!D],[d!case!N]],[kard],[dur],[T!phi],[c]]
    Stack (⥥):[ro[d[d][mehmun]][ro[ro][d[d][mehmun]]]]
    [d[d][mehmun]]
    SO:[v*[spf[ro[d[d][mehmun]][ro[ro][d[d][mehmun]]]][spf<[dar[dar][poss1sg[poss1sg][khorshid]]],[V[ro[d[d][mehmun]][ro[ro][d[d][mehmun]]]][V[davat][V]]]>[spf]]][v*]]

    Step 19.

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

    Step 20.

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

    Step 21.

    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 22.

    Stream:[[d!case[d][man]],[kard],[dur],[T!phi],[c]]
    Stack (⥥):[ro[d[d][mehmun]][ro[ro][d[d][mehmun]]]]
    [d[d][mehmun]]
    SO:[v*[spf[ro[d[d][mehmun]][ro[ro][d[d][mehmun]]]][spf<[dar[dar][poss1sg[poss1sg][khorshid]]],[V[ro[d[d][mehmun]][ro[ro][d[d][mehmun]]]][V[davat][V]]]>[spf]]][v*]]

    Step 23.

    Merge [v*[spf[ro..][spf..]][v*]] and [d!case[d][man]]
    Label from [v*[spf[ro..][spf..]][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]]
    [ro[d[d][mehmun]][ro[ro][d[d][mehmun]]]]
    [d[d][mehmun]]
    SO:[v*[d!case[d][man]][v*[spf[ro[d[d][mehmun]][ro[ro][d[d][mehmun]]]][spf<[dar[dar][poss1sg[poss1sg][khorshid]]],[V[ro[d[d][mehmun]][ro[ro][d[d][mehmun]]]][V[davat][V]]]>[spf]]][v*]]]

    Step 24.

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

    Step 25.

    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]]
    [ro[d[d][mehmun]][ro[ro][d[d][mehmun]]]]
    [d[d][mehmun]]
    SO:[dur[kard[v*[d!case[d][man]][v*[spf[ro[d[d][mehmun]][ro[ro][d[d][mehmun]]]][spf<[dar[dar][poss1sg[poss1sg][khorshid]]],[V[ro[d[d][mehmun]][ro[ro][d[d][mehmun]]]][V[davat][V]]]>[spf]]][v*]]][kard]][dur]]

    Step 26.

    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]]
    [ro[d[d][mehmun]][ro[ro][d[d][mehmun]]]]
    [d[d][mehmun]]
    SO:[T[dur[kard[v*[d[d][man]][v*[spf[ro[d[d][mehmun]][ro[ro][d[d][mehmun]]]][spf<[dar[dar][poss1sg[poss1sg][khorshid]]],[V[ro[d[d][mehmun]][ro[ro][d[d][mehmun]]]][V[davat][V]]]>[spf]]][v*]]][kard]][dur]][T]]

    Step 27.

    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]]
    [ro[d[d][mehmun]][ro[ro][d[d][mehmun]]]]
    [d[d][mehmun]]
    SO:[T[d[d][man]][T[dur[kard[v*[d[d][man]][v*[spf[ro[d[d][mehmun]][ro[ro][d[d][mehmun]]]][spf<[dar[dar][poss1sg[poss1sg][khorshid]]],[V[ro[d[d][mehmun]][ro[ro][d[d][mehmun]]]][V[davat][V]]]>[spf]]][v*]]][kard]][dur]][T]]]

    Step 28.

    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]]
    [ro[d[d][mehmun]][ro[ro][d[d][mehmun]]]]
    [d[d][mehmun]]
    SO:[c[c][T[d[d][man]][T[dur[kard[v*[d[d][man]][v*[spf[ro[d[d][mehmun]][ro[ro][d[d][mehmun]]]][spf<[dar[dar][poss1sg[poss1sg][khorshid]]],[V[ro[d[d][mehmun]][ro[ro][d[d][mehmun]]]][V[davat][V]]]>[spf]]][v*]]][kard]][dur]][T]]]]

    Step 29.

    Local Extent boundary at [c[c][T[d..][T..]]]
    New boundary (b) marker stacked
    Stream:[]
    Stack (⥥):b
    [d[d][man]]
    [ro[d[d][mehmun]][ro[ro][d[d][mehmun]]]]
    [d[d][mehmun]]
    SO:[c[c][T[d[d][man]][T[dur[kard[v*[d[d][man]][v*[spf[ro[d[d][mehmun]][ro[ro][d[d][mehmun]]]][spf<[dar[dar][poss1sg[poss1sg][khorshid]]],[V[ro[d[d][mehmun]][ro[ro][d[d][mehmun]]]][V[davat][V]]]>[spf]]][v*]]][kard]][dur]][T]]]]

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

    One derivation found.
    Computational Cost:
    Merge: 18, Agree: 14, Unify: 0, Push: 3, Boundaries: 1, Inject: 0
    Non-TOS access: 0, Pop: 0, Depth cost: 22
    Step:01234567891011121314151617181920212223242526272829
    Stack depth:000100011200002222200023333334

    Back to top