If the path is empty, stop.
Replace each slash character in the root-name with a preferred-separator.
Replace each directory-separator with a preferred-separator.
The generic pathname grammar defines directory-separator as one or more slashes and preferred-separators.— end note]
Remove each dot filename and any immediately following directory-separator.
As long as any appear, remove a non-dot-dot filename immediately followed by a directory-separator and a dot-dot filename, along with any immediately following directory-separator.
If there is a root-directory, remove all dot-dot filenames and any directory-separators immediately following them.
If the last filename is dot-dot, remove any trailing directory-separator.
If the path is empty, add a dot.