adding currentcapture & givenblock as keywords
making delimiters case-insensitive
regex optimizations

had to work around engine limitations with character classes and
lookbehinds
make member method calls work