improve a function to visit multiple nodes
add nodes and rules for 'and', 'xor', 'or', 'logical_and' and 'logical_or' binary operators
add a newline at the end of output