As a rule, program transformation methods based on operational semantics unfold a semantic tree of a given program. Sometimes that allows ones to optimize the program or to automatically prove its certain properties. Unfolding is one of the basic operations, which is a meta-extension of one step of the abstract machine executing the program. This paper is interested in unfolding for programs based on pattern matching and manipulating the strings. The corresponding computation model originates with Markov's normal algorithms and extends this theoretical base. Even though algorithms unfolding programs were being intensively studied for a long time in the context of variety of programming languages, as far as we know, the associative concatenation was stood at the wayside of the stream. We define a class of term rewriting systems manipulating with strings and describe an algorithm unfolding the programs from the class. The programming language defined by this class is Turing-complete. The pattern language of the program class in turn fixes a class of word equations. Given an equation from the class, one of the algorithms suggested in this paper results in a description of the corresponding solution set.