add tuple literal (tmp)
use shared_ptr instead of the node itself
use real_parser instead of double_

to avoid parsing integer as float