Attempt to get better error reporting by putting sourceURL earlier
Fixed #788 and fixed #764. Add inline loop protection, handles do loops and // noprotect to exit loop protection
Put sourceURL back to bottom as it messed up loop detect line
Merge pull request #797 from remy/fix/loop-detect-do-loops

Fix/loop detect do loops