Last I checked, (granted, late 1990s) the Perl 5 interpreter was actually an AST-walking interpreter, without an internal bytecode. It had a bytecode for serializing ASTs to disk, but that wasn't useful for much other than obfuscation because reconstituting the AST from the bytecode was actually slower than parsing source.