Added alternate keyword form

A hash sign can now be used instead of the dollar sign in keywords.

fixes #2
Improved error messages

Improved attribute and variable name error messages