its documentation mentions that it
combines ideas from scannerless parsing, parser combinators, parsing expression grammars and packrat parsers to model grammars and parsers as objects that can be reconfigured dynamically
I once read about object-oriented parser combinators in the german blog denkspuren by prof. herzberg and copy-ran the provided python code. the other concepts are still a bit unclear, but I skimmed through the papers and theses and they seem to be nicely explained there.