#define Is_White_Space(elem) (elem == ' ' or elem == '\t' or elem == '\n') #define vor(a,b) (!((a and b) or !(a or b))) object Boolean determinant = true; object Character ch; leading_punctuation.Clear(); word.Clear(); ImInUrText: if ( t.Length() <= 0 ) return; if ( vor( (!determinant), Is_White_Space(t[0]) ) ) { if ( determinant ) { t.Remove(0,ch); leading_punctuation.Add( leading_punctuation.Length(), ch ); goto ImInUrText; } else { t.Remove(0,ch); word.Add( word.Length(), ch ); goto ImInUrText; } } else if ( determinant ) { determinant = false; goto ImInUrText; } else return;