introduce PrintableError
use PrintableError for bad rule and modules names
user PrintableError in parser.py