Generally speaking a
noun phrase behaves in
speech just like a
noun, but contains more
information. The
transformation rules for generating a
noun phrase look like this:
NP -> article restOfNP | restOfNP
restOfNP -> adjective restOfNP | noun
Or, they might look like this:
NP -> article restOfNP | restOfNP
restOfNP -> adjectiveList noun
adjectiveList -> adjective | adjective adjectiveList | {empty}
...the difference being largely one of binding: if I say "an ugly brown dog" should that be read as "an (ugly brown) dog" or "an ugly (brown dog)"?
Please note that my use of rules for describing noun phrases does not entail that I believe that rules have any place in language. I'm not as rabid about it as I used to be but it used to be against my religion.