The fact that anti-war is hyphenated doesn't address OP's point, which is valid.
Sorry, his point is not valid in the least, and the fact that "anti-war" is hyphenated does DIRECTLY speak to WHY it's invalid!
One could make a case that 'anti war protest", without the hypen, is ambiguous, even though most readers would understand what was meant and almost no one would misunderstand,
but, grammatically, "anti-war protest" with the hyphen, can ONLY mean a protest against war, where "protest" is the noun, and "ant-war" is the compound adjective telling you exactly what kind of protest it is!
The essence of the problem is that it's not exactly clear what "anti-war" modifies
Yes, it is! It is exactly and abundantly and specifically clear!! It modifies the noun "protest." What else could you
possibly posit it modifies?
and it's not exactly clear what "protest" means.
Uh, FFS,
yes, it is. Not to be tautological, but it means "protest."
To see this, consider the phrases "war protest" and "anti-war protest." Most of us would interpret both phrases to mean the same thing.
So what? They DO mean the same thing. "Anti-war protest" does mean the same thing as "war protest."
In NO context does either mean anything else, or anything different from each other,
but this little nugget of yours has no bearing on the fact that "anti-war protest" can ONLY mean a protest against the war, specifically because of its hyphen, which is what I first said!
Or consider "gay protest:" does that mean a protest AGAINST gays or a protest BY gays (for gay rights)? The answer is that the context tells us what it means.
Different grammatical case. No hyphen involved. It does not, however, have any bearing on the case the OP
tried to make.
Please try to follow along while I explain:
"Anti-gay protest," with the hypen, can only mean a protest against gays.
Your confusion surrounding the case you think you're making with the ambiguity surrounding the meaning of "gay protest" comes from the fact that the gays, in this grammatical case, can be either the perpetrators of the protest (protesting for their rights, or the object of the protest (being the group some others are protesting against.)
But "war" can not be the perpetrators, or protesters. Thus, while there can be a "gay protest" consisting of gays protesting for gay rights, there can't be a war protest consisting of wars protesting for war rights.
See? Finally, do you see? A war protest, like an anti-war protest, can
only be a protest
against war.
Indeed it is. Perhaps you should try harder to learn and maybe even master some of its maddeningly inconsistent nuances.
In this case, though, you whiffed badly.
