Minimalist Machine Derivations
Files:
grammar.pl /
m12.pl /
Back to homepage
Examples:
On Phases (Chomsky, 2008):
collapse
Machine Parameters:
expand
substream_stack | on | Allow transfer of substream stack back to mainstream |
stack_update_larger | off | Replace updated subconstituent of stack element |
pmerge_flag | off | Allow spellout of pair-merge in either order |
inactive_push | on | Push nonhead of DC merge onto the stack inactive(_) |
search | stk | Search SO or stack for unvalued uF to be released |
drop_stack | off | Drop stack items that are two phase boundaries down |
stack_access | local | Local or global access to elements of the stack |
le | on | Local Extent boundary conditions, used to trigger stacking of unvalued uF SOs |
subphrase_check | subsume_ss | Push element onto stack, first check if subconstituent is already there |
c_stack_search | inactive | c stack search normal or can see into inactive wrapped elements |
occ_new_flag | off | if already old, create new, otherwise keep old |
stack_subc | off | if existing subconstituent found on stack, mark old and substitute new on stack |
vprint | on | Print stack as vertical list |
occ_debug | off | use @ to indicate occ(V), V a variable |
Animation:
(6)(ii) *Of which car did the driver cause a scandal?
Derivation:
(6)(ii) *Of which car did the driver cause a scandal?
Stream: | [[scandal!D],[a!case!N],[cause],[v*!phi],[[car!D],[which!case!N!scope],[of],[driver!D],[the!case!N]],[Tpast!phi!v],[cQ!wh!T]] |
Stack (тее): | |
SO: | []
|
Step 1.
Head of stream [scandal!D] is the initial SO
Stream: | [[a!case!N],[cause],[v*!phi],[[car!D],[which!case!N!scope],[of],[driver!D],[the!case!N]],[Tpast!phi!v],[cQ!wh!T]] |
Stack (тее): | |
SO: | [scandal!D]
|
Step 2.
Merge [a!case!N] and [scandal!D]
Label from [a!case!N] (head with an unvalued uF)
Inherit interpretable feature(s) [f(phi,[3,sg,n])] from [scandal!D]
[a!case!N] values D on [scandal!D]
[scandal] values N on [a!case!N]
Stream: | [[cause],[v*!phi],[[car!D],[which!case!N!scope],[of],[driver!D],[the!case!N]],[Tpast!phi!v],[cQ!wh!T]] |
Stack (тее): | |
SO: | [a!case[a][scandal]]
|
Step 3.
Merge [cause] and [a!case[a][scandal]]
Label from [cause] (head merging with a non-head)
Theta-mark [a!case[a][scandal]]
Push [a!case[a][scandal]] (unvalued uF) onto stack
Stream: | [[v*!phi],[[car!D],[which!case!N!scope],[of],[driver!D],[the!case!N]],[Tpast!phi!v],[cQ!wh!T]] |
Stack (тее): | [a!case[a][scandal]]
|
SO: | [cause[cause][a!case[a][scandal]]]
|
Step 4.
Merge [v*!phi] and [cause[cause][a!case[a..][scandal..]]]
Label from [v*!phi] (head merging with a non-head)
[a!case[a][scandal]] values uPhi on [v*!phi]
[v*] values acc case on [a!case[a][scandal]]
Stream: | [[[car!D],[which!case!N!scope],[of],[driver!D],[the!case!N]],[Tpast!phi!v],[cQ!wh!T]] |
Stack (тее): | [a[a][scandal]]
|
SO: | [v*[v*][cause[cause][a[a][scandal]]]]
|
Step 5.
Begin substream
Stream: | [[car!D],[which!case!N!scope],[of],[driver!D],[the!case!N]] |
Stack (тее): | |
SO: | []
|
Step 6.
Head of stream [car!D] is the initial SO
Stream: | [[which!case!N!scope],[of],[driver!D],[the!case!N]] |
Stack (тее): | |
SO: | [car!D]
|
Step 7.
Merge [which!case!N!scope] and [car!D]
Label from [which!case!N!scope] (head with an unvalued uF)
Inherit interpretable feature(s) [f(phi,[3,sg,n])] from [car!D]
[which!case!N!scope] values D on [car!D]
[car] values N on [which!case!N!scope]
Stream: | [[of],[driver!D],[the!case!N]] |
Stack (тее): | |
SO: | [which!case!scope[which!scope][car]]
|
Step 8.
Merge [of] and [which!case!scope[which!scope][car]]
Label from [of] (head merging with a non-head)
Theta-mark [which!case!scope[which!scope][car]]
[of] values obq case on [which!case!scope[which!scope][car]]
Push [which!scope[which!scope][car]] (unvalued uF) onto stack
Stream: | [[driver!D],[the!case!N]] |
Stack (тее): | [which!scope[which!scope][car]]
|
SO: | [of[of][which!scope[which!scope][car]]]
|
Step 9.
Merge [driver!D] and [of[of][which!scope[which..][car..]]]
Label from [driver!D] (head merging with a non-head)
Stream: | [[the!case!N]] |
Stack (тее): | [which!scope[which!scope][car]]
|
SO: | [driver!D[driver!D][of[of][which!scope[which!scope][car]]]]
|
Step 10.
Merge [the!case!N] and [driver!D[driver!D][of[of..][which..]]]
Label from [the!case!N] (head merging with a non-head)
Inherit interpretable feature(s) [f(phi,[3,sg,n])] from [driver!D[driver!D][of[of..][which..]]]
[the!case!N] values D on [driver!D[driver!D][of[of..][which..]]]
[driver[driver][of[of..][which..]]] values N on [the!case!N]
Stream: | [] |
Stack (тее): | [which!scope[which!scope][car]]
|
SO: | [the!case[the][driver[driver][of[of][which!scope[which!scope][car]]]]]
|
End substream, SO [the!case[the][driver[driver][of[of][which!scope[which!scope][car]]]]] re-inserted into main stream
Substream stack [[which!scope[which!scope][car]]] merged with main stack
Step 11.
Stream: | [[the!case[the][driver[driver][of[of][which!scope[which!scope][car]]]]],[Tpast!phi!v],[cQ!wh!T]] |
Stack (тее): | [which!scope[which!scope][car]] [a[a][scandal]]
|
SO: | [v*[v*][cause[cause][a[a][scandal]]]]
|
Step 12.
Merge [v*[v*][cause[cause..][a..]]] and [the!case[the][driver[driver..][of..]]]
Label from [v*[v*][cause[cause..][a..]]] (edge feature)
Theta-mark [the!case[the][driver[driver..][of..]]]
Subconstituent [which!scope[which!scope][car]] from a substream removed from stack, [the!case[the][driver[driver..][of..]]] subsumes it
Push [the!case[the][driver[driver..][of..]]] (unvalued uF) onto stack
Stream: | [[Tpast!phi!v],[cQ!wh!T]] |
Stack (тее): | [the!case[the][driver[driver][of[of][which!scope[which!scope][car]]]]] [a[a][scandal]]
|
SO: | [v*[the!case[the][driver[driver][of[of][which!scope[which!scope][car]]]]][v*[v*][cause[cause][a[a][scandal]]]]]
|
Step 13.
Merge [Tpast!phi!v] and [v*[the!case[the..][driver..]][v*[v*..][cause..]]]
Label from [Tpast!phi!v] (head merging with a non-head)
[the!case[the][driver[driver..][of..]]] values uPhi on [Tpast!phi!v]
[Tpast!v] values nom case on [the!case[the][driver[driver..][of..]]]
Relativized TOS search for iF(v) skipping [the[the][driver[driver..][of..]]]
Relativized TOS search for iF(v) skipping [a[a][scandal]]
[Tpast!v] attracts [v*[the[the..][driver..]][v*[v*..][cause..]]]
Merge [Tpast[Tpast][v*[the..][v*..]]] and [v*]
Label from [Tpast[Tpast][v*[the..][v*..]]] (edge feature)
Stream: | [[cQ!wh!T]] |
Stack (тее): | [the[the][driver[driver][of[of][which!scope[which!scope][car]]]]] [a[a][scandal]]
|
SO: | [Tpast[v*][Tpast[Tpast][v*[the[the][driver[driver][of[of][which!scope[which!scope][car]]]]][v*[v*][cause[cause][a[a][scandal]]]]]]]
|
Step 14.
Internal merge selected
Merge [Tpast[v*][Tpast[Tpast..][v*..]]] and [the[the][driver[driver..][of..]]]
Label from [Tpast[v*][Tpast[Tpast..][v*..]]] (edge feature)
Stream: | [[cQ!wh!T]] |
Stack (тее): | [the[the][driver[driver][of[of][which!scope[which!scope][car]]]]] [a[a][scandal]]
|
SO: | [Tpast[the[the][driver[driver][of[of][which!scope[which!scope][car]]]]][Tpast[v*][Tpast[Tpast][v*[the[the][driver[driver][of[of][which!scope[which!scope][car]]]]][v*[v*][cause[cause][a[a][scandal]]]]]]]]
|
Step 15.
Merge [cQ!wh!T] and [Tpast[the[the..][driver..]][Tpast[v*..][Tpast..]]]
Label from [cQ!wh!T] (head merging with a non-head)
Relativized TOS search for iF(wh) skipping [the[the][driver[driver..][of..]]]
Relativized TOS search for iF(wh) skipping [a[a][scandal]]
Merge stream C [cQ!wh!T] and SO [Tpast[the[the][driver[driver][of[of][which!scope[which!scope][car]]]]][Tpast[v*][Tpast[Tpast][v*[the[the][driver[driver][of[of][which!scope[which!scope][car]]]]][v*[v*][cause[cause][a[a][scandal]]]]]]]] failed
No possible action for stream [[cQ!wh!T]] and [Tpast[the[the..][driver..]][Tpast[v*..][Tpast..]]]
Push [of[of][which!scope[which..][car..]]] (unvalued uF) onto stack
Stream: | [[driver!D],[the!case!N]] |
Stack (тее): | [of[of][which!scope[which!scope][car]]]
|
SO: | [of[of][which!scope[which!scope][car]]]
|
Step 16.
Merge [driver!D] and [of[of][which!scope[which..][car..]]]
Label from [driver!D] (head merging with a non-head)
Stream: | [[the!case!N]] |
Stack (тее): | [of[of][which!scope[which!scope][car]]]
|
SO: | [driver!D[driver!D][of[of][which!scope[which!scope][car]]]]
|
Step 17.
Merge [the!case!N] and [driver!D[driver!D][of[of..][which..]]]
Label from [the!case!N] (head merging with a non-head)
Inherit interpretable feature(s) [f(phi,[3,sg,n])] from [driver!D[driver!D][of[of..][which..]]]
[the!case!N] values D on [driver!D[driver!D][of[of..][which..]]]
[driver[driver][of[of..][which..]]] values N on [the!case!N]
Stream: | [] |
Stack (тее): | [of[of][which!scope[which!scope][car]]]
|
SO: | [the!case[the][driver[driver][of[of][which!scope[which!scope][car]]]]]
|
End substream, SO [the!case[the][driver[driver][of[of][which!scope[which!scope][car]]]]] re-inserted into main stream
Substream stack [[of[of][which!scope[which!scope][car]]]] merged with main stack
Step 18.
Stream: | [[the!case[the][driver[driver][of[of][which!scope[which!scope][car]]]]],[Tpast!phi!v],[cQ!wh!T]] |
Stack (тее): | [of[of][which!scope[which!scope][car]]] [a[a][scandal]]
|
SO: | [v*[v*][cause[cause][a[a][scandal]]]]
|
Step 19.
Merge [v*[v*][cause[cause..][a..]]] and [the!case[the][driver[driver..][of..]]]
Label from [v*[v*][cause[cause..][a..]]] (edge feature)
Theta-mark [the!case[the][driver[driver..][of..]]]
Subconstituent [of[of][which!scope[which..][car..]]] from a substream removed from stack, [the!case[the][driver[driver..][of..]]] subsumes it
Push [the!case[the][driver[driver..][of..]]] (unvalued uF) onto stack
Stream: | [[Tpast!phi!v],[cQ!wh!T]] |
Stack (тее): | [the!case[the][driver[driver][of[of][which!scope[which!scope][car]]]]] [a[a][scandal]]
|
SO: | [v*[the!case[the][driver[driver][of[of][which!scope[which!scope][car]]]]][v*[v*][cause[cause][a[a][scandal]]]]]
|
Step 20.
Merge [Tpast!phi!v] and [v*[the!case[the..][driver..]][v*[v*..][cause..]]]
Label from [Tpast!phi!v] (head merging with a non-head)
[the!case[the][driver[driver..][of..]]] values uPhi on [Tpast!phi!v]
[Tpast!v] values nom case on [the!case[the][driver[driver..][of..]]]
Relativized TOS search for iF(v) skipping [the[the][driver[driver..][of..]]]
Relativized TOS search for iF(v) skipping [a[a][scandal]]
[Tpast!v] attracts [v*[the[the..][driver..]][v*[v*..][cause..]]]
Merge [Tpast[Tpast][v*[the..][v*..]]] and [v*]
Label from [Tpast[Tpast][v*[the..][v*..]]] (edge feature)
Stream: | [[cQ!wh!T]] |
Stack (тее): | [the[the][driver[driver][of[of][which!scope[which!scope][car]]]]] [a[a][scandal]]
|
SO: | [Tpast[v*][Tpast[Tpast][v*[the[the][driver[driver][of[of][which!scope[which!scope][car]]]]][v*[v*][cause[cause][a[a][scandal]]]]]]]
|
Step 21.
Internal merge selected
Merge [Tpast[v*][Tpast[Tpast..][v*..]]] and [the[the][driver[driver..][of..]]]
Label from [Tpast[v*][Tpast[Tpast..][v*..]]] (edge feature)
Stream: | [[cQ!wh!T]] |
Stack (тее): | [the[the][driver[driver][of[of][which!scope[which!scope][car]]]]] [a[a][scandal]]
|
SO: | [Tpast[the[the][driver[driver][of[of][which!scope[which!scope][car]]]]][Tpast[v*][Tpast[Tpast][v*[the[the][driver[driver][of[of][which!scope[which!scope][car]]]]][v*[v*][cause[cause][a[a][scandal]]]]]]]]
|
Step 22.
Merge [cQ!wh!T] and [Tpast[the[the..][driver..]][Tpast[v*..][Tpast..]]]
Label from [cQ!wh!T] (head merging with a non-head)
Relativized TOS search for iF(wh) skipping [the[the][driver[driver..][of..]]]
Relativized TOS search for iF(wh) skipping [a[a][scandal]]
Merge stream C [cQ!wh!T] and SO [Tpast[the[the][driver[driver][of[of][which!scope[which!scope][car]]]]][Tpast[v*][Tpast[Tpast][v*[the[the][driver[driver][of[of][which!scope[which!scope][car]]]]][v*[v*][cause[cause][a[a][scandal]]]]]]]] failed
No possible action for stream [[cQ!wh!T]] and [Tpast[the[the..][driver..]][Tpast[v*..][Tpast..]]]
No derivations found.
Computational Cost:
Merge: 19, Agree: 17, Unify: 0, Push: 5, Boundaries: 0, Inject: 0
Non-TOS access: 8, Pop: 0, Depth cost: 8
Step: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
Stack depth: | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 1 | 1 | 1 | 2 | 2 | 2 | 2 |