I know that the word like old English teacher has two meanings : a teacher who is English and old, or a teacher who teaches old English. In this case, the ambiguity arises from the fact that Old english can be a complement of the head N teacher and also old can be the adjunct of "teacher". However, my question is whether the AP old is the complement or adjunct of the N English. I think it's an adjunct in "old English", like an attribute. Yet, i am not sure. What do you think?
I would say that "old" in "Old English", as in the specific language, is a complement. It cannot be removed from the noun without changing the meaning.
If I were to speak of "the confusing English language", the adjective could be moved into a predicate and preserve the meaning: I'm talking about the English language, and it is confusing.
However, the same cannot be done with "Old English". If I am attending a lecture on "the Old English language", it is not equivalent to say that the lecture focuses on the English language, and that language is old.
In other words, "Old" in this case is bound to "English" just as the complement "Old English" is bound to "teacher".
"Old English" is a proper noun (or name, at least), and the "Old" part has a fairly transparent etymology as historically derived from the adjective "old". It's not an adjective, though its origin is more obvious than the "Village" in "Greenwich Village".
I wouldn't be against calling it an adjunct, because "adjunct" doesn't really mean anything to me -- a word or phrase connected in some unknown or unspecified way to another neighboring word or phrase.
It's not a "complement" at all. A complement completes the meaning of the head it goes with, as for example a direct object is a complement of a verb.