In S221c, the multicore CPU 101 determines whether or not u is an empty text string E. If it is determined to be Yes in S221c, the process proceeds to S223. If it is determined to be No in S221c, the process proceeds to S224.
In S222, the multicore CPU 101 advances the point K(c) by 1 to the next entry.
In S223, the multicore CPU 101 inserts a delimiter $ into a position pointed by the pointer K(c).
In S224, the multicore CPU 101 sets the last character of u to d and sets, to v, a remaining text string obtained by excluding the last character d from u.
In S225, the multicore CPU 101 inserts d into a position pointed by the pointer K(c) and generates a link from d to v.
In S226, the multicore CPU 101 deletes u and a link from c to u.
In S227, the multicore CPU 101 determines whether or not H is the end of the wa block. If it is determined to be Yes in S227, the process R(w, a) is terminated. If it is determined to be No in S227, the process proceeds to S228.
In S228, the multicore CPU 101 advances the pointer H by 1 to the next entry.
The processes described using the flowcharts of