As Radford notes, these rules overgenerate: Not all categories can appear as specifiers, attributes, adjuncts, or complements of all other categories. Furthermore, even one category (say NP) can in general appear in some positoin (say complement of V), specific lexical items can create exceptions.
*students Physics might have too much work. NP | N' / \ N NP | /\ students Physics
(That's a triangle over Physics)