Next: , Previous: 2.5, Up: 2


2.6 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. They are used to represent operator_symbols (see 6.1), values of a string type (see 4.2), and array subaggregates (see 4.3.3).

Syntax

2

string_literal::= "{string_element}"

3

string_element::= "" non_quotation_mark_graphic_character

4

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

5
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.

6
A null string literal is a string_literal with no string_elements between the quotation marks.

     NOTES

7

 An end of line cannot appear in a string_literal.

7.1/2

 No transformation is performed on the sequence of characters of a string_literal.
Examples

8
Examples of string literals:

9/2

     "Message of the day:"
     
     ""                    −−  null string literal
     "   "A"   """"      −−  three string literals of length 1
     
     "Characters such as $, %, and are allowed in string literals"
     "Archimedes said ""[Unicode 917]
     [Unicode 973]
     [Unicode 961]
     [Unicode 951]
     [Unicode 954]
     [Unicode 945]
     """
     "Volume of cylinder (PIr²h) "