String Constant Expression

<string constant expression>

──┬─────┬─ <string constant primary> ──────────────────────────────────►
  └─ * ─┘
►─┬─────────────────────────────────────────┬─┬──────┬─────────────────►
  │ ┌◄────────────────────────────────────┐ │ └─ /= ─┘
  └─┴─┬─────┬─ <string constant primary> ─┴─┘
      ├─ & ─┤
      └─ / ─┘
►─┬───────────────────────────────────┬────────────────────────────────┤
  └─ ON ── <string constant primary> ─┘

<string constant primary>

──┬─ <string constant> ──────────────────────┬─────────────────────────┤
  ├─ <string constant identifier> ───────────┤
  ├─ <head-tail constant functions> ─────────┤
  ├─ <string constant function> ─────────────┤
  ├─ <take-drop constant functions> ─────────┤
  ├─ <translate constant functions> ─────────┤
  └─ ( ── <string constant expression> ── ) ─┘

<head-tail constant functions>

──┬─ HEAD ─┬─ ( ── <string constant expression> ── , ──────────────────►
  └─ TAIL ─┘
►─ <character set> ── ) ───────────────────────────────────────────────┤

<string constant function>

── STRING ── ( ── <integer constant expression> ── , ──────────────────►
►─┬─ <integer constant expression> ─┬─ ) ──────────────────────────────┤
  └─ * ─────────────────────────────┘

<take-drop constant function>

──┬─ TAKE ─┬─ ( ── <string constant expression> ── , ──────────────────►
  └─ DROP ─┘
►─ <integer constant expression> ──────────────────────────────────────┤

<translate constant functions>

──┬─ UPPERCASE ─┬─ ( ── <string constant expression> ── ) ─────────────┤
  └─ LOWERCASE ─┘

Explanation

Refer to String Expressions earlier in this section for explanations of the various kinds of string expressions.