Действительный литерал представляет значение действительного типа данных и состоит из мантиссы и необязательного показателя степени; мантисса должна содержать десятичную точку.
Примечание - Знак действительного литерала не моделируется в синтаксисе, так как в языке EXPRESS в синтаксисе выражений используется концепция унарных операторов.
Синтаксис: | |||||||||||
142 real_literal = | integer_literal | | ||||||||||
( digits '.' [ digits ] [ 'e' [ sign ] digits ] ) . | |||||||||||
125 digits = digit { digit }. | |||||||||||
124 digit = | ' 0 ' | ' 1 ' | ' 2 ' | ' 3 ' | ' 4 ' | ' 5 ' | ' 6 ' | ' 7 ' | ' 8 ' | ' 9 ' . | |
304 sign = | ' + ' | ' - ' . | |||||||||
При разработке синтаксического анализатора языка EXPRESS необходимо задать максимальную точность и максимальный показатель степени действительного литерала, распознаваемые данным анализатором, используя в качестве руководства приложение Е.
Примеры | ||||
1 Правильная запись действительных литералов: | ||||
1.Е6 | Символ "Е" может быть введен на верхнем или на нижнем регистре. | |||
3.5е-5 | ||||
359.62 | ||||
2 Неправильная запись действительных литералов: | ||||
.001 | По крайней мере одна цифра должна предшествовать десятичной точке. | |||
1е10 | Десятичная точка должна быть частью литерала. | |||
1. е10 | Пробел не является частью действительного литерала. |