Krauss wildcard-matching algorithm

Based on the wildcard syntax in common use, e.g. in the Microsoft Windows command-line interface, the algorithm provides a non-recursive mechanism for matching patterns in software applications, based on syntax simpler than that typically offered by regular expressions.

An initial algorithm, implemented in a single while loop, quickly prompted comments from software developers, leading to improvements.

[1] Ongoing comments and suggestions[2][3] culminated in a revised algorithm still implemented in a single while loop but refined based on a collection of test cases and a performance profiler.

[5] The two-loop algorithm is available for use by the open-source software development community, under the terms of the Apache License v. 2.0, and is accompanied by test case code.

The test case code, also available under the Apache license, can be applied to any algorithm that provides the pattern matching operations below.