parser: always return wordnodes, even when expansions span the entire word

the discrepancy between the two situtations complicates things for clients
parser: add support for for/while/until