Don't print "Syntax error" for SyntaxErrors.

It's been a long time since these were restricted to only syntax, and
telling the user that is confusing.
Add an @error directive.

Closes #747