。
She gave a cheerful greeting.
Literal
She [topic-は] warmly greeting [object-を] did.
挨拶をする ('to greet, exchange greetings') uses 挨拶 as a noun object of する; the alternative 挨拶する drops the を to fuse the noun and verb tightly. Both are correct; the を-bearing form is slightly more deliberate, like saying 'gave a greeting' rather than 'greeted.' Note that にっこり directly modifies 挨拶 here without the te-form 笑って — the mimetic alone is enough to convey the smiling manner of the greeting. The Japanese leaves the addressee unspecified; English readers naturally wonder 'who?', and that gap is itself part of what the literal exposes.