Every Parser top down or bottom up needs a parsing table to parse any input according to given grammar.
Consider two statements:
1. given that if a language is top down parsable it is definitly bottom up parsable and are a strict subset of bottom up parsers.
2. Errors are based upon the number of blank entries in thr parsing table, which are more in bottom up parsers (say CLR (1)), therefore it is clear that error detection capability is more in bottom up parser.
Now the question is whether TDP is faster than BUP in error detection? The answer is No.
For a grammar which is Left recursive the parser would still try to parse it and would not report any errors until a non recoverable state (different from the input string) or a blank entry is encountered.
It will parse a string 'abcd' and create a parse tree from top to down, but if an error occurs it will not report until it reaches the very leaf node at which the error is.
While this is not the case in BUP as it will parse from every leaf node to the root node, therefore it will be able to make out which leaf is not derivable from the grammar given, before it makes a parent node.
And since there does not exist any class of language which is TDP parsable but not BUP parsable (as stated in (1)) and also there can never be more strict error detection in TDP as stated in (2).
We can conclude that no TDP can detect an error before BUP.
Kindly correct me if i am wrong.