From the introduction: "This paper describes AMPLE, a morphological parser (i.e., a program that parses words into morphemes). AMPLE grew out of work in computer assisted dialect adaption, as described in section 1. It contains no language-specific code, being controlled entirely through external, user-written files, the notations of which were designed for linguists. AMPLE's constructs are linguistic: "allomorph," "morpheme," "conditioning environment," "co-occurrence constraint," etc.
AMPLE's fundamental algorithm is (i) to discover all possible decompisitions of a word into allomorphs, and (ii) to eliminate those which fail any conditions, constraints or tests imposed by the user."
Weber, David J.
"A morphological parser for linguistic exploration,"
Work Papers of the Summer Institute of Linguistics, University of North Dakota Session: Vol. 33, Article 7.
Available at: https://commons.und.edu/sil-work-papers/vol33/iss1/7