Make code parsing more robust

Unified the operator handling inside GetCurrentInstruction().
Added square bracket handling inside GetCurrentInstruction().
Made recursive GetClassName() calls avoid getting into infinite loops
on lines without semicolons.