I don't know of any. However, PowerShell V2 exposes a PowerShell tokenizer you could build on: System.Management.Automation.PsParser
It might be interesting to do some "lint"-like checks, too.
For example, I think scripts should avoid using aliases that aren't marked ReadOnly, as users may have changed them. See Where are the default aliases defined in powershell? for some discussion.