Minimalist Machine Derivations

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

Examples:

  • On Phases (Chomsky, 2008): collapse
    Example Instruction stream (clickable) Notes
    (5)(ii) Of which car did they find the driver?
    Which car did they find the driver of?
    [car, which, of, driver, the, find, 'v*', [they, d], 'Tpast', c_Q] Optional pied-piping: two derivations.
    (6)(ii) *Of which car did the driver cause a scandal? [scandal, a, cause, 'v*', [car, which, of, driver, the],'Tpast', c_Q] Subject island.
    Crashes as cQ cannot access wh-DP which car. wh-DP on the stack is blocked by stack entry the driver of which car.
    Constraint: if [A .. [B ..]] is pushed onto the stack, and [B ..] from a substream is already on the stack, A subsumes B and renders B unavailable on the stack.
    [Implementation: a subconstituent check is performed whenever something is pushed on the stack. B is removed from the stack.]
    (7)(ii) Of which car was the driver awarded a prize?
    Which car was the driver of awarded a prize?
    [car, which, of, driver, the, [prize, a, 'G2'], award, prt, 'v~', 'Tpast', c_Q] Chomsky: Parallel extraction to edge of cQ and T.
    Implementation: assume pair-merge for the driver of which car (object) and a prize (adjunct).
    Assume also that the adjunct doesn't pied-pipe here.
    [Normally pair-merged SOs do move together. G2 has feature no_pied_pipe, which blocks it from being placed on the stack.]
    cQ targets of which car
    T targets TOS the driver of which car.
    Optional pied-piping: two derivations.
  • Machine Parameters: expand

    Animation:
    (5)(ii) Of which car did they find the driver?
    Which car did they find the driver of?

    Derivation:
    (5)(ii) Of which car did they find the driver?
    Which car did they find the driver of?

    Stream:[[car!D],[which!case!N!scope],[of],[driver!D],[the!case!N],[find],[v*!phi],[[they!D],[d!case!N]],[Tpast!phi!v],[cQ!wh!T]]
    Stack (⥥):
    SO:[]

    Step 1.

    Head of stream [car!D] is the initial SO
    Stream:[[which!case!N!scope],[of],[driver!D],[the!case!N],[find],[v*!phi],[[they!D],[d!case!N]],[Tpast!phi!v],[cQ!wh!T]]
    Stack (⥥):
    SO:[car!D]

    Step 2.

    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],[find],[v*!phi],[[they!D],[d!case!N]],[Tpast!phi!v],[cQ!wh!T]]
    Stack (⥥):
    SO:[which!case!scope[which!scope][car]]

    Step 3.

    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],[find],[v*!phi],[[they!D],[d!case!N]],[Tpast!phi!v],[cQ!wh!T]]
    Stack (⥥):[which!scope[which!scope][car]]
    SO:[of[of][which!scope[which!scope][car]]]

    Step 4.

    Merge [driver!D] and [of[of][which!scope[which..][car..]]]
    Label from [driver!D] (head merging with a non-head)
    Stream:[[the!case!N],[find],[v*!phi],[[they!D],[d!case!N]],[Tpast!phi!v],[cQ!wh!T]]
    Stack (⥥):[which!scope[which!scope][car]]
    SO:[driver!D[driver!D][of[of][which!scope[which!scope][car]]]]

    Step 5.

    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:[[find],[v*!phi],[[they!D],[d!case!N]],[Tpast!phi!v],[cQ!wh!T]]
    Stack (⥥):[which!scope[which!scope][car]]
    SO:[the!case[the][driver[driver][of[of][which!scope[which!scope][car]]]]]

    Step 6.

    Merge [find] and [the!case[the][driver[driver..][of..]]]
    Label from [find] (head merging with a non-head)
    Theta-mark [the!case[the][driver[driver..][of..]]]
    Push [the!case[the][driver[driver..][of..]]] (unvalued uF) onto stack
    Stream:[[v*!phi],[[they!D],[d!case!N]],[Tpast!phi!v],[cQ!wh!T]]
    Stack (⥥):[the!case[the][driver[driver][of[of][which!scope[which!scope][car]]]]]
    [which!scope[which!scope][car]]
    SO:[find[find][the!case[the][driver[driver][of[of][which!scope[which!scope][car]]]]]]

    Step 7.

    Merge [v*!phi] and [find[find][the!case[the..][driver..]]]
    Label from [v*!phi] (head merging with a non-head)
    [the!case[the][driver[driver..][of..]]] values uPhi on [v*!phi]
    [v*] values acc case on [the!case[the][driver[driver..][of..]]]
    Stream:[[[they!D],[d!case!N]],[Tpast!phi!v],[cQ!wh!T]]
    Stack (⥥):[the[the][driver[driver][of[of][which!scope[which!scope][car]]]]]
    [which!scope[which!scope][car]]
    SO:[v*[v*][find[find][the[the][driver[driver][of[of][which!scope[which!scope][car]]]]]]]

    Step 8.

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

    Step 9.

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

    Step 10.

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

    Step 11.

    Stream:[[d!case[d][they]],[Tpast!phi!v],[cQ!wh!T]]
    Stack (⥥):[the[the][driver[driver][of[of][which!scope[which!scope][car]]]]]
    [which!scope[which!scope][car]]
    SO:[v*[v*][find[find][the[the][driver[driver][of[of][which!scope[which!scope][car]]]]]]]

    Step 12.

    Merge [v*[v*][find[find..][the..]]] and [d!case[d][they]]
    Label from [v*[v*][find[find..][the..]]] (edge feature)
    Theta-mark [d!case[d][they]]
    Push [d!case[d][they]] (unvalued uF) onto stack
    Stream:[[Tpast!phi!v],[cQ!wh!T]]
    Stack (⥥):[d!case[d][they]]
    [the[the][driver[driver][of[of][which!scope[which!scope][car]]]]]
    [which!scope[which!scope][car]]
    SO:[v*[d!case[d][they]][v*[v*][find[find][the[the][driver[driver][of[of][which!scope[which!scope][car]]]]]]]]

    Step 13.

    Merge [Tpast!phi!v] and [v*[d!case[d..][they..]][v*[v*..][find..]]]
    Label from [Tpast!phi!v] (head merging with a non-head)
    [d!case[d][they]] values uPhi on [Tpast!phi!v]
    [Tpast!v] values nom case on [d!case[d][they]]
    Relativized TOS search for iF(v) skipping [d[d][they]]
    Relativized TOS search for iF(v) skipping [the[the][driver[driver..][of..]]]
    Relativized TOS search for iF(v) skipping [which!scope[which!scope][car]]
    [Tpast!v] attracts [v*[d[d..][they..]][v*[v*..][find..]]]
    Merge [Tpast[Tpast][v*[d..][v*..]]] and [v*]
    Label from [Tpast[Tpast][v*[d..][v*..]]] (edge feature)
    Stream:[[cQ!wh!T]]
    Stack (⥥):[d[d][they]]
    [the[the][driver[driver][of[of][which!scope[which!scope][car]]]]]
    [which!scope[which!scope][car]]
    SO:[Tpast[v*][Tpast[Tpast][v*[d[d][they]][v*[v*][find[find][the[the][driver[driver][of[of][which!scope[which!scope][car]]]]]]]]]]

    Step 14.

    Internal merge selected
    Merge [Tpast[v*][Tpast[Tpast..][v*..]]] and [d[d][they]]
    Label from [Tpast[v*][Tpast[Tpast..][v*..]]] (edge feature)
    Stream:[[cQ!wh!T]]
    Stack (⥥):[d[d][they]]
    [the[the][driver[driver][of[of][which!scope[which!scope][car]]]]]
    [which!scope[which!scope][car]]
    SO:[Tpast[d[d][they]][Tpast[v*][Tpast[Tpast][v*[d[d][they]][v*[v*][find[find][the[the][driver[driver][of[of][which!scope[which!scope][car]]]]]]]]]]]

    Step 15.

    Merge [cQ!wh!T] and [Tpast[d[d..][they..]][Tpast[v*..][Tpast..]]]
    Label from [cQ!wh!T] (head merging with a non-head)
    Relativized TOS search for iF(wh) skipping [d[d][they]]
    Relativized TOS search for iF(wh) skipping [the[the][driver[driver..][of..]]]
    [which!scope[which!scope][car]] values wh on [cQ!wh!T]
    [d[d][they]] values T on [cQ!T]
    Internal merge selected
    Merge [cQ[cQ][Tpast[d..][Tpast..]]] and [d[d][they]]
    Label from [cQ[cQ][Tpast[d..][Tpast..]]] (edge feature)
    [cQ] values uscope on [which!scope[which!scope][car]]
    Merge [cQ[d[d..][they..]][cQ[cQ..][Tpast..]]] and [which[which][car]]
    Label from [cQ[d[d..][they..]][cQ[cQ..][Tpast..]]] (edge feature)
    Stream:[]
    Stack (⥥):[d[d][they]]
    [the[the][driver[driver][of[of][which[which][car]]]]]
    [which[which][car]]
    SO:[cQ[which[which][car]][cQ[d[d][they]][cQ[cQ][Tpast[d[d][they]][Tpast[v*][Tpast[Tpast][v*[d[d][they]][v*[v*][find[find][the[the][driver[driver][of[of][which[which][car]]]]]]]]]]]]]]

    Step 16.

    Local Extent boundary at [cQ[which[which..][car..]][cQ[d..][cQ..]]]
    New boundary (b) marker stacked
    Stream:[]
    Stack (⥥):b
    [d[d][they]]
    [the[the][driver[driver][of[of][which[which][car]]]]]
    [which[which][car]]
    SO:[cQ[which[which][car]][cQ[d[d][they]][cQ[cQ][Tpast[d[d][they]][Tpast[v*][Tpast[Tpast][v*[d[d][they]][v*[v*][find[find][the[the][driver[driver][of[of][which[which][car]]]]]]]]]]]]]]
    Conceptual-Intensional (CI) Interface: [cQ] + edge [[which[which][car]],[d[d][they]]] constitutes an ill-formed interrogative!

    Backtrack

    Stream:[[cQ!wh!T]]
    Stack (⥥):[d[d][they]]
    [the[the][driver[driver][of[of][which!scope[which!scope][car]]]]]
    [which!scope[which!scope][car]]
    SO:[Tpast[d[d][they]][Tpast[v*][Tpast[Tpast][v*[d[d][they]][v*[v*][find[find][the[the][driver[driver][of[of][which!scope[which!scope][car]]]]]]]]]]]
    re-doing step 15

    Step 17.

    [cQ!T] attracts [Tpast[d[d..][they..]][Tpast[v*..][Tpast..]]]
    Internal merge selected
    Merge [cQ[cQ][Tpast[d..][Tpast..]]] and [v*]
    Label from [cQ[cQ][Tpast[d..][Tpast..]]] (edge feature)
    Merge [cQ[v*][cQ[cQ..][Tpast..]]] and [Tpast]
    Label from [cQ[v*][cQ[cQ..][Tpast..]]] (edge feature)
    [cQ] values uscope on [which!scope[which!scope][car]]
    Merge [cQ[Tpast][cQ[v*..][cQ..]]] and [which[which][car]]
    Label from [cQ[Tpast][cQ[v*..][cQ..]]] (edge feature)
    Stream:[]
    Stack (⥥):[d[d][they]]
    [the[the][driver[driver][of[of][which[which][car]]]]]
    [which[which][car]]
    SO:[cQ[which[which][car]][cQ[Tpast][cQ[v*][cQ[cQ][Tpast[d[d][they]][Tpast[v*][Tpast[Tpast][v*[d[d][they]][v*[v*][find[find][the[the][driver[driver][of[of][which[which][car]]]]]]]]]]]]]]]

    Step 18.

    Local Extent boundary at [cQ[which[which..][car..]][cQ[Tpast..][cQ..]]]
    New boundary (b) marker stacked
    Stream:[]
    Stack (⥥):b
    [d[d][they]]
    [the[the][driver[driver][of[of][which[which][car]]]]]
    [which[which][car]]
    SO:[cQ[which[which][car]][cQ[Tpast][cQ[v*][cQ[cQ][Tpast[d[d][they]][Tpast[v*][Tpast[Tpast][v*[d[d][they]][v*[v*][find[find][the[the][driver[driver][of[of][which[which][car]]]]]]]]]]]]]]]
    CI: wh-question

    Parse:
    Spell-out:
    which car -ed(pl) do they find the driver of (after morpheme realization)
    which car do -ed(pl) they find the driver of (after affix-hop)
    which car do -ed(pl) they find the driver of (after morpheme realization, stage 2)
    which car did they find the driver of  

    Backtrack

    Stream:[[of],[driver!D],[the!case!N],[find],[v*!phi],[[they!D],[d!case!N]],[Tpast!phi!v],[cQ!wh!T]]
    Stack (⥥):
    SO:[which!case!scope[which!scope][car]]
    re-doing step 3

    Step 19.

    Push [of[of][which!scope[which..][car..]]] (unvalued uF) onto stack
    Stream:[[driver!D],[the!case!N],[find],[v*!phi],[[they!D],[d!case!N]],[Tpast!phi!v],[cQ!wh!T]]
    Stack (⥥):[of[of][which!scope[which!scope][car]]]
    SO:[of[of][which!scope[which!scope][car]]]

    Step 20.

    Merge [driver!D] and [of[of][which!scope[which..][car..]]]
    Label from [driver!D] (head merging with a non-head)
    Stream:[[the!case!N],[find],[v*!phi],[[they!D],[d!case!N]],[Tpast!phi!v],[cQ!wh!T]]
    Stack (⥥):[of[of][which!scope[which!scope][car]]]
    SO:[driver!D[driver!D][of[of][which!scope[which!scope][car]]]]

    Step 21.

    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:[[find],[v*!phi],[[they!D],[d!case!N]],[Tpast!phi!v],[cQ!wh!T]]
    Stack (⥥):[of[of][which!scope[which!scope][car]]]
    SO:[the!case[the][driver[driver][of[of][which!scope[which!scope][car]]]]]

    Step 22.

    Merge [find] and [the!case[the][driver[driver..][of..]]]
    Label from [find] (head merging with a non-head)
    Theta-mark [the!case[the][driver[driver..][of..]]]
    Push [the!case[the][driver[driver..][of..]]] (unvalued uF) onto stack
    Stream:[[v*!phi],[[they!D],[d!case!N]],[Tpast!phi!v],[cQ!wh!T]]
    Stack (⥥):[the!case[the][driver[driver][of[of][which!scope[which!scope][car]]]]]
    [of[of][which!scope[which!scope][car]]]
    SO:[find[find][the!case[the][driver[driver][of[of][which!scope[which!scope][car]]]]]]

    Step 23.

    Merge [v*!phi] and [find[find][the!case[the..][driver..]]]
    Label from [v*!phi] (head merging with a non-head)
    [the!case[the][driver[driver..][of..]]] values uPhi on [v*!phi]
    [v*] values acc case on [the!case[the][driver[driver..][of..]]]
    Stream:[[[they!D],[d!case!N]],[Tpast!phi!v],[cQ!wh!T]]
    Stack (⥥):[the[the][driver[driver][of[of][which!scope[which!scope][car]]]]]
    [of[of][which!scope[which!scope][car]]]
    SO:[v*[v*][find[find][the[the][driver[driver][of[of][which!scope[which!scope][car]]]]]]]

    Step 24.

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

    Step 25.

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

    Step 26.

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

    Step 27.

    Stream:[[d!case[d][they]],[Tpast!phi!v],[cQ!wh!T]]
    Stack (⥥):[the[the][driver[driver][of[of][which!scope[which!scope][car]]]]]
    [of[of][which!scope[which!scope][car]]]
    SO:[v*[v*][find[find][the[the][driver[driver][of[of][which!scope[which!scope][car]]]]]]]

    Step 28.

    Merge [v*[v*][find[find..][the..]]] and [d!case[d][they]]
    Label from [v*[v*][find[find..][the..]]] (edge feature)
    Theta-mark [d!case[d][they]]
    Push [d!case[d][they]] (unvalued uF) onto stack
    Stream:[[Tpast!phi!v],[cQ!wh!T]]
    Stack (⥥):[d!case[d][they]]
    [the[the][driver[driver][of[of][which!scope[which!scope][car]]]]]
    [of[of][which!scope[which!scope][car]]]
    SO:[v*[d!case[d][they]][v*[v*][find[find][the[the][driver[driver][of[of][which!scope[which!scope][car]]]]]]]]

    Step 29.

    Merge [Tpast!phi!v] and [v*[d!case[d..][they..]][v*[v*..][find..]]]
    Label from [Tpast!phi!v] (head merging with a non-head)
    [d!case[d][they]] values uPhi on [Tpast!phi!v]
    [Tpast!v] values nom case on [d!case[d][they]]
    Relativized TOS search for iF(v) skipping [d[d][they]]
    Relativized TOS search for iF(v) skipping [the[the][driver[driver..][of..]]]
    Relativized TOS search for iF(v) skipping [of[of][which!scope[which..][car..]]]
    [Tpast!v] attracts [v*[d[d..][they..]][v*[v*..][find..]]]
    Merge [Tpast[Tpast][v*[d..][v*..]]] and [v*]
    Label from [Tpast[Tpast][v*[d..][v*..]]] (edge feature)
    Stream:[[cQ!wh!T]]
    Stack (⥥):[d[d][they]]
    [the[the][driver[driver][of[of][which!scope[which!scope][car]]]]]
    [of[of][which!scope[which!scope][car]]]
    SO:[Tpast[v*][Tpast[Tpast][v*[d[d][they]][v*[v*][find[find][the[the][driver[driver][of[of][which!scope[which!scope][car]]]]]]]]]]

    Step 30.

    Internal merge selected
    Merge [Tpast[v*][Tpast[Tpast..][v*..]]] and [d[d][they]]
    Label from [Tpast[v*][Tpast[Tpast..][v*..]]] (edge feature)
    Stream:[[cQ!wh!T]]
    Stack (⥥):[d[d][they]]
    [the[the][driver[driver][of[of][which!scope[which!scope][car]]]]]
    [of[of][which!scope[which!scope][car]]]
    SO:[Tpast[d[d][they]][Tpast[v*][Tpast[Tpast][v*[d[d][they]][v*[v*][find[find][the[the][driver[driver][of[of][which!scope[which!scope][car]]]]]]]]]]]

    Step 31.

    Merge [cQ!wh!T] and [Tpast[d[d..][they..]][Tpast[v*..][Tpast..]]]
    Label from [cQ!wh!T] (head merging with a non-head)
    Relativized TOS search for iF(wh) skipping [d[d][they]]
    Relativized TOS search for iF(wh) skipping [the[the][driver[driver..][of..]]]
    [of[of][which!scope[which..][car..]]] values wh on [cQ!wh!T]
    [d[d][they]] values T on [cQ!T]
    Internal merge selected
    Merge [cQ[cQ][Tpast[d..][Tpast..]]] and [d[d][they]]
    Label from [cQ[cQ][Tpast[d..][Tpast..]]] (edge feature)
    [cQ] values uscope on [which!scope[which!scope][car]]
    Merge [cQ[d[d..][they..]][cQ[cQ..][Tpast..]]] and [of[of][which[which..][car..]]]
    Label from [cQ[d[d..][they..]][cQ[cQ..][Tpast..]]] (edge feature)
    Stream:[]
    Stack (⥥):[d[d][they]]
    [the[the][driver[driver][of[of][which[which][car]]]]]
    [of[of][which[which][car]]]
    SO:[cQ[of[of][which[which][car]]][cQ[d[d][they]][cQ[cQ][Tpast[d[d][they]][Tpast[v*][Tpast[Tpast][v*[d[d][they]][v*[v*][find[find][the[the][driver[driver][of[of][which[which][car]]]]]]]]]]]]]]

    Step 32.

    Local Extent boundary at [cQ[of[of..][which..]][cQ[d..][cQ..]]]
    New boundary (b) marker stacked
    Stream:[]
    Stack (⥥):b
    [d[d][they]]
    [the[the][driver[driver][of[of][which[which][car]]]]]
    [of[of][which[which][car]]]
    SO:[cQ[of[of][which[which][car]]][cQ[d[d][they]][cQ[cQ][Tpast[d[d][they]][Tpast[v*][Tpast[Tpast][v*[d[d][they]][v*[v*][find[find][the[the][driver[driver][of[of][which[which][car]]]]]]]]]]]]]]
    Conceptual-Intensional (CI) Interface: [cQ] + edge [[of[of][which[which][car]]],[d[d][they]]] constitutes an ill-formed interrogative!

    Backtrack

    Stream:[[cQ!wh!T]]
    Stack (⥥):[d[d][they]]
    [the[the][driver[driver][of[of][which!scope[which!scope][car]]]]]
    [of[of][which!scope[which!scope][car]]]
    SO:[Tpast[d[d][they]][Tpast[v*][Tpast[Tpast][v*[d[d][they]][v*[v*][find[find][the[the][driver[driver][of[of][which!scope[which!scope][car]]]]]]]]]]]
    re-doing step 31

    Step 33.

    [cQ!T] attracts [Tpast[d[d..][they..]][Tpast[v*..][Tpast..]]]
    Internal merge selected
    Merge [cQ[cQ][Tpast[d..][Tpast..]]] and [v*]
    Label from [cQ[cQ][Tpast[d..][Tpast..]]] (edge feature)
    Merge [cQ[v*][cQ[cQ..][Tpast..]]] and [Tpast]
    Label from [cQ[v*][cQ[cQ..][Tpast..]]] (edge feature)
    [cQ] values uscope on [which!scope[which!scope][car]]
    Merge [cQ[Tpast][cQ[v*..][cQ..]]] and [of[of][which[which..][car..]]]
    Label from [cQ[Tpast][cQ[v*..][cQ..]]] (edge feature)
    Stream:[]
    Stack (⥥):[d[d][they]]
    [the[the][driver[driver][of[of][which[which][car]]]]]
    [of[of][which[which][car]]]
    SO:[cQ[of[of][which[which][car]]][cQ[Tpast][cQ[v*][cQ[cQ][Tpast[d[d][they]][Tpast[v*][Tpast[Tpast][v*[d[d][they]][v*[v*][find[find][the[the][driver[driver][of[of][which[which][car]]]]]]]]]]]]]]]

    Step 34.

    Local Extent boundary at [cQ[of[of..][which..]][cQ[Tpast..][cQ..]]]
    New boundary (b) marker stacked
    Stream:[]
    Stack (⥥):b
    [d[d][they]]
    [the[the][driver[driver][of[of][which[which][car]]]]]
    [of[of][which[which][car]]]
    SO:[cQ[of[of][which[which][car]]][cQ[Tpast][cQ[v*][cQ[cQ][Tpast[d[d][they]][Tpast[v*][Tpast[Tpast][v*[d[d][they]][v*[v*][find[find][the[the][driver[driver][of[of][which[which][car]]]]]]]]]]]]]]]
    CI: wh-question

    Parse:
    Spell-out:
    of which car -ed(pl) do they find the driver (after morpheme realization)
    of which car do -ed(pl) they find the driver (after affix-hop)
    of which car do -ed(pl) they find the driver (after morpheme realization, stage 2)
    of which car did they find the driver  

    2 derivations found.
    Computational Cost:
    Merge: 32, Agree: 27, Unify: 0, Push: 6, Boundaries: 4, Inject: 0
    Non-TOS access: 10, Pop: 0, Depth cost: 38
    Step:012345678910111213141516171819202122232425262728293031323334
    Stack depth:00011122000233334341112200023333434

    Back to top