-- | SetRefExpr ::= setref (Identifier, Expression)
setRefExpr :: Parser Expression
setRefExpr = do
  keyWord "setref"
  pair <- pairOf identifier expression
  return $ uncurry SetRefExpr pair

-- | Expression ::= ConstExpr
--              ::= BinOpExpr
--              ::= UnaryOpExpr
--              ::= IfExpr
--              ::= CondExpr
--              ::= VarExpr
--              ::= LetExpr
--              ::= LetRecExpr
--              ::= ProcExpr
--              ::= CallExpr
--              ::= BeginExpr
--              ::= AssignExpr
--              ::= SetDynamicExpr
--              ::= RefExpr
--              ::= DeRefExpr
--              ::= SetRefExpr
setRefExpr :: Parser Expression
setRefExpr = do
  keyWord "setref"
  pair <- pairOf identifier expression
  return $ uncurry SetRefExpr pair

-- | Expression ::= ConstExpr
--              ::= BinOpExpr
--              ::= UnaryOpExpr
--              ::= IfExpr
--              ::= CondExpr
--              ::= VarExpr
--              ::= LetExpr
--              ::= LetRecExpr
--              ::= ProcExpr
--              ::= CallExpr
--              ::= BeginExpr
--              ::= AssignExpr
--              ::= SetDynamicExpr
--              ::= RefExpr
--              ::= DeRefExpr
--              ::= SetRefExpr
setRefExpr = do
  keyWord "setref"
  pair <- pairOf identifier expression
  return $ uncurry SetRefExpr pair

-- | Expression ::= ConstExpr
--              ::= BinOpExpr
--              ::= UnaryOpExpr
--              ::= IfExpr
--              ::= CondExpr
--              ::= VarExpr
--              ::= LetExpr
--              ::= LetRecExpr
--              ::= ProcExpr
--              ::= CallExpr
--              ::= BeginExpr
--              ::= AssignExpr
--              ::= SetDynamicExpr
--              ::= RefExpr
--              ::= DeRefExpr
--              ::= SetRefExpr