Литерал - это текстовое представление определенного значения. В Fore.NET доступны следующие виды литералов: Логические, Целочисленные, Вещественные, Символьные, Строковые и Null.
literal:
boolean-literal
integer-literal
real-literal
character-literal
string-literal
null-literal
Имеется два литерала, представляющих логические значения: True и False.
boolean-literal:
True
False
Тип логического литерала – это Boolean.
Целочисленные литералы используются для представления значений следующих типов: Byte, Short, Integer, Long. Целочисленные литералы могут быть представлены в виде двух возможных форм: десятичной и шестнадцатеричной.
integer-literal:
decimal-integer-literal
hexadecimal-integer-literal
decimal-integer-literal:
decimal-digits integer-type-suffixopt
decimal-digits:
decimal-digit
decimal-digits decimal-digit
decimal-digit: one of
0 1 2 3 4 5 6 7 8 9
integer-type-suffix: one of
U u L l UL Ul uL ul LU Lu lU lu
hexadecimal-integer-literal:
0x hex-digits integer-type-suffixopt
0X hex-digits integer-type-suffixopt
hex-digits:
hex-digit
hex-digits hex-digit
hex-digit: one of
0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f
Тип литерала определяется по следующим правилам:
Если литерал не содержит суффикса, его типом становится первый из следующих типов которым мо-жет быть представлено его значение: SByte, Byte, Short, UShort, Integer, UInteger, Long, ULong.
Если значение литерала не может быть представлено типом ULong, то выдается ошибка компиляции.
Вещественные литералы представляют значения следующих типов: Float, Double и Decimal.
real-literal:
decimal-digits . decimal-digits exponent-partopt real-type-suffixopt
. decimal-digits exponent-partopt real-type-suffixopt
decimal-digits exponent-part real-type-suffixopt
decimal-digits real-type-suffix
exponent-part:
e signopt decimal-digits
E signopt decimal-digits
sign: one of
+ -
real-type-suffix: one of
F f D d M m
Если не указан суффикс типа, то тип литерала - это Double. В противном случае тип литерала определяется суффиксом: F или f для типа Float, D или d для типа Double, M или m для типа Decimal.
Символьный литерал используется для определения отдельного символа и обычно представляется в виде этого символа, заключенного в одинарные кавычки.
character-literal:
' character '
character:
single-character
unicode-escape-sequence
single-character:
Any character except ' (U+0027) and new-line-character
Тип символьного литерала – это Char.
Строковый литерал представляет собой последовательность из нуля или более символов, заключенных в двойные кавычки. Также он может включать контрольные последовательности Юникод.
string-literal:
" string-literal-charactersopt "
string-literal-characters:
string-literal-character
string-literal-characters string-literal-character
string-literal-character:
single-string-literal-character
quote-escape-sequence
unicode-escape-sequence
single-string-literal-character:
Any character except " (U+0022) and new-line-character
quote-escape-sequence:
""
Тип строкового литерала – это String.
null-literal:
Null
Данный литерал имеет пустой тип.
См. также: