FWIW, the code is
\makeatletter
\def\process#1{%
\def\s@last{x}
(0,0)
\s@go#1
}
\def\s@go#1#2{
node {$#1$}
\let\s@next\s@go
\if#2u
\if#2\s@last ++(0,1)\else++(1,1)\fi
\else\if#2d
\if#2\s@last ++(0,-1)\else++(1,-1)\fi
\else
\let\s@next\relax
\fi\fi
\def\s@last{#2}
\s@next
}
\makeatother
and the call I'd like to make is «\draw \process{1u2u3u4d5d6d7x};»