“I had too much to eat” would be past tense, meaning you ate too much, say, last week
“I have too much to eat” is future tense, meaning you went to the buffet and got carried away, now you’ve got a massive plate of chicken in front of you
So "I have (right at this moment) had (just ingested) too much to eat (and now I’m farting a lot)
Also, in this case “to eat” isn’t a noun, it’s the infinitive verb
Most people are talking the infinitive case for “eat”, but I’d like to point out the verb, “have had”, is the present perfect case. Still confusing and still agree with your simplification of “I ate too much”. But there’s still a meaningful difference between the two sentences.
My favorite confusing English sentence is “I have had too much to eat.”
That’s so true. Just avoid the awkwardness: I ate too much.
To eat, is a verb but taking in the role of a noun.
Think of it this way - it’s “have had” because
“I had too much to eat” would be past tense, meaning you ate too much, say, last week
“I have too much to eat” is future tense, meaning you went to the buffet and got carried away, now you’ve got a massive plate of chicken in front of you
So "I have (right at this moment) had (just ingested) too much to eat (and now I’m farting a lot)
Also, in this case “to eat” isn’t a noun, it’s the infinitive verb
Reminded me of this sentence:
James while John had had had had had had had had had had had a better effect on the teacher.
Explanation.
Most people are talking the infinitive case for “eat”, but I’d like to point out the verb, “have had”, is the present perfect case. Still confusing and still agree with your simplification of “I ate too much”. But there’s still a meaningful difference between the two sentences.
Technically “to eat” is the Infinitive form of the verb, and using infinitives as nouns isn’t all that unusual in many languages.