lvalue:
identifier
$
$number
lvalue [ expression ]
* expression
` expression `
( lvalue )
The dollar sign $
is the actual argument list of a function; $number is
the number-th argument where number
is a decimal integer constant.
An lvalue followed by an expression in square brackets is an lvalue. The intuitive meaning is that of a subscript. The lvalue must have type string or list. The expression must be of integer type.
The unary * operator means indirection: the
expression must be a pointer, the result is an lvalue.
An expression enclosed in a pair of `
(open quotes) is a lvalue where the
expression must be of string type. The object, referred to by it, is the
object having the name identical to the string. For instance,
`"A"` is
equivalent to the object A.
A parenthesized lvalue is a lvalue which is identical to the unadorned lvalue.