146
Init Real with Fraction, {Инициализация вещественного числа десятичной дробью}
Init Real with Integer, { Инициализация вещественного числа целым}
Append Exponent Part, {Учет порядка}
Init Fraction, { Инициализация десятичной дроби целой частью}
Append Fractional Part, { Добавление дробной части к десятичной дроби}
Set Fractional Part, { Установка дробной части}
Set Exponent Part, {Установка порядка}
Set Unsigned Exponent, { Установка величины порядка}
Set Signed Exponent, {Установка величины порядка со знаком}
Set Positive, { Установка знака порядка '+' }
Set Negative. {Установка знака порядка '–' }
{ Правила}
PROGRAM : Reset , EXPRESSION , Complete , 'EOF'. (1)
EXPRESSION: TERM ; (2.1)
EXPRESSION, Push Priority 1 Plus, '+', TERM; (2.2)
EXPRESSION, Push Priority 1 Minus, '–', TERM. (2.3)
TERM : FACTOR ; (3.1)
TERM , Push Priority 2 Mult , '*' , FACTOR ; (3.2)
TERM , Push Priority 2 Div , '/' , FACTOR. (3.3)
FACTOR : NUMBER , Push Operand; (4.1)
Push Open Par, '(', EXPRESSION , Unload And Discard Open Par, ')'; (4.2)
Push Monadic Plus , '+' , FACTOR ; (4.3)
Push Monadic Minus , '–' , FACTOR. (4.4)
NUMBER : INTEGER NUMBER , Set Integer Number ; (5.1)
REAL NUMBER , Set Real Number. (5.2)
INTEGER NUMBER : DIGIT, Init Integer Number; (6.1)
INTEGER NUMBER , DIGIT, Append Digit. (6.2)
DIGIT : Set Digit 0, '0'; Set Digit 1, '1'; Set Digit 2, '2';
Set Digit 3, '3'; Set Digit 4, '4'; Set Digit 5, '5';
Set Digit 6, '6'; Set Digit 7, '7'; Set Digit 8, '8';
Set Digit 9, '9'. (7)
REAL NUMBER : FRACTION , Init Real with Fraction; (8.1)
FRACTION, Init Real with Fraction,
EXPONENT PART, Append Exponent Part; (8.2)
INTEGER NUMBER, Init Real with Integer,
EXPONENT PART, Append Exponent Part. (8.3)
FRACTION : INTEGER NUMBER, InitFraction, FRACTIONAL PART,
AppendFractionalPart . (9)
FRACTIONAL PART : '.' , INTEGER NUMBER , Set Fractional Part . (10)
EXPONENT PART : 'E' , EXPONENT, Set Exponent Part . (11)
EXPONENT : INTEGER NUMBER , Set UnsignedExponent ; (12.1)
SIGN, INTEGER NUMBER, Set Signed Exponent. (12.2)
SIGN : Set Positive, '+'; (13.1)
Set Negative, '–'.
(13.2)