Fixed remaining shift-reduce conflicts.
Fixed remaining shift-reduce conflicts.

There were two errors:

1) In do-loops, multiple merge variables need to be put in
parenthesis, or there would be an ambiguity when do-loops are part of
a tuple expression.

2) The scope of let-expressions needed to be fixed.  For example,
should this

  let x = 2 in let x = 3 in x + x

be parsed as this

  let x = 2 in (let x = 3 in x) + x

or this

let x = 2 in (let x = 3 in x + x)

I chose the latter, as it is by far the most common in the languages
and mathematical notations with which I am familiar.

diku-dk/futhark,HIPERFIT/futhark,ihc/futhark,diku-dk/futhark,diku-dk/futhark,diku-dk/futhark,mrakgr/futhark,ihc/futhark,HIPERFIT/futhark,mrakgr/futhark,HIPERFIT/futhark,ihc/futhark,mrakgr/futhark,diku-dk/futhark,CulpaBS/wbBach