a list of algorithms searching aho-corasick boyer-moore parsing Shunting-yard (for parsing mathematical expressions)