[ ... ]- backtracking read atom
[?X]
The same as ratom(X) except that if backtracking occurs, X will be pushed back onto the input stream so that it can be re-read by subsequent ratoms or [...]'s.
Warning: It is dangerous to mix character I/O with [...].