Fix whitespace handling to be non-greedy
(in case you want some whitespace to be special).
Add toke nparsing function.