Have you noticed in parrot/languages/scheme or /miniperl the modules; scheme.pm / miniperl.pm, Generator.pm, Parser.pm and Tokenizer.pm? They all use a basic regexp approach coupled with a tree structure for parsing, and another for the ops.

Update: I really think it would be a good idea to share some of the details of you're implementation.