A.2 Quotation expr
Syntax tree nodes for language expressions, of type
Ast.expr. The basic nodes are:
-
<:expr< $e1$ . $e2$ >>: access in records and in modules.
-
<:expr< $anti:e$ >>: location node for Ast antiquotations
(temporary node).
-
<:expr< $e1$ $e2$ >>: application.
-
<:expr< $e1$ .( $e2$ ) >>: array access.
-
<:expr< [| $list:el$ |] >>: array.
-
<:expr< $e1$ := $e2$ >>: assignment.
-
<:expr< $chr:c$ >>: character constant.
-
<:expr< $flo:s$ >>: float constant.
-
<:expr< for $s$ = $e1$ $to:b$ $e2$ do $list:el$ done >>: for loop.
-
<:expr< fun [ $list:pwel$ ] >>: function.
-
<:expr< if $e1$ then $e2$ else $e3$ >>: if statement.
-
<:expr< $int:s$ >>: integer constant.
-
<:expr< let $rec:b$ $list:pel$ in $e$ >>:
let statement.
-
<:expr< ( $lid:s$ >>: identifier starting with a
lowercase letter.
-
<:expr< match $e$ with [ $list:pwel$ ] >>:
match statement.
-
<:expr< { $list:eel$ } >>: record.
-
<:expr< do $list:el$ return $e$ >>: sequence.
-
<:expr< $e1$ .[ $e2$ ] >>: string access.
-
<:expr< $str:s$ >>: string constant.
-
<:expr< try $e$ with [ $list:pwel$ ] >>:
try statement.
-
<:expr< ( $list:el$ ) >>: tuple.
-
<:expr< ( $e$ : $t$ ) >>: type constraint.
-
<:expr< $uid:s$ >>: identifier starring with an
uppercase letter.
-
<:expr< while $e$ do $list:el$ done >>:
while statement.