Do the MATLAB and GNU Octave interpreters work like interpreters in the old sense? Do they parse each line, translate it into machine code and execute or do they translate the entire code into an Intermediate Representation (like Python bytecode, perl AST etc.) first and then interpret the IR.
For GNU Octave and MATLAB, it seems pretty reasonable to have a bytecode or Intermediate Representation for efficiency (not for obfuscation only).