Fix ctrl-D infinite loop bug
Add new AST nodes to accommodate scalar variable assignment