Is 20 dollars here a direct object or a predicate complement? 'This book cost me 20 dollars.'
In comments, Professor Lawler wrote [modulo typographical substitutions and formatting]:
...[I]t’s not a direct object. It’s a measure phrase and can’t be passivized, for instance: ✴100 kilos was weighed by Bill and ✴$20 was cost by this book are both ungrammatical. Cost is a commercial transaction verb, with special syntax.
and in response to Shoe's
The CGEL's analysis of passivisation (p1432) has the example sentence: A packet of cigarettes costs around seven dollars. Other verbs exemplified in this section are boast, contain, hold and lack. The CGEL continues: Because the objects here cannot be externalised by passivisation they differ sharply from prototypical objects. The view taken here, however, is that the resistance of the verbs to passivisation does not provide convincing grounds for saying that the post-verbal NPs are not objects: passivisation does not provide either a necessary or a sufficient condition for object status.
If “object status” were a binary state this might be true; but in fact every test passed or failed tests a slightly different variable in the concept of “object”, which — in the final analysis — is a semantic type that depends almost entirely on — and consists almost entirely of — the semantic categories imposed by the transitive predicate concerned, and the type and degree of transitivity of the individual sentence. Verb–object semantics is fractal down as far as I’ve been able to trace it.
tchrist note: I’ve preserved John’s comments as a searchable post mostly so that linguistics term measure phrase should be more easily searchable on our site.
You are right to ask this question. With numbers or measurements one has the feeling "object" isn't the appropriate term. The book does not effect an action on " 20 dollars". But I think everybody knows that the structure is the verb to cost + price (how much). Similar case: The horse stood two meters high. Here I would say the underlying concept is: The horse is two meters high (to be + complement). I think as to "twenty dollars" you will find different views. One might even say it is an adverbial sentence part indicating how much.
It's a direct object, just as it would be in "This book cost 20 dollars".
me is an indirect object.
Note in particular that while we can also say "This book cost me" this is a slightly different meaning of cost so we can't just drop the "20 dollars" and keep the rest of the sentence working in the same way.