There are two kinds of errors that Basis can find.
Basis is a single-pass parser, that is, it looks at its input only once. It also is a one-look ahead parser, meaning that at the most it is never looking more than one symbol ahead of the current context. By the time a syntax error has been detected, it is likely that a lot of the context information to the left of the error has already been lost. The diagnostic information that Basis gives attempts to be as useful as possible, but because of the very limited context information available, it is far from perfect.
Semantic errors are often possible to diagnose more precisely. We have attempted to make the semantic error information supplied as useful as possible. Sometimes some of the information is only useful to someone familiar with the internals of Basis; but we hope that in most cases it will help you find your error.