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.