15.5    String Literals

(1)   A string_literal is formed by a sequence of graphic characters (possibly none) enclosed between two quotation marks used as string brackets.

Syntax

string_literal ::= "{string_element}*"
string_element ::= "" | non_quotation_mark_graphic_character

(2)   A string_element is either a pair of quotation marks (""), or a single graphic_character other than a quotation mark.

Semantics

(3)   The sequence of characters of a string_literal is formed from the sequence of string_elements between the bracketing quotation marks, in the given order, with a string_element that is "" becoming a single quotation mark in the sequence of characters, and any other string_element being reproduced in the sequence.

(4)   A null string literal is a string_literal with no string_elements between the quotation marks.

NOTES:

An end of line cannot appear in a string_literal.

Examples

"Message of the day:"

""                           --  a null string literal

" "   "A"   """"             --  three string literals of length 1

"Characters such as $, %, and } are allowed in string literals"