Конструкции языков программирования. Приемы описания:...

53

Upload: -

Post on 08-Dec-2016

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Конструкции языков программирования. Приемы описания: Монография

���� ��������

��������

�� ���

��������������

�����

Page 2: Конструкции языков программирования. Приемы описания: Монография

��������� �� ������������� � ��� �

������ ���� ����� ����� � �������������

���������

��

�����

Page 3: Конструкции языков программирования. Приемы описания: Монография

�������� ��������� � ����������������������

������� �������� �� ������� �� ��������� ��� � �������� �� �� ������

���� ��������

�������������

���������� ��

������ ��������

�������� �� � ��������

����

���

�����

Page 4: Конструкции языков программирования. Приемы описания: Монография

��� �������� ���

���

��������� �� ������������� � ��� �

������ ������������ ���� � �����������������������

�� ��! "� � ��# $�������� ��������� !"!

#�������$�� ������ ����������������! ��������������!%��! �� �� � ��������# ����� % ��& ��

%&'( )�*+,)*�-.+�+

��'� � ()*�+��, �����,# ����-.(��/ ��)��'� �(# ���*()�0(( ($�(1����(/ ���� �2�0(3 ��� (1$��� (��,4# �� ( �2��0(���*5�,4/),��� $��6��11(�����(/� 7��8( �*5��� ��(1��(� 2"�*/� �/ $�(1�9���(- "��� �0(����3 ��1�� (�(# $�)��*/-.�3 � $�*��3 1��� ()�*�85$��(12.�� �� �':�� ��9��(�� (�������6� $�"4�"�# 8 �# � ����8��1�8� �# $�)��*/� $�� ��( 5 ��)2*5 (�2-.2- �,8(�*( �*5�2- 1�"�*58(� � �2��0(���*5��6� ($��

�)*�+��(� 1� ��(�*� ��$����+"�� �/ "� �*5�� ��)�'����,1( $�(91���1(# �� ��,� ���'+��, ��11�� ��(/1(# $�1�6�-.(1( 2/��( 5���*()�0(- ���� �2�0(3 ��)*(8�,4 /),����

��(62 1�+�� (�$�*5)��� 5 � ��8�� �� 28�'�(�� (*( �$����8��6� $���9'(/� ��� '2"� $�*�)�� ��� � 2"�� �1 ( ��$(��� �1# �� ( $������(9���*�1 � �'*�� ( ��1$5- ���,4 ��2�# (����1�0(���,4 �4��*�6(3( $��6��11(�����(/�

���� ������������� �� �� �������� ����������� �� ���� ������� ���������

�� ���� ������������ � �!� ������ �"��#�$��% ������&'()*+,- .� /��01 �02&�0&��� 3&4+56- ���������������

�#7�� �� 8��$�� 9�� 9�77�:! �;;� 9��!� ��&��&�<�2=

��

�����

Page 5: Конструкции языков программирования. Приемы описания: Монография

����������

���/������ ��/������ ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

���/������ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

��/���� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

,! ��/� ��0�����1 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ����� �)1�+��� ( 1�"�*( �,8(�*��(3 � � � � � � � � � � � � � � � � � � � � ����� ;(� ���(�# ��1�� (�� ( $��61� (�� � � � � � � � � � � � � � � � � � � ����� <��1�*5��/ ��1�� (�� ( �� ��)1�+��� ( � � � � � � � � � � � � � ����� ���� �0(����/ ��1�� (�� � � � � � � � � � � � � � � � � � � � � � � � � � � � ����= �'� ��� �,� �':�� , � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �=��& >�4��*�6(8����/ ������ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �&��� ��(�(��0(/ *�6(�( $��6��11 ( �(� �1 '�) "���,4 � � � ��

2! ��������� /�������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ����� ������,� ("�( ���(( �,8(�*��(3 � � � � � � � � � � � � � � � � � � � ����� ,��+��(/# $��"� ��*/-.(� ?*�1�� , � � � � � � � � � � � � � � ��

����� >�+"�� �����/ �2��0(/ � � � � � � � � � � � � � � � � � � � � � � ������� ���� �� ��/ �2��0(/ � � � � � � � � � � � � � � � � � � � � � � � � ������� @��()��"��(� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ������� ;211� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

��� @��"� ��*��(� "(�6��11�1( � � � � � � � � � � � � � � � � � � � � � � � � �=����� ,��+��(/# $��"� ��*/-.(� "(�6��11, � � � � � � � ������� ��(����21 "*/ ����2+"��(/ � "(�6��11�4 � � � � � ��

��� ������,� 1� �1� (8���(� $��/ (/ ( �$��"�*��(/ � � � � � ����= �"�/ $� ����,4 "(�6��11 � � � � � � � � � � � � � � � � � � � � � � � � � � ��

��=�� @�� ����(� ��'��� $�(1( (��,4 �2.��� �3 � � � � �=��& �'� ��� ��/ $� �����/ 1�A(�� � � � � � � � � � � � � � � � � � � � � � �&

�����

Page 6: Конструкции языков программирования. Приемы описания: Монография

>? ����$��

��&�� 7��8��(� �,��+��(3 � � � � � � � � � � � � � � � � � � � � � � � � � ����&�� �0��(��-.�� � �'��+��(� � � � � � � � � � � � � � � � � � � � � ����&�� �)��8(���(� BCDEF90(�*� � � � � � � � � � � � � � � � � � � � � � � =�

��� (�*(8���(� "(�6��11, � � � � � � � � � � � � � � � � � � � � � � � � � � � � =���G ;(� ���(8���(3 ���*() � � � � � � � � � � � � � � � � � � � � � � � � � � � � &�

3! ������ �������/�������1 ��������� /� ��/�� ���0�����1 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � &���� H����1�*5�,3 �(� ���(� � � � � � � � � � � � � � � � � � � � � � � � � � � � &���� H����1�*5��/ ��1�� (�� � � � � � � � � � � � � � � � � � � � � � � � � � � � &�

����� H����1�*5��/ ��1�� (�� �,��+��(3 � � � � � � � � � � &=����� H����1�*5��/ ��1�� (�� ��1��" � � � � � � � � � � � � � � &�

��� <��1�*5��/ ��1�� (�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � &G����� ;(� ���(� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � &G����� ;�� �/�(�# $�1/ 5# �4�"# �,4�" ( )��8��(� � � � � � &G����� ;�1�� (8���(� �2��0(( � � � � � � � � � � � � � � � � � � � � � � &������ ;�1�� (8���(� $��"*�+��(/ � � � � � � � � � � � � � � � � � � ������= ���'����� ( ���1�*5��3 ��1�� (�( � � � � � � � � � � � ��

4! ��5�/��� ������� � � ����0����6 ������ ��0�����1 �=��� �'� ��� �,3 �(� ���(� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �=��� @�"4�", � $�� ����(- ��1�� (�(� � � � � � � � � � � � � � � � � � � � ����� ��1��, � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � G�

����� ���2��(��� �$��"�*���,� �2��0(( � � � � � � � � � � � � G������ ���2��(��� �$��"�*���,� 1��+�� �� � � � � � � � � � � � G������ >���(/ �,8(�*��(3 � � � � � � � � � � � � � � � � � � � � � � � � � � � G������ �� �1� ()�0(/ � $��6��11(�����(( � � � � � � � � � � � G�

��� �$��"�*��(� "�1���� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � G������ ; ��"�� �,� "�1��, � � � � � � � � � � � � � � � � � � � � � � � � � G������ ����8�,� "�1��, � � � � � � � � � � � � � � � � � � � � � � � � � � � � G������ ���� �2� ��, "�1���� � � � � � � � � � � � � � � � � � � � � � � � G������ ������ �� ���"( "�1���� � � � � � � � � � � � � � � � � � � � � � � G�

��= <2��0(( � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � GG��=�� I�1'"�9�'�)��8��(/ � � � � � � � � � � � � � � � � � � � � � � � � � � G���=�� <2��0(( �,�A(4 $��/"��� � � � � � � � � � � � � � � � � � � � � ����=�� ;�6*�A��(/ �' �$2����(( ���'�� � � � � � � � � � � � � � � ����=�� ����(�����(� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �&��=�= ��*���,� �2��0(( � � � � � � � � � � � � � � � � � � � � � � � � � � � �G��=�& JKLF9���� �2�0(/ � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

Page 7: Конструкции языков программирования. Приемы описания: Монография

����$�� >??

��=�� <2��0(( ������0(( � � � � � � � � � � � � � � � � � � � � � � � � � � �����=�G @���+"�-.(� �2��0(( � � � � � � � � � � � � � � � � � � � � � � � �����=�� ;$���', �$��"�*��(/ �2��0(3# ��*-8�/ ���2�9

�(- � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �����=��� ���*-8��(� $���1���,4 � � � � � � � � � � � � � � � � � � � � � � �����=��� MCFNF9���� �2�0(/ � � � � � � � � � � � � � � � � � � � � � � � � � � � �����=��� ��1$�)(0(/ ( $�� ����(� $��*�"��� �*5��� ( � � ��=

)! ������ /�����$������� �������� /� ��/�� ��0������1 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���=�� �'� ��� �,3 �(� ���(� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

=���� ;(� ���(8���(� "�1��, � � � � � � � � � � � � � � � � � � � � � � � ���=���� ;(� ���(8���(� $��"*�+��(/ � � � � � � � � � � � � � � � � � � ���

=�� ;�1�� (�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���=���� ;�1�� (8���(� "�1��, � � � � � � � � � � � � � � � � � � � � � � � ���=���� �$�1�6� �*5�,� �2��0(( � � � � � � � � � � � � � � � � � � � � ���=���� ;�1�� (8���(� �2��0(( � � � � � � � � � � � � � � � � � � � � � � ���=���� ;�1�� (8���(� $��"*�+��(/ � � � � � � � � � � � � � � � � � � ���

7! 8���/������ ��������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���&�� @��"�*+��(/ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

&���� @��"� ��*��(� O�� � �� $��6��11,P � � � � � � � � � � � � ���&���� @��"�*+��(/ ��1��" � � � � � � � � � � � � � � � � � � � � � � � � � ��=&���� @��"�*+��(� �,��+��(/ � � � � � � � � � � � � � � � � � � � � � ��&&���� H�$����"� �����/ ��1�� (�� ( ��1�� (�� $��9

"�*+��(3 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��&&�� ��)1�.��(�# )�$�� ( ���"� � � � � � � � � � � � � � � � � � � � � � � � � � � ���

&���� ��)"�*��(� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���&���� @���1����/ ( ��)1�.��(� � � � � � � � � � � � � � � � � � � � � � ��G&���� 7�$�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��G&���� ;��"� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

&�� ; ��"�� �,� "�1��, )��8��(3 � � � � � � � � � � � � � � � � � � � � � � ���&�� �*��(# "��*���0(( ( "(�$�)��, � � � � � � � � � � � � � � � � � � � � � ���&�= ; ��"�� �,� "�1��, $��"�*+��(3� � � � � � � � � � � � � � � � � � � ���

&�=�� @��"�*+��(� ��1��", � � � � � � � � � � � � � � � � � � � � � � � � ���&�=�� @��"�*+��(� �,��+��(/ � � � � � � � � � � � � � � � � � � � � � ���&�=�� @��"�*+��(� "��*���0(( � � � � � � � � � � � � � � � � � � � � � ���

&�& ; ��"�� �,� ��1�� (8���(� �2��0(( � � � � � � � � � � � � � � � � ���&�� @���'��)����(� $��"�*+��(3� � � � � � � � � � � � � � � � � � � � � � � � ��=

Page 8: Конструкции языков программирования. Приемы описания: Монография

>??? ����$��

&�G @�(���(���(� ( )��8��(/ Q# R � � � � � � � � � � � � � � � � � � � � � � � ��G&�� @��0�"2�, ( �2��0(( � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

&���� @��0�"2�,� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���&���� <2��0(( � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���&���� ;��" ������,4 ��� ��A��(3 � � � � � � � � � � � � � � � � � � � ���

.! ������ /�����$�����1 ��������� � � � � � � � � � � � � � � � � � � � ��=��� @�(1�� �(� ���(�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��&

����� ;(� ���(8���(� "�1��, � � � � � � � � � � � � � � � � � � � � � � � ��&����� ;(� ���(8���(� $��"*�+��(/ � � � � � � � � � � � � � � � � � � ��&

��� @�(1�� ��1�� (�( � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �������� ;�1�� (8���(� "�1��, � � � � � � � � � � � � � � � � � � � � � � � �������� ;�1�� (8���(� �2��0(( � � � � � � � � � � � � � � � � � � � � � � ��G����� ;�1�� (8���(� $��"*�+��(/ � � � � � � � � � � � � � � � � � � ��G

��� @�(1�� �)��8(���(/ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

*! �5�/� � ����/�0� ��������� � � � � � � � � � � � � � � � � � � � � � � ��=G�� ,4�", � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��=

G���� ,4�", () ��1��" � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��=G���� ,4�", () �,��+��(3 � � � � � � � � � � � � � � � � � � � � � � � � ���G���� SKETU ( NFLVEWDL � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��G

G�� @���4�", � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���G���� ;�1�� (�� $���4�"�� � � � � � � � � � � � � � � � � � � � � � � � � � �=�G���� ��$�*�( �*5�,� ��$�� , ��1�� (�( $���4�"�� � �=�G���� @�(���(���(� $���1���,1 1� �� � ��8�� �� )��9

8��(3 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �==

+! �������/����� ���$�/�� � ����$�1 � � � � � � � � � � � � � � � � � �=���� X(�*� $���1� ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �=G

����� @��0�"2�, ( �2��0(( '�) $���1� ��� � � � � � � � � � �=G����� @��0�"2�, ( �2��0(( '�*��# 8�1 � �"�(1 $���9

1� ��1 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �=���� ���2��(��,� $��0�"2�, ( �2��0(( � � � � � � � � � � � � � � � � � � �&���� ; � (8����� ( "(��1(8����� ��/),���(� � � � � � � � � � � � � � � �&�

����� ;�1�� (�� ��/),���(/ � � � � � � � � � � � � � � � � � � � � � � � � �&������ ���'����� ( "(��1(8����6� ��/),���(/ � � � � � � � � �&�

��� ��4��()1, $���"�8( $���1� ��� � � � � � � � � � � � � � � � � � � � � �&������ ,)�� $� )��8��(- � � � � � � � � � � � � � � � � � � � � � � � � � � � �&������ ,)�� $� ��,*�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �&&

Page 9: Конструкции языков программирования. Приемы описания: Монография

����$�� ?@

����� ,)�� $� )��8��(- ( ��)2*5 � 2 � � � � � � � � � � � � � � � �&���= ��4��()1, �,)��� $��0�"2� � � � � � � � � � � � � � � � � � � � � � � � � �&G

��=�� ,)�� $� )�1,���(- � � � � � � � � � � � � � � � � � � � � � � � � � �&���=�� ,)�� $� ��� 2 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �����=�� ,)�� $� �'�)��8��(- � � � � � � � � � � � � � � � � � � � � � � � � �����=�� ���� �2�0(( 0( (�����(/ � � � � � � � � � � � � � � � � � � � � ���

��& ��� �(3 �')�� 1�4��()1�� �,)��� ( $���"�8( � � � � � � � � ������ �'� ���0((! �,��+��(/# �'�)��8�-.(� $��0�"2�, (

�2��0(( � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �����G ��4��()1, ��/),���(/ "��*���0(3 � � � � � � � � � � � � � � � � � � ��=

,-! 8�������� /����5 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ������� �$���0(( ��" 1��+�� ��1( � � � � � � � � � � � � � � � � � � � � � � � � � ��G���� ;�,*�( � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ������� ����(�, � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ������� 7�$(�( � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �G����= ,��+��(/# (1�-.(� � �2� 2�2 "���,4 � ��8�� ��

)��8��(/ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �G����& <�3*, � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �G=���� ;�1�� (�� ��3*�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �G&

,,! #�������$�� �����$�1 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �G����� NFYFKW J VZWDE [ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �G����� (�*, FSFZW � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �G����� \TN9$��"*�+��(/ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ������� �'�'.��(/ UTN9$��"*�+��(/ � � � � � � � � � � � � � � � � � � � � � � � � � ���

,2! 9��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��=���� ��)���("��� ( ($�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��&���� @���(*5�� ($()(������,� $��6��11, ( $������� ($����&

������ @������� ($�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��������� ;4�1� "��� �0(����6� �$(���(/ $������( ($�� ��G

���� ;�1�� (�� ($�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

,3! :������ ����$�������� ���������������� � � � � � � ������� @��'*�1� (�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ������� ������,� 4���� ��(� (�( �2��0(���*5�,4 /),��� � � � ������� @��"� ��*��(� ���$��� ������,4 �2��0(���*5�,4 /),9

��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

Page 10: Конструкции языков программирования. Приемы описания: Монография

@ ����$��

������ ]FWK QKZ^VK^F � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ������� ������,� 1� �", ���*()�0((� � � � � � � � � � � � � � � � � � � � � � � � ��&

������ _[J`91�A(�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��&������ ��"2�0(/ 6���� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��������� �� �6��(�*5��/ �'� ��� ��/ 1�A(�� � � � � � � � � � � ��G

���= @�*�)�,� ��8�� �� �2��0(���*5��6� $��6��11(�����(/��G���=�� @��� � � ��1�� (�( � � � � � � � � � � � � � � � � � � � � � � � � � � ������=�� @������� ������ ��� ( $��6��11, � � � � � � � � � � � � ������=�� @���'��)����(� $��6��11, � � � � � � � � � � � � � � � � � � � ���

���& ;(� ���(� 2$��.����6� �2��0(���*5��6� /),�� � � � � � � ������&�� <2��0(���*5�,3 /),� $����6� $��/"�� � � � � � � � � ������&�� <2��0(���*5�,3 /),� �,�A(4 $��/"��� � � � � � � � ���

���� @�*28��(� () �9�,��+��(3 1�A(��,4 (�� �2�0(3 � � � � ��=������ ��1$(*(�����(� $���(*� �,8(�*��(/ � � � � � � � � � � ��������� ��1$(*(�����(� 2$���*��(/ ���"�3 � � � � � � � � � � � ��������� ��*5A�3 $�(1�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

���G I��(�,� ( +�"�,� �,8(�*��(/ � � � � � � � � � � � � � � � � � � � � � � �==

;��������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �=�

���/�����1 ������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �&�

�������1 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

Page 11: Конструкции языков программирования. Приемы описания: Монография

����� ��� ����� � ����

��1$5- ���,� ��2�( abTcYVWFN LbDFZbFd ( (����1�0(���,� �4��*�96(( � �*( ��)"��2.(1( ( $��"�*+�- �2*( 5 $���1��,# �� ��,� �.�'�*5A� )� ��6(��- $��� (8���( ��� ����, ��A�3 +()�(� @��+"����6� ���,� �4��*�6(( ���A(�/- "�� 2$ � ��)���'��)��3 (����91�0(( ( $��"20(�2- 1���2 (����1�0((# $��"� ��*����3 � ?*��9 �����3 ���1�# ()1��// ��� 4���� �� �2"�# �� ( �6� ��)2*5 � ,���3� �( �*5��# 1��6(� $��"2� ,# $�*5)2-.(��/ 1�����,1 �$����1#�,$2���- �/ � �("� $��*�"��� �*5��� ( '( ��# � �1$ (4 ()1����(3���',8�3�� �,����

�)1��/- �/ ��� � "�*5�,� $������((# �� ( 0�*,� � ���*( (�"29� �(( (*( )���(/� @�9�2 (# ��)�( (� (����1�0(���,4 �4��*�6(3 "�9*� �(� 2�*5�2- ���*5��� 5# � �� ���3 �����1����� �'.�� �� �*5����8(��� �"�$ (���� 5�/ ( ��)1�+��� ( �� ���3 "�� � �8�� ',� ������(��- �/�

e�*( �� ����(4 � �"(/4 $��6��11(�����(� $��"� ��*/*� ��'�3�(" (��2�� ��# ��6"� $��6��11(� $(��* $��6��112 "*/ ��A��(/�$��"�*����3 )�"�8( ( ��$����+"�* �� '�*�� (*( 1���� $�"��'�� ��9� ��*����3 "��21�� �0(�3# � �$��5 ��)"��� 1�.��/ (�"2� �(/ $��96��11(�����(/ � ��$2 � �2-.�3 �3 (�+����(�3 $��6��11(�����(/� ��� �/.�� ���1/ � (��*�"����(/4 $� $��6��11(�����(- (*( � ���9�� ��1$5- ���,4 ��2�# ��� $���(*�# $�""��+(��- �/ ��'� ,# � �� �9�,4 ����( �/ ���� ���� ��'�*5A�� 2*28A��(� � ��A��(( 2+� 4���A�()��� ��3 $��'*�1,� 1�� � � �1 () �("2 2$2���- �/ "�3� �( �*5����+�,� ( �2�"�1�� �*5�,� (��*�"����(/# ��"2.(� � $�(��2 ���,4���0�$0(3 �,8(�*��(3 �� ��1$5- ��� ( ��"�� � �8��� ��(1��(� 2"�9*/� �/ ����$*��(- )���(3 � �'*�� ( $��6��11(�����(/�

@2'*(��0(( � ? �3 ���(( )�"21��, ��� $��"�*+�-.(3�/ �/" ��9'� � �'*�� ( ��1$5- ���,4 ��2�# (����1�0(���,4 �4��*�6(3 ($��6��11(�����(/# �$���'� �2-.(4 ����$*��(- )���(3 � ? (4 �'*�9

�����

Page 12: Конструкции языков программирования. Приемы описания: Монография

� A�7����$� �7�!���� ����

� /4� @��"$�*�6�� �/# 8 � $2'*(�2�1,� ��'� , 1�62 ', 5 (�$�*5)�9���, "*/ ()*�+��(/ � "�*5�,4 �2���� ( �1�� � � �1 �$���'� ���� 5��28�,1 (��*�"����(/1� ��� $���(*�# ��(6( ���(( $��"��)��8�- 9�/ "*/ 2"��*� �����(/ 8( � �*�3 ��1�6� ��)*(8��6� 2����/% � � 29"�� ��# � ��/.(4 $���" ��'�3 0�*5- $���(8��� �)����1*��(� � ��1(1$��"1� �1# "� �$�0(�*(� �� � ��)"�*�4 ��1$5- ���,4 ��2��

>��(1 �'��)�1 � $2'*(��0(/4 ���(( $��"$�*�6�� �/ � ��+� 5 �9�2.�� ��� �/�(� "�* � "����3 �'*�� ( ( "� 5 �����2 "*/ �(� �1�9 (8����6� ()28��(/ ��)"�*�� ��1$5- ���,4 ��2�# (����1�0(���,4 �4��*�6(3 ( $��6��11(�����(/�

������� ����

Page 13: Конструкции языков программирования. Приемы описания: Монография

����� ���

>� # � � �� 2$�� � ��)6���� � /),��4 $��6��11(�����(/# �',8��$��"$�*�6�� 2"��*� ���( 5 �$��"�*���,� �+("��(/� H� $��� (���+("��(3 ���),��� �/ 0�*,3 �$�� � % � $�*��3 )��(�(1�� ( � $��9����(���*5�,4 (� ������ $�*5)��� �*/� @��61� (8���( ��� �����,38�*���� 4� �* ', 2���( 5 �$��"�*���,3 ��26 ("�3# $�*5)2/�5 �� ��,91( 1�+�� $��"�(6� 5�/ � ������(( ���� �2�0(3 ������ �� �,'���9��6�% "*/ �$�*�� �$��"�*���,4 0�*�3 % /),�� $��6��11(�����(/�

��3� �( �*5��# �� ��6�"�/ �.� ��"���� $�$2*/���/ �1� �' 2�(9�����*5�,4 /),��4 $��6��11(�����(/ � �A*� �� )�"�(3 $*��� @�*59)��� �*- $��"*�6�� �/ '�*5A�3 ��'�� /),��� ( �'A(��,4 �2����"� �� ��+"�12 () �(4# ��� �*5�� �'A(��,4# 8 � ()28��(� 4� / ', �"��6�() �(4 ��'2� )��8( �*5�,4 2�(*(3� >($(8��� �2����"� �� $� /),9�2 $��6��11(�����(/ �,6*/"( ��$�"�'(� O�2����"� �� $�*5)��� �9*/P ( ���),��� �/ $�� �����,1 ��0�$ 2��,1 �$���'�1 $� $�(�0($2!"�*�3 � (1���� ��# �6"� $�*28( � �$��"�*���,3 +�*� �*5�,3 ?�9��� # $�(8�1 �(��6"� �� "�*�3 � ���� ��,4 ��.�3# $����*5�2 $�*298( �/ ��+�*� �*5�,3 ?���� � � 1��6(4 �*28�/4 ? � "�3� �( �*5��4���A�/ 1����� ()*�+��(/# �� ���/ $�1�6�� �����( �*5�� ',� ����8� 5 8 �9 � $��� (8���( )�$(�,�� 5# ��1$(*(���� 5 ( (�$�*�/ 5�

�"���� � ���6� ��"� �2����"� ��4 $� /),��1 $��6��11(�����(/$�*��� 5- �'4�"( �/ ��$���# ��"( 8�6� � ��( �/ /),� ��� �(� �1�$��6��11(�����(/ ( 8 � +� *�+( � �6� ������� ��+"2 �1 '�) 8��)91���,4 2�(*(3 1�+�� �,"�*( 5 ���� ��2- 0�� ��*5�2- �2.��� 5#�� ���/ $�"��)21���� �/ � ��+"�1 '�) (��*-8��(/ /),�� $��6��191(�����(/# ( ? �3 �2.��� 5- ���),��� �/ $��0��� � 1� �1� (8����1�1,�*� ? �6� �*���# ��),���1,3 O�,8(�*��(�1P� ,8(�*��(� ��� �9����� 1�+� ', 5 �,8*����� ( ����1� ���� � �8�( )���(/ �$(�,��9-.(4 �6� ���� �2�0(3 ������ ��6� /),���

�����

Page 14: Конструкции языков программирования. Приемы описания: Монография

< A�7����$�

��*�� �6�# �,8(�*��(� ��� ��1�� �/ �*5�,3 �':�� (��*�"���9�(/ "���� $�"���6�� �/ 1���(������,1 1� �1� (8���(1 �� (���1��@�9�("(1�12# ��+"�� �8���"��� $���*��(� 1� �1� (��� � bTcYVWFNLbDFZbF $, �� �/ $�9����12 $�����1,�*( 5 ( $���� ��, 5 ������,�)����, �,8(�*��(3� ;�1�� �2.�� ������# 8 � ��"��+��(� $��/ (/�,8(�*��(/ �� �� �� �/ 8�19 � ��()1���,1# �� $��(�"(8���(1 1��/9� �/� >�1 ��1,1 ����5 ( ����5 ��)�(��� ���'4�"(1�� 5 �,��'� �(��"*�+�.(4 ���� (8���(4 �������(3# $�(�1�� ( 1� �"�� ���1�*(9)�0((# �� ��,� 4� / ', �� ���1/ 2"��*� ���/*( ���,1 ��'����(/1�

���� ��

�"�� () ������,4 ("�3 ��(6( % $���)� 5 ��+��� 5 ��)�( (/ �f("��(/$��6��11, � ��1(��4 �':�� �� (*( �2��0(3� ��+� ��*( �(� ��9�(8���( ? � �� �8��("��# ( $��6��11(� (1�� "�*� � ���� �2�0(/1(�,��+��(3 ( ��1��"# � ��1�� (�� 1�+� ', 5 $�� ����� �� $�(�0(9$�4 (�8(�*��(3 �':�� ��� ? �3 ��/)( �$(���(� ���� �2�0(3 /),���$��6��11(�����(/ ���"� ��1( "��� �0(����3 ��1�� (�( 4���� ��(9)2� (1���� �':�� , ( (4 �)�(1���/)(# � �� ��)1�+��� ( �����( �*59�� ��"���� ��1,�*��, ( �*5�� ��8�*( ��'/ $��/�*/ 5 �� $��� (����)�*����1,3 $��� (8���(3 ��)2*5 � ��� �( � ��)�( (( ���,�� ��9� ��*��(/ 1�"�*( �,8(�*��(3# ��� �� ( �1�� � � �1 (�8��$,��-.��$(�,��-.�3 ��� �2.�� ����,� 8�� , ��)��'� ,���1�6� $��6��119��6� �'��$�8��(/�

���� ��������� ��

g � ��(6� ��$(���� � $�1�.5 �1 $��6��11(� �1# �� ��,� 4� / $�(9��� ( ���( )���(/ � �(� �12 ( $�����1,�*( 5 � ��26 ("�3# � �� �9�,1 $�(4�"( �/ � �*�(�� 5�/ �� $��� (��� ��(6� $�()���� ���)� 5$�1�.5 � 8 ��(( ( ()28��(( ��(6(��*5�,4 ��'� � �'*�� ( ��1$5-9 ���,4 ��2�# (����1�0(���,4 �4��*�6(3 ( $��6��11(�����(/# � ��+� � �*28�� ���'4�"(1�� ( $��()��� ( $����'� �2 ����5 ��)"���9�1,4 1�4��()1�� $��6��11(�����(/�

��(62 1�+�� (�$�*5)��� 5 � ��8�� �� 28�'�(�� (*( �$����8��6�$���'(/� ��� '2"� $�*�)�� ��� � 2"�� �1 ( ��$(��� �1# �� ( $��9����(���*�1 � ? (4 �'*�� /4�

Page 15: Конструкции языков программирования. Приемы описания: Монография

A�7����$� 0

���������� � ������� ���� ���

� ��� �/.�12 ���1��( � �'*�� ( $��6��11(�����(/ $��"*�6�� �/2"(�( �*5�� 1��6� ���1�*()�0(3# "�-.(4 $�(�1, �$(���(/ $��96��11(� ��(4 ���� �2�0(3# ( ��+"�/ () �(4 /�*/� �/ �����A���������'��)�,1 /),��1 �'.��(/ �����( �*5�� �6���(8����6� ��26��$�0(�*(� ��# �� ��,� 4���A� $��(1�- "�26 "�26�� �"���� $�$, ����$���/.����6�� $��/ 5 $��� (8���2- $�*5)2 ( )��8(1�� 5 ����6�1� �1� (8����6� /),�� �� �*�(��� �/ �� $��$/ � �(/�

@��+"� ���6� �� 2+� ()��� �,� �2"��� ( ��+�� �21� 5 �)6*/�2 5$�" ���,1 26*�1 )���(/� >�� ���$��� �����(� �':�� ��9��(�� (��9�����6� $��6��11(�����(/ ��'2� ( $�(�*�8��(/ "�26(4 �$���'������2+"��(/# �� ��,� )�8�� 2- ��"(��*5�� � *(8�- �/ � � ���� (9$�� ����2+"��(/ � $��0�"2���1 $��6��11(�����((�

>�8�� ��+� *(A5 ��1��6(� ( �����( �*5�� 1�*�",� 1� �1� (98���(� ���(( ��(�� (�����, �� ����2+"��(/ � ��1(��4 ��!����"#� �� � ��1(��4 ��������"# ��� ? � �*�"2� () �$, � ()28��(/ 1�9 �1� (8����6� ���*()� � '�*5A(�� �� 2�(����( � ��# � �1 8(�*�# ( �4�(8����6� (*( ��1$5- ����6� $���(*/� � ��+�*��(-# $��6��11(9� 2 ���51� ��"�� 2"�� �/ $���*2A� 5 2�(����( � ��(3 �2��# )��*�",9��-.(3 �����, 1� �1� (8����6� 1,A*��(/ � ��1(��4 �':�� ��� *28A�1 �*28�� "�*� �6���(8(��� �/ ���'.��(�1 8(� � 1� �1� (8�9��(4 ��)2*5 � ��# �� ��,� �� ��9 � $��� � $��*�1( 5 �� $��� (8�9���� $��6��11(�����(� '�) ()��� ��3 ���� (8����3 (��2A����� (�

������ ������� � �������

@��6��11(�����(� � ��1(��4 �':�� �� ��'2� ��)"��(/ ( $�""��9+��(/ ��'� �����3 1� �1� (8����3 �2*5 2�,# "�-.�3 ���5 �$�� �� (12*(�2-.(4 ("�3� @��6��11(� $�( ��A��(( �$�*�� ������ ��3)�"�8( � ����( �/ (��*�"��� �*�1# � �� ���6� ��'2� �/ ��)"��(���'� �����6� /),�� �� ���(1( ��)1�+��� /1(� g ( ��)1�+��� ( �����6"� (� 2( (��� �8��("�,# ( 1�62 $� ��'��� 5�/ 8(� � 1� �1�9 (8���(� �0���( (4 �,��)( �*5�,4 ��)1�+��� �3� ���1� �6�# 8�� � ��'2� �/ �� $��� � ��$(�� 5 ���� ��,3 $��6��11�,3 ��"# �� ( �,9$�*�( 5 �6� �$ (1()�0(-# �� ��// ���3� �� ?��(��*�� ��� ( (�4�"9��12 ��"2� �� ? � ��'2� �/ "*/ ���2�� ��6� ( $������(���*5��6�

Page 16: Конструкции языков программирования. Приемы описания: Монография

2 A�7����$�

$����"��(/ ��)��'� �( ����3 ��'� �����3 1� �1� (8����3 �'�*�89�(�# � �� ���3 $�""��+(��- �/ ��� )��8(1,� ( (� �����,� 1� �1�9 (8���(� $�(*�+��(/�

��������� !�������������

�"�2 () ��1,4 '�*5A(4 �$����� �3 "*/ 2�$�A�,4 (��*�"����(3 �� �*5�� � �'*�� ( $��6��11(�����(/# �� ( � bTcYVWFN LbDFZbF � 0�*�1��/)��� � 8��)1����3 ���$��� �������� 5- ( ��)���'��)(�1 /),���$��6��11(�����(/# � ��+� � (4 #��$�����% �����#� ��% $�#�&�� ���� ;����1����� �'.�� �� 2�*�8��� ��1$5- ��()�0(�3 �� ���41,�*(1,4 �'*�� /4 "�/ �*5��� (� JTcYVWFN LbDFZbF ( (����1�0(��9�,� �4��*�6(( ��4�"/ �/ � 0�� �� ��(1��(/# ���'���� � (4 ��$�� ,#�� ��,� 1�62 ��3 ( ��$����"� ������ ��11��8����� $�(1����(�# (� $���2- �8���"5 �-"� � ���/ �/ /),�( $��6��11(�����(/� >������(1��(� (1�� ( �'��� �2- � ����2# $����*5�2 )�8�� 2- ��� 1�+� (" ( �� ���" �2�"�1�� �*5��� (# 6*2'(�� ( ��8�� �2 (��*�"����(/���26�3 ��$�� ��� �( � �1# 8 � $� 1��� ����� ��(/ (� ���(���� ((��*�"��� �*5��(4 ��'� ( $�(1����(/ (4 ��)2*5 � �� ��� � ( � ��19*��(� ��4���( 5 (4 ��)2*5 � � ����� �� g � ��"��0(/ ��'*-"�� �/"�+� � ���"�1(8����3 ���"�# 4� / (1���� )"��5 6*���,1 ��( ��(�1��28��3 $��"2� (���� ( /�*/� �/ �$2'*(�����(� ��)2*5 � ���

0�*�1 "��*��(� ��11��0(( ��)��� �� # � �*���/ ��(1��(� (��*�9"��� �*�3 � $�(��� $�(�0($(�*5�� ���,4 $2 �3 ( $�"4�"�� � ?��$*29� �0(( ��2.(4 ("�3 $� $�(�0($2 ��'�*5A�6� $�(��.��(/ ( 2*28A�9�(/ % O"�*5 � hP� 1�� � � �1 "*/ $��6��11(�����(/ 4���� ����%� � *(8(� � �4�(�( % )��8( �*5��� �����.��(� $2 ( � �2�"�1��9 �*5��6� (��*�"����(/ � $���$�� (���3 ��)��'� �� ( $�(1����(-���*� �.� ( � �1# 8 � /),�( $��6��11(�����(/% ��('�*�� $��"�(9�2 ,3 � ���� (8����1 � ��A��(( ��)"�* bTcYVWFN LbDFZbF�

<��1�*()�0(/ /�*/� �/ ��� :�1*�1�3 8�� 5- *-'�6� $��"�(+�9�(/ � �'*�� ( $��6��11(�����(/� �� �1� (8���(3 �$$��� )"��5 (�9$�*5)���*�/# ��8(��/ � ��1,4 $���,4 A�6��# � $�/�*��(/ ��1,4 $��9�,4 /),��� $��6��11(�����(/� �1���� � ? �3 �'*�� ( ��"(0(����/1� �1� (�� (�$, ,��� )��8( �*5�,� �2"��� (# � (12*(�2/ ��� (��*�"����(3 � �'*�� ( 1� �1� �1� (�(# ����-.(4�/ ��1�3 $�(��",���1�*()�0((� � $�8�12 �12# � � ��'� �� � �'*�� ( $��6��11(9�����(/ *('� $��� � ���1/ � ���1��( $(A� $��6��11,# $�(4�"( �/

Page 17: Конструкции языков программирования. Приемы описания: Монография

A�7����$� �

�*�"� 5 ����3A(1( 1� �"�1( ���1�*()�0(( ( $�� �/��� $�$�*�/ 5���( )���(/�

" ��� #�� ��

@� ����3 � �2� 2�� ��(6� ��� �( () ��4 8�� �3� ��)"�*�4 �i�()*�6�- �/ ��8�*5�,� ���"��(/ � 1�"�*( �,8(�*��(3 ( $�(��"( �/1�"�*5 �,8(�*��(3 � ���1� $� ����,4 "(�6��11� ��)"�*�4 �i���� $�(1���4 $�(��"( �/ )�1��2 �� ()*�+��(� ���'����� �3 ��)*(89�,4 ���� �2�0(3 /),���� ��)"�*� �� ()*�+��, $�(�1, �$(���(/���� �2�0(3 /),��� �2��0(���*5��6� ($��

��)"�*� ���/� ��0�����1 ��"��+� �/ ��1,� ��8�*5�,�$��/ (/# ���'4�"(1,� "*/ $��(1��(/ ���4 "�*5��3A(4 ���� �2�0(3#�� ��,� ���*���- �/ � $���� � �'*�� ( $��6��11(�����(/� ��12� ����*(��� �/ ������ "*/ �("��(/ ������,4 0�*�3 ( )�"�8# ��/)��9�,4 � 2�$�A�,1 �,$�*���(�1 $���� �� 7"��5 2� ����*(��- �/ � �2�9 2��,� ��8�*� "*/ ��6��()�0(( ( 2�$�A��6� �,$�*���(/ ��'� �

��)"�*� � ��������� /�������� $��"� ��*��� ("��*()�0(/#�� ���/ �4�� ,��� ������,� O� ��( �*5�,� '*��(P� �) �(4 ���� �29(�2� �/ O���"�P# � 2�*��(/4 �� ���3 $��(�4�"( O$�� ����(� (����91�0((P� g ( � ��( �*5�,� '*��(# ��� ���+� �/# ���$�"�- �/ �� "���*����� �"(� () �(4# ��� '2"� /���# 1�+�� 6���(8���( ()�'��)( 5"(�6��11�1(# � �� 5 ?*�1�� �1(# ���*�6(8�,1( �1# () �� ��,4� ��( �/ � �2� 2���/ �4�1� $��6��11,# � �� 5 $� �����/ "(�6��191�# � "�26(� ��(1 �$���'�1 $��"� ��( 5 �� 2"�� �/� ; "�26�3 � ���9�, �1�� � 6���(8����6� /),�� $� ����,4 "(�6��11 1�+�� (�$�*59)��� 5 1� �1� (8���(3 /),�% /),� $�*�,4 ��A� ��# ���"� ��1( ��9 ���6� ?*�1�� , 1�62 ��)*(8� 5�/ ( "�*���

����8��1 �8� � 0�*5- /�*/� �/ $�� ����(� 1�"�*( $��6��11,(*( "�+� 1�"�*( �,8(�*��(3# $��(�4�"/.(4 � $��6��11�# % � �8�()���(/ $�� ���-.�3 � $��6��11� (����1�0((� ;*�"��� �*5��# 0�9*5- ��� �/.�6� ��)"�*� /�*/� �/ �$(���(� 1�"�*(# /�*/-.�3�/ ��9�(�3 �,8(�*��(3 ( $��/�*/-.�3 $�*�)�,� 1� �1� (8���(� ���3� ���

��)"�*� � ������ �������/�������1 ��������� /� ���/�� ��0�����1 $�(��"( �/ $�(1�� $�� ����(/ ��$����"� �����3��1�� (�(# �� ��,3 ���( 8(� � (**-� �� (��,3 4���� ��� �*/ ? �96� � �'���, ��('�*�� 8�� � (�$�*5)2�1,� ���� �2�0((# ���*()2-.(�

Page 18: Конструкции языков программирования. Приемы описания: Монография

= A�7����$�

2�*����� �,��+��(�# �"(� () ���(�� �� 0(�*� ( � $� 0�*�1 ��4��9���� ��� �� � �(� �4�1� $�� ����(/ �� j��"����

��)"�* � ��5�/��� ������� � � ����0����6 ������ ��0������1 ��"��+( �$����8�,3 1� ��(�*# ����-.(3�/ ���'4�"(1�6� (1(�(1�*5��6� )�$��� 1� �1� (8���(4 $��/ (3# �� ��,1 �*�"2� �*�9"� 5 $��6��11(� 2� �������3 ��26 ��$����� �*�"2-.(3� �9$���,4#$�(��"( �/ ?*�1�� ����� ()*�+��(� $�� ����(/ �'� ��� ��6� �(� ��9�(��� �9� ��,4# ��):/��/� �/ ���'4�"(1�� 5 (�$�*5)����(/ $��/ (/"�1���� �1�� � 1��+�� �# 8 � ��� �� � �2� "242 ���(( �,8(�*��(3� 9 �� 5(4# ����1� �(��- �/ ��)*(8�,� ���(�� , "�1���� ( �$���',(4 $�� ����(/� 98� ��� ,4# �'�2+"�� �/ $��/ (� �2��0((# ���'4�9"(1�� $��6��11(� 2# ���'���� � ��/)( � $���� (�����(�1 /),�� $��96��11(�����(/�

��)"�* =������ /�����$������� �������� /� ��/�� ���0�����1 ��"��+( ����$�� (���� ()*�+��(� ��1�� (�( $�(1���/),��# � 4�"� �� ���6� ���"/ �/ ��$�1�6� �*5�,� �2��0((� ��$�*59)����(� ? (4 1� �1� (8���(4 ���"� � "�� ��)1�+��� 5 $�� ����(/���51� ��1$�� ��3 ��1�� (�(# $�(8�1 � � +� ��1�� ���1/ ��4���/9� �/ �,����/ � �$��5 8( ��1�� ( ��1�� (8���(4 $��"*�+��(3�

��)"�* & 8���/������ ��������� �4�� ,��� ���"� �� ��)��9'� �( ��1�� (�( ���*5�,4 /),���# ��6"� ��� $�(�'�� �� �$�0(�*59�,3 �("# � ��1��4 �� ���6� 28( ,��- �/ ��� ��)�(��-.(� �,8(�*(9 �*5�,� ?���� ,� ? �1 �*28�� 2$��.���,� 1� �1� (8���(� ("��9*()�0(( $�"���6�- �/ 2�����A��� �����(/1�

aDd ��$�*5)����(� $��/ (/ O��� �/�(�P $�(�(1�� ���12 ��$�/1�6�(�$�*5)����(/ a� � *(8(� � '�)��,4 1� �1� (8���(4 1�"�*�3#(�$�*5)2�1,4 "*/ $�� ����(/ ��1�� (�d� @�( ? �1 ���"( �/ O$��9"�*+��(�P# �� ���� $�)��*/� �'��'� ,�� 5 �$���0(( $���4�"���H�$�1�(1# 8 � ? ( �$���0(( O$����*-8�- P $�� ����(� (����91�0(( � $��6��11�# ���2A�/ O�� �� ����,3 4�" �,8(�*��(3P�

aDDd ;�/),���(� ("�� (�(�� ���� � (4 )��8��(/1( � ����( �/ "�249? �$�,1� ;��8�*� ("�� (�(�� ��, � �'��+�- �/ �� O$���1��9�,�P# )� �1 O$���1���,�P � �'��+�- �/ �� )��8��(/� >���3 $�(�1$�)��*/� ���� ( ��)"�*��(�# (*( $���"��(1(-�

@��","2.(� �6���(8��(/# ���*�",���1,� �� ��1�� (�2# $�(�(1�- 9�/ 1��6(1( (��*�"��� �*/1(� ;�1�� (�2# ��"��+�.2- $��"�*+��(/( $��0�"2�2 "�24? �$��6� ��/),���(/ ("�� (�(�� ����# ��),��- � ��"�� ��3 ��1�� (��3� @��(12.�� ��1 � ��"�� ()�0(( ��1�� (9

Page 19: Конструкции языков программирования. Приемы описания: Монография

A�7����$� �

�( /�*/� �/ �'*�68��(� �������(/ ��)1�+��� �3 ��)*(8�,4 /),���� 1�� � � �1 �6���(8��(� �4�(8���(4 $�(�1�� 2�*��(/1( � ��"�� (9)�0(( 1�+� )� �2"�( 5 $��"� ��*��(� ������ ��6� /),�� $��6��191(�����(/� 8�� ��� (# O"(��1(8����� ��/),���(�P# $�(1��/�1�� �Qk_l# ��$�/12- �� 2�*�",��� �/ � "�24? �$�2- �4�12 ��/),���(/�

��)"�*� � ������ /�����$�����1 ��������� $�(��"�� $�(91�� $�� ����(/ "��� �0(����3 ��1�� (�(� m),� ��+� (6��� 8(� �(**-� �� (��2- ��*5� H� $�(1��� �6� ���� �2�0(3 $���)���# �����)��'� ,��� �/ � ��"�� ��/ ��1�� (�� a� $��"�*+��(/1(d� @�(9��"(1,3 $�(1�� /),�� 1�+� ', 5 $�*�)�� � ��8�� �� ���� ���6�/),��9/"��# �� ���� $� 1��� ���'4�"(1�� ( 1�+�� ���A(�/ 5�

��)"�*� G �5�/� � ����/�0� ��������� ����1� ��� ��9$��� $��"� ��*��(/ ��)*(8�,4 ���� �2�0(3# �� ��,� ()1��/- O$��9 ����(� (����1�0((P# (*( O$�� ����(� 2$���*��(/P� ; �8�( )���(/��1�� (�( $��(�4�"( (6���(�����(� ���1�*5��6� $��"�*+��(/# �2$���*��(� $���"�� �/ "�26�12 $��"�*+��(-� ���� �2�0((# �'��$�98(��-.(� ��2.�� �*��(� ? �6� ?���� �# ��),��- �/ ����������1(a"�*( �*/1(d�

��)"�* � �������/����� ���$�/�� � ����$�1 ��"��+( �'9�2+"��(� ��)*(8�,4 ���(�� �� (�$�*5)����(/ $��0�"2� ( �2��0(3�����1� �(���1,� �*28�( ���"/ �/ � �*�"2-.�12! a�d ��)*(8��� 8(�*�$���1� ���# a�d ��)1�+��� 5 ���2��((# a�d ��/),���(� ("�� (�(��9 ���� � ���"� � �*28��# ��6"� ("�� (�(�� ��, () �*� �� /�*/- �/���1�*5�,1( $���1� ��1(# a�d �6���(8��(/# ���*�",���1,� �� )��98��(� ��� (8���(4 $���1� ���# a=d �)��8(���(� �,��+��(3# )�"�-9.(4 ��� (8���(� $���1� �,�

��)"�*� �� 8�������� /����5 $��"� ��*��� �'�2+"��(� ��)91�+��� ( 2� ����*��(/ ( (�$�*5)����(/ 8� ,��4 �("�� � �2� 2�"���,4! ��,*�� a2��)� �*�3d# 1���(���# )�$(��3 ( ��3*��� � ��,*��(1�� �/ �"(�� �����/ ��1$���� �� ����(�, ( )�$(�( (1�- �����*59�� ��1$���� # $�(8�1 (4 8(�*� 2� ����*(��� �/ $�( �':/�*��(( ��9� �� � �2-.�3 � �2� 2�,� � ��3*�� "(��1(8���( ()1��/�1�� 8(�*���1$���� � ��� 2$ � ��1$���� �1 1���(��� �,$�*�/� �/ $� (�"���2#��$�(1��# ����� ��� 2$ � ��1$���� �1 )�$(��3 $��()��"( �/ ���*(9�(��0(�3 (1��# ��$�(1��# ������ ��� 2$ � ��1$���� �1 ��3*����6��()2� �/ $2 �1 $���1�.��(/ O����P �"�*5 ? �6� ��3*��

��)"�*� ��#�������$�� �����$�1 ����1� ���, ���� �2�0((( ��(�����(/ �,8(�*��(3 ��� � ���� �# ��� � ��� �� � ��� � � � � �� ��� �� �1�� � � ��� � # � ��+� ���� �2�0(- ��� � �� � �� ��

Page 20: Конструкции языков программирования. Приемы описания: Монография

�� A�7����$�

��)"�* �� 9��� ��"��+( �'�2+"��(� ���"� � ($()�0((� m���/ ($()�0(/ $���*�"2� �/" 0�*�3! �'*�68�� �/ 8( ��1�� 5 $��6��11#2*28A�� �/ ��)1�+��� ( (4 � *�"�(# � 8�� ��� ( ���� �(��(�2� 9�/ ��� �A('�� � ($� "� �,$�*���(/ $��6��11,# $��,A�� �/ ?����9 (���� 5 ���1$(*(�������6� ��"�# $����*5�2 �� ���1/ (�$�*���(/$��6��11, �� �2+�� �� ( 5 2�(*(/ �� $������2 ($���

��)"�*� ��:������ ����$�������� ����������������$���/.�� �$�0(�*5��12 $�"4�"2 � $��6��11(�����(-# �� ��,3# ����8( �� �/# ��('�*�� '*()�� ��� �� � �2� ���((� >��1(� O�2��0(�9��*5��/ $��6��11�P $��(1�� �/ ��� ��'�� �$��"�*��(3 �2��0(3# ��9 ��,� $� 1��� ���'4�"(1�� ( �,8(�*/- �/ ��1$5- ���1� �*/ ��A�9�(/ $�� ��*����3 )�"�8( $��6��11(� 2 $�(4�"( �/ ��)"��� 5 ��2-�2��0(-# �� ���/ ��� ��) ( �'��$�8(��� ? � ��A��(�� >��(1 �'��)�1�'��$�8(��� �/ $���(*�# ��/),��-.�� �4�" ( �,4�" $��6��11,� g ��2��0(/ 1�+� ��)�(��2 5 ��� ��1'(��0(/ "�26(4 '�*�� $��� ,4(*( "�+� $�(1( (��,4 �2��0(3# � �1 8(�*� �$��"�*���,4 ��1(1$�*5)��� �*�1�

�� !���$������� ���

H�� �/.�/ ��(6� ��"��+( �(��"0� 5 ��)"�*��# � �� ��,4 $��*�"�9�� �*5�� ()*�6�� �/ ($(8�,3 $���� $�� ����(/ ���� ���6� ��'�*59A�6� /),�� $��6��11(�����(/ $�(1���� � �3 $��*�"��� �*5��� (#� �� ���3 ? � �,$�*�/� �/ � ���*5��1 $���� �� @��"$�*�6�� �/# 8 �*-'�12 () 8( � �*�3 �*�"2� $���1� �� 5 $���,� �( ��)"�*� ��(6("*/ ��*�"��(/ ������1( $���� (�����(/ /),�� $��6��11(�����(/�

H��� ��,� () 8( � �*�3 1�62 $��"$�8�� 5 ()28( 5 ��(62 � ��8�9*� "� ���0�# �"���� �� ���'4�"(1�� ( $�("��+(�� 5�/ ����6�9*('�$��"�$��"�*����6� $��/"��# � (�$�*5)��� 5 �� "*/ �$����( $� 1������'4�"(1�� ( ��*-8��(/ � $���� �4 (*( (�,4 �,8(�*( �*5�,4���� �2�0(3�

�� �����%�� !� ������&

e�*( ��(6� (�$�*5)2� �/ � ���"�1(8���(4 0�*/4 "*/ ()*�+��(/ (*(()28��(/ "����6� $��"1� �# � ��('�*�� ?���� (��� �� 1�+�� (�9$�*5)��� 5 � �2���4 ��1$5- ���,4 ��2�# (����1�0(���,4 �4��*�9

Page 21: Конструкции языков программирования. Приемы описания: Монография

A�7����$� ��

6(3 ( $��6��11(�����(/� ���1 �2��� ��0�� (�2� �/ ��$�� �)��98(���(/ (�$�*5)2�1�3 ���� �2�0((# �� ��,3 ��('�*�� '*()�� ��� 9�� � �2� ���*5��3 $��� (�� "�� (+��(/ 0�*�3 $���� � /),�� $��96��11(�����(/� �2���4 ��1$5- ���,4 ��2� ( $��6��11(�����(/��(6� 1�+� ()28� 5�/ � $��*�"��� �*5��� ( � ��8�*� "� ���0��

�2���4 +� (����1�0(���,4 �4��*�6(3 ��)"�*, �# �# � ( ��$��"� ��*/- ��('�*5A(3 (� ����� �*28�� "�� � �8��6� 2����/$�"6� ���( )��(1�-.(4�/# ��( 1�62 "�$�*�( �*5�� ()28( 5 ��)9"�*, &# � ( ��� � 1��6(4 28�'�,4 )���"��(/4 $����"/ �/ )��/ (/�� �*2A� �*/1(# �$�0(�*()(�2-.(1(�/ � �'*�� ( (����1�0(���,4 �4��*�6(3� ? �1 �*28�� ��(6� �$�*�� $�"4�"( "*/ ��6��()�0(()��/ (3 ( 1�+� ', 5 ()28��� � ��8�*� "� ���0��

"'�� �

��(6� ���6� ��"� �� 1�+� ', 5 �����A���� ���'�"�� � �A('��� �*28�� �'���2+��(/ �A('�( (*( � �*28��# ��6"� 2 ��� �� 5 $��"*�9+��(/ $� �� (�$���*��(- �� �� '2"� ��" 2)�� 5 �' ? �1� �*28��#��*( 2 ��� $�/�/ �/ ���,� )�"�8( ( 2$��+���(/# �� �� '2"� ���'������" 2)�� 5 �' ? �1# �� ��*( �, )�4� ( � (4 $�(�*� 5# �# $�+�*23� �#$�(�,*�3 � (4 � ��A��(/1(# ���$�*5)����A(�5 �"����1 ?*�� �����3$�8 ,! SFBncLVDbF�cLo�NV�

(����������

�������// $�()�� �*5��� 5 �,��+�� �/ ��;� �2)(8��2# �'�� (�A�912 1�� ��(1��(� �� ��+��� 5 ()28��(/ ( $�(1����(/ (�8(�*��(3�':�� ��# � ��+� �'9�(� �1 ( ��1'(�� ���� $�*�,4 �(� �1� �8�� (�� ��'� � �2����"(1,4 (1 �$�0�2���� $� ���*���(8���(1 *�6(��1 ���9)�*� � (12*(�2-.�� �*(/�(��

H� ��8�*5�,4 ? �$�4# ��6"� �$��"�*/*�/ ��26 ()*�6��1,4 1�9 �"��# ���0��(12- $�1�.5 ���)�*� $*�"� ������ �� �2"�(8�� �� ���<� ;�����(1# �� ���12 �� �� (������� $�()�� �*��� ;��1�� �� ��(1 $����'� �� �/" ��$�����# � ���/.(4�/ � �,8(�*��(/1 �� �'9� ��� �,4 1�A(��4�

j*2'���/ '*�6�"����� 5 �,��+�� �/ �� j� @�� �*���2# $��"�� �9�(�A�12 ���*()�����,3 (1 QDLY9(� ��$�� � ��# ( ��):/��(�A�12

Page 22: Конструкции языков программирования. Приемы описания: Монография

�� A�7����$�

1��+�� �� "� �*�3# ����-.(4�/ ���*()�0(( �':�� �,4 ( �2��0(�9��*5�,4 /),���# � ��+� $2 �3 ( 1� �"�� (4 ?���� (���6� (�$�*59)����(/� e6� $���)( �*5��/ 6*2'(�� $���(������(/ � 1� �", ���*(9)�0(( �$���0(3 ��/),���(/ $���1���,4# � �2� 2� "���,4# $��0�"2�#�2��0(3 ( 1�4��()1�� ���2��(( � (12*(����*� ���4 �4# � � � �(1��$�(����*�/ � �'*�� ( $��6��11(�����(/� e6� 6*2'���/ (� 2(0(/$������(���*5��6� �(� �1��6� $��6��11(� � �� ��) $�1�6�*� ��3 (����,� ��A��(/ ( $�� ��( 5 ?���� (��2- ���*()�0(- $��6��11,�

; (12*(�2-.�� �*(/�(� �� �����1 ? �$� ��'� , ��" 1� ��(�*�1��(6( ���)�* g��� j�*� /�� >�2"�� $����0��( 5 �6� ��6��()�0(���,�2�(*(/# '*�6�"��/ �� ��,4 � �*� ��)1�+��3 ��'� � ��28��6� ��1(��9�� $� (�8(�*��(/1 �,�A(4 $��/"��� ( �(1��*5�,1 �,8(�*��(/1% ��'*�� ( (�8(�*��(3 �2��0(3 ( (4 $�(*�+��(3 � bTcYVWFN LbDFZbF ($��6��11(�����(-�

�� �� $�()�� �*�� ���1# � � $�(�(1�* 28�� (� � $�"6� ���� ? �3��(6(� $���2- �8���"5 ? � � ���( �/ � 8( � �*/1 $����6� $��9$�(� ��6� ()"��(/ �����.����6� ���(�� �# �� ��,� $�"�*(*(�5 ���9(1( )�1�8��(/1(# � ��+� ���'.(*( �' �A('��4 ( 2"�8�,4 1�� �4����+�� �� ��(4 $��"*�+��(3 � ��+��� � ��(6�# � �*2A� �*( �2���$� /),��1 $��6��11(�����(/ ;� ��,)6�*��# e� @(��������# ;� 7,���#�� @������� $��"�*�*( '�*5A2- ��'� 2 $� $�"6� ���� ( $�������0�*�6� �/"� $�(1���� () ��)"�*� ���

;$�0(�*5��/ '*�6�"����� 5 �� I2�5�# e� @� �(�����3# �� H(��9*�����# �� �������2# $��"�*��A(1 6��1�"�2- ��'� 2 $� ��)'��2 ��9A��(3 '�*5A�6� 8(�*� $�(1����# )�"�8 ( 2$��+���(3 ( ����A(4 �/"0���,4 $��"*�+��(3� �� ? ( $�+�*��(/ 28 ��, � ��� �/.�3 ��'� ��

m 4� �* ', �,��)( 5 '*�6�"����� 5 ���1 ��**�6�1# �� �2"�(��1#28�� �(��1 ��28�,4 ��1(�����# �*2A� �*/1 28�'�,4 �2���� ( � 29"�� �1# �� ��,� ����*( 0�*,3 �/" $��"*�+��(3 $� 2*28A��(- ()*�9+��(/ � "�*5�,4 ��$�����# ��/)���,4 � �'� ��� �,1( 1�A(��1(�

m 4� �* ', $�'*�6�"��( 5 ��"�� ���� ���(( ��1$5- ���,� ��92�( ( (����1�0(���,� �4��*�6((� )� � ��(1��(�# �� ���� ',*�2"�*��� 1��3 ��'� �# � ��+� 1�(4 ��**�6 () ��� ( 2 � �� 2�*5��6��'��)����(/ �������9�j��# $�""��+(���A(4 1��/ �� ���4 ? �$�4��'� , ��" ��� �/.(1 ()"��(�1�

�' (� �"������ )**+ ��� ,'-' ,����������

Page 23: Конструкции языков программирования. Приемы описания: Монография

��������

@�"4�"�� ( � (*�3 $��6��11(�����(/ 1��6�# ( ? � � ��+�� ��� (�2�����A��� �����(/ ( ���$��� �����(/ ��� ���,4 ( ���,4 ��1$5- ��9�,4 ��4( �� 2�� �)�(��-.(� ��4( �� 2�, ��(�� (�����, �� ���,�$�"4�", � $��6��11(�����(-# �� ��,� �.� �*5�� )���+"�- �/ �(��*�"��� �*5��(4 *�'��� ��(/4�

H���3A(� $���"(61, $��6��11(�����(/ � �(*5��3 � �$��( �,9���*( () 1� �1� (8����6� �$���'� ����2+"��(3# $�(�/ �6� � ������"�#� ����%� 8�� ��� (# �"��3 () �� ��8�*5�,4 $��,*�� ',*� ���90�$0(/ $�� ����(/ (����1�0((� �"�*5 ���� ���6� ��)1�+��6�� �29�*�# 8 � $�(��*� � ��)�(������(- ���51� $*�"� �����3 ���0�$0(($��6��11,# 2$���*/�1�3 $� ���1 "���,4� ��26�3 $�(1�� ��/)�� �("��3 (�$�*5)����(/ ���� ���3 8�� ( ��1'(�� ����3 *�6(�(# $�� ��9(� � ��3 �$�0(�*5�,� �':�� ,9(�� �2�0((� g ( �':�� , �'��)2- �(9� �12 ��1��" � ������% �.���# �� ���/ 1�+� ', 5 � 2�$�4�1$�*�+��� � �����2 �$�*�� $��� (8���(4 a�� �':�� ��9��(�� (�����9�,4d �(� �1 $��6��11(�����(/�

�)1�+��� 5 $�(1����(/ ��26� ("�3 *�6(8���(4 ���(3 ( (4 $�9������ �� �'*�� 5 $��6��11(�����(/ $�)��*(*( �2.�� ����� 2*289A( 5 ������������� $��(1��(� /),��� $��6��11(�����(/ ( ���9'����� �3 $�(1����(/ (4 ���� �2�0(3� 1�� � � �1 4���A� ()��� ���*�+��� 5 �,��'� �( �8��6� $��"� ��*��(/ � /),�� ( �6� �,8(�*(9 �*5�,4 ��)1�+��� /4� �$, ��'� � ? �3 �'*�� ( $���),��� # 8 ���/��� $��"�(+��(� �� ? �1 $2 ( ���),��� �/ �����)��8�,1 �4��*�96(8����12 $���,�2 (*( "�+� �4��*�6(8����3 ����*-0((% � $���2-�8���"5 ��/)����3 � 2� ����*��(�1 ����6� $��(1��(/ ��*( ( 1�� ���1$5- ��� � �,���� �4��*�6(8��1 a( ��1$5- ��()������1d �'.�9� ��� �"����# ��� ( �*�"���*� �+("� 5# $��'*�1� ��1�� (�( �,8(�*�9�(3 �� �*��5 ( $�4�+� ��4���(*��5 �� �*5�� � (�4�"��1 �':�1�# �� (

��

�����

Page 24: Конструкции языков программирования. Приемы описания: Монография

�< �$7�

���A(�(�A(�5 �� �'*�� 5 � ��, ,4 �(� �1 ( Mk_ aMFp kZUTNcKWDTZ_qLWFcLd�

�1�� �/ 1��+�� �� $�(1����# ���(1 �'��)�1 �$(�,��� �/ �,8(�9*��(� ���� �2�0(3 /),��� $��6��11(�����(/# �"���� ��� �.� �� $�9*28��, � �� , �� 0�*,3 �/" ��$�����# ���"( �� ��,4 �� ��8�- �/�*�"2-.(�! 8 � ���� �,8(�*( �*5��/ 1�A(��r 8 � ���� O$��0����,8(�*��(/Pr �����*5�� 4���A� �,8(�*( �*5��/ 1�A(�� 1�"�*(�29� $��0��� �,8(�*��(/r ��� ()��� ��# $��6��11, �4�"/ � �$(���(�$��0����� �,8(�*��(/� ��$�4( ���(( �� �1� �� �1�6*( $� '�*5A�38�� ( $��/��( 5 �*6�'��(8���(� ��$�� , �,8(�*��(3 ( $� $��(12.�9� �2 � ����8�,1 8(�*�1 ��� �/�(3� @��(1��(� ���3� � "�3� �( �*5���*�+�,4 $��6��11# ��$�(1��# ���*()2-.(4 ���$��"�*���,� �,8(�9*��(/ (*( ��'� �-.(4 � 2�*��(/4 � ��, ,4 (����1�0(���,4 �(9� �1# ��'2� �2.�� �����6� (��*�"����(/ ���3� � '������8�,4 �':9�� ��# $�(8�1 �2.�� ����� $��"$�*�6�� (�$�*5)����(� �����*5�(42�����3 �':/����(3 % � ()��8�*5��3 $��"1� ��3 ("�( �$*� 5 "�$�""��+(��-.�3 �'� ��� ��3 1�A(�, ( ����8� �*5��6� 1�"�*(��9���(/ �� ��1$5- ��� ������ ��6� ($� � 2�*��(/4 ������ �� �,'���9��3 �(� �1, $��6��11(�����(/�

� ��� �/.�12 ���1��( $���'*�"�-.�� ���$��� �����(� $�*28(*(�����1�*5�,� $�(�1, �$(���(/ /),��� $��6��11(�����(/� ? �1�*28�� ��(6�# ()*�6�-.�/ ���� �$(���(�# $��"$�*�6�� �/ $� ��0(9�*5�� "�� 2$��3 1���(1�*5�� A(����12 ��262 8( � �*�3� � ��+�9*��(-# ? � $� ��0(�*5��/ A(�� � "�*��� �� ���6"� ���*()2� �/# $�9���*5�2# ��$�(1��# "�� � �8�� (��2A���,� 8( � �*( '2"2 $��"$�8(9 � 5 '�*�� ��� �(� ( ���0�$ 2�*5�,� �2����"� ��# � 1��5A(1( ���"9��)��8��� /1( ()*�6�-.(� ��('�*�� �2.�� ����,� ("�( ( $��� � $�9��),��-.(�# � ����1 +� ��$���*��(( �*�"2� ��'� � 5 "�*5A��

���- �8���"5# ���1�*5�,� �$(���(/ /),��� $��6��11(�����(/���1/ � ���1��( ��)�(��- � (��*�"��� �*5��(4 � � 5/4# �"���� $�9��� �/.�12 A(����6� ���$��� �����(/ ��( �� $�*28(*(� �"�� ()�':/����(3 )��*-8�� �/ � � �2 � �(( )����A����6� ( �1�� � � �1(� 2( (��� /���6� 1� �"� �$(���(/� 7�8�� 2- (1�-.(��/ ���1�*(9)�0(( � *(8�- �/ 8��)1����3 �*�+��� 5-# ()�'(*2- )�$2 ���,1("� �*/1(# ( "*/ ����6� ��*�"��(/ ��'2- $�(� (�� ����"(����,42�(*(3� 1�� � � �1 ��"�+�,� ( 2"�'�,� ���1�*()�0(( ���'4�"(91, ( ��+�, "*/ ��)��'� �(# ��)�( (/ ( � ��"�� ()�0(( /),��� $��96��11(�����(/�

Page 25: Конструкции языков программирования. Приемы описания: Монография

�$7� �0

@�( �,��'� �� ��� ��� /),��� $��6��11(�����(/ ��)�(�*� ��9���*5�� ��"��0(3� ��� �� � �(( � ��� ������"��% �8��3 )���(//),� �$��"�*/� �/ �1 "�3� �(�1# �� ���� �� ���),��� �� ��1$5-9 ��� @����*5�2 ��$����"� ������ �*�"����(� ? �3 ���0�$0(( $�(��9"( � �,����3 �*�+��� ( $��0�"2� ����*/0(( a$�����"�d# � � ��98�� �� ��1$��1(��� 1�� � ���*5��6� ��1$5- ��� )��(1�� �6� 1�9 �1� (8����� $��"� ��*��(� % ("��*()�0(/ (*( "�#� �������� ��&����# % ��),���1�� O�'� ��� ��3 1�A(��3P� @��"$�*�6�� �/# 8 � �9��/ 1�A(�� 4���A� � ��+�� ������,� ��)1�+��� ( ���*5��6� ��19$5- ���# �"���� (1�� �4�(8���(� $��(12.�� �� $��� � , ( (�9 2( (���3 /���� ( �$(���(/ ( $��"� ��*��(/ �,8(�*( �*5��6� $��90����� ;��"( � �����(��� ? �6� $�"4�"� ��1�*� (��*�"��� �*�3# 2�(9*(/1( �� ��,4 ����1(�����, �����1���,� $��"� ��*��(/ � /),��4$��6��11(�����(/# ��(4 ��� ������ ( as� ]bJKNWCq# t==ud# I��"(�al� QKZvDZ# t=�uit=�ud# ; ��38( aJ� _WNKbCFq# tG�ud ( 0�*,3 �/" "�296(4� >��# (�4�"/ () $�"�'�,4 $��"� ��*��(3# ��j� @�� �*���,1 ',*$�� ���� ?���� (��,3 QDLY9(� ��$�� � �� t�u# t�u�

@�( ����� ������"��� $�"4�"� ���12*(�2- �/ 2 ���+"��(/ �'�'.(4 ���3� ��4 $��6��11# () �� ��,4 $� ��0(�*5�� 1�+�� �,��� (2 ���+"��(� �' �$��"�*���,4 ���3� ��4 ���� ���3 ������ �� ��$(9�����3 $��6��11,� 8�� ��� (# ��2- �8�2 )���(/ � � �(��* w���aJ�x�R� yTKNF# t�=u ( ���� ��,� "�26(��

H� $��� (��# ��� ( �*�"���*� �+("� 5# '�*5A(�� �� $��"*�+��(3$� ���1�*5��12 �$(���(- /),��� $��6��11(�����(/ ��*-8�� ������� �2� (��,�# �� ( ������ �2� (��,� ��$�� ,� �',8�� (4 $�(1�9���(� $��/�*/� ��'/ � *28A�3 � ����, �� �$�0(�*5�� $�"�'����,4$�(1���4 ��'�*5A(4 /),���# � � ���1/ ��� "*/ '�*5A(4 /),��� �����8(��� �,6*/"� 5 )��8( �*5�� )�$2 ������

m),�( $��6��11(�����(/ �'*�"�- 4���A� ��)�( �3 �(� ���(98����3 ���1�*()�0(�3 ( �',8�� (�$�*5)2- �/ ��� (�� �21�� �,9/����(/# /�*/- �/ *( � (*( (�,� ��$���, *�6(8����6� 4���� ���$�(�0($(�*5�� �,8(�*(1,1(� 1�� � � �1 $�� ����(� ��1�� (8�9���3 ���(( /),��� ��� �.� "�*��� � )����A��(/�

�',8��/ �8�� )���(/ ��� �( � �1# 8 �',# $�*5)2/�5 ���� �2�90(/1( /),�� $��6��11(�����(/# ����1(���� 5 +�*��1,3 O$� �� �,98(�*��(3P� @��(�"(8���( "*/ ��)��'� �( �3 (*( (��3 $��'*�1, ��)9�(��� ���'4�"(1�� 5 $����*-8� 5� �,8(�*��(/� g � �� �)��8�� ��9$���( 5 (4 � ���� ���� "�26�� �2�*�� H� ��1�1 "�*� $��"$�*�6�� �/#

Page 26: Конструкции языков программирования. Приемы описания: Монография

�2 �$7�

8 � � +� ��1�� �,8(�*��(� $��"�*+�� �/# �"���� 1�"(�(0(�2� �/���"� �6� �,$�*���(/�

>���/ ("�/ $��(�"(8���( ���),��� �/ $*�"� �����3 ( "�3� �(9 �*5�� $�(��"( � ���,1 � (12*�1� >�1 �� 1���� ��26 ("�3# ��$2 9� �2-.(3 ���6� ��"� (��*�"����(/1# � ���/ � ������� "�#� ��&��%� ����8��# $�( �����A���� ��"(��*5��1 ()28��(( ��1�6� $���94�"��6� $��0���� "*/ �,8(�*��(3 � 1��/-.�3�/ ���"�3 $�(4�"( �/$�(1��/ 5 ( ��"(��*5�,� ���� (8���(� ���"� ��� X�� � $�(�(1�9- "�$2.��(� �' ()1��8(��� ( �4 �':�� ��# � �� ��,1( $�(4�"( �/(1� 5 "�*�� H� $��� (��# ���$�*�6�/ (*( �� ���$�*�6�/ ���� (8�9��(1 ������*�1# "�3� �2- ��)*(8�,1( �$���'�1(# �� �'/)� �*5��$�(�(1�/ $�*/��,� �)�(1�(��*-8�-.(� ��A��(/# �� ( �)�(1�"�$�*9�( �*5�,��

8�� ��� (# 1�+�� $��� � � ��8�� �� � $�����3 �8�( ()'�� 5 $�9 ��'��� ( $��6��11(�����(/ ()�2 �(�# � 1�+��# � $���*//�5 ���9�2+(�# )��/ 5�/ (��*�"����(�1 $��"1� ��3 �'*�� (# $�� �$���� $�"94�"/ � �� $��"� ��*��(- � �("�# $�(�1*�1�1 "*/ $��6��11(� ��

��� $���(*�# ��'2- �/ �$(���(/# ( ���'4�"(1�� 5 (4 $�� �/�9��6� �����A��� �����(/ �.2.�� �/# $��� (8���(# �� ���4 (��*�"���9�(/4� ��6"� $, �- �/ 2� ���( 5 � ���� �$���,� "� �*(# ��$2 � �29-.(� ���*()2 $��0���� �,8(�*��(/# � �� �- �/ � $��"� ��*��(�1�' �'� ���0(( �,8(�*��(/� g*�1�� ���,� 8�� (0,�# 28�� �2-.(� ��,8(�*��((# () �� ��,4 � ("��*� 1�+�� ��� ��( 5 ���*5 26�"�� �'9A(��,� '*��( (*( 1�����,# ��� �.� �� ��/- $�(�*��� �*5��� ( �6*�)�4 ���� (��� ( $��� (8���( ��'� �-.(4 $��6��11(� ��� �����9��3 ���� �2�0(�3# �� ���/ (�$�*5)2� �/ � *-'�3 $��6��11� ( � "�39� �( �*5�� $��()��*5�� �)/ �1 (��*�"����((# /�*/� �/ ��������

���*�"����(/ $��/�*��(/ ���3� � �2��0(���*5��� ( � ��)*(8�,42�*��(/4# $�4�+�# �*5�� ��8(��- ��)����8(�� 5�/ � $�*��3 1����H�8(��-.(3 ��'� 2 � �'*�� ( bTcYVWFN LbDFZbF � ��,��� "*/ ��9'/# ��� (8���(# '�)6���(8�,3 $��� �� 2+� (1�-.(4�/ ( (� ���(���$��"�*+�-.(4�/ ��'� �

�"�/ 1��/-.(4�/ �':�� �� ( �����2$��� �3 ���),��� �/ ��()1��9�� $*�"� �����3# ��('�*�� �,$2�*� $��/�*// ��'/ � "��� �0(����3��1�� (��� ��$�(�(1�/ "��� �0(���2- ��1�� (�2 ��� ���(�� �9��(( �,8(�*��(3 ( $�*5)2/�5 1� �1� (8����3 ("��3 $��"�*+��(/#2"�� �/ � ��( 5 /),�( $��6��11(�����(/ � 1�"(�(0(�2�1�3 ���"�3�,8(�*��(3�

Page 27: Конструкции языков программирования. Приемы описания: Монография

�� � ���� ����������

����/ ', �( ',*� $�� ������ )�"�8( �� $��6��11(�����(�# �� ��A�9�(�# ��� ()��� ��# /�*/� �/ $��6��11�3# ���*()2-.�3 2 (*( (�2-1�"�*5 �,8(�*��(3� A(����1 �1,�*� 1�"�*5 �,8(�*��(3 /�*/� �/$��"� ��*��(�1 ("�( � ����� ( ����.�� �/ ���1�*5�,1( /),���,91( ���"� ��1(# �(��(�2-.(1( ? � $��"� ��*��(�� @��� (8���(� 1�9"�*( *('� ��)*(8�- ��'� ����� $��6��11, ( �'��'� ,���1,� (1("���,�# *('� ��� $��6��11,# �� ( "���,� ��� 2- �/ �"(�,1 �'9��)�1�

w���A(1 $�(1���1 �$(���(/ ( ���*()�0(( 1�"�*( "���,4 /�*/9� �/# ��$�(1��# ����39*('� /),� $��6��11(�����(/� ��+",3 � "�*59�� �)/ ,3 /),� $��6��11(�����(/ �(��(�2� ���� ��2-% "�� � �89�� �'.2-# %1�"�*5 �,8(�*��(3� @�( ? �1 /),� (1�� �"��)��8���$��"�*���,3 ���� � # �$(�,��-.(3 ��� ��*/-.(� �6� $���(*5��$�� �����,� ���� �2�0((� ��):/����(/# ����-.(��/ "� �*�3 ��'� ,� "�*5�,4 ���� �2�0(3# �(��(�2- �/ � "�26�1 ���1�*5��1 /),��#��� ��*/-.�1 ������� /),�� $��6��11(�����(/�

? �1 ��)"�*� ��"��+� �/ ��1,� ��8�*5�,� $��/ (/# ���'4�"(91,� "*/ $��(1��(/ ��('�*�� 2$� ��'( �*5�,4 /),���,4 ���� �2�90(3# �� ��,� ���*���- �/ � $���� � �'*�� ( $��6��11(�����(/� ��1 2� ����*(��� �/ ������ "*/ �("��(/ ������,4 0�*�3 ( )�"�8#��/)���,4 � 2�$�A�,1 �,$�*���(�1 $���� �� 7"��5 2� ����*(��- �/� �2� 2��,� ��8�*� "*/ ��6��()�0(( ( 2�$�A��6� �,$�*���(/ ��'� �

)�) ��$������� ������ � �������

@����*5�2 ��)��� ��(� ��"(0(���,4 /),��� $��6��11(�����(/ ��$��� (�� "�� *(A5 ��)��8( �*5�,3 ��� �,��)( �*5�,4 ��)1�+��9� �3 ( �,8(�*( �*5��3 1�.��� (# � 1��5A(� ( '�*�� *����(8�,�

��

�����

Page 28: Конструкции языков программирования. Приемы описания: Монография

�= '�7�� $BC����D

/),�( ��$�"�'(� lKLbKE $��"�*+�- ��4���/ 5 $�$2*/���� 5� 1�9� � � �1 ��)�( (� 1� �"�*�6((# $�)��*/-.�3 � ��( 5 ����2+"��(/� $��6��11�4# �2+"�� �/ � )��8( �*5�� '�*5A�1 ��(1��((# 8�1 ? �"�*�� �/ "� �(4 $��� X��)1����/ $��� (8����/ )��8(1�� 5 /),���$��6��11(�����(/ (# ��� (8���(# � �*5��/ ��11��0(�*()�0(/ ���96�# ��/)����6� � $��6��11(�����(�1# ��)"�� '�*5A2- �2"��� 5 "*/*-',4 $�(�0($(�*5�,4 $��"�(+��(3 � $��(1��(� ��1�3 �2 ( �,8(�9*��(3# $��()��"(1,4 ��1$5- ���1# 8 �# �8��("��# ��'2� ��6��()�90(( ( �,$�*���(/ �2�"�1�� �*5�,4 (��*�"����(3�

��'� � ��" $��6��11�,1 $���� �1# ��� ()��� ��# $��"$�*�6�� ���51� �2"��1�2- $��"���( �*5�2- ��'� 2 $� 2� ����*��(- �$�0(9�(��0(3# �� ��,� )� �1 $��"� �( ���*()��� 5� X�1 ��2$��� $��9�� # �1 '�*5A�� 8(�*� �)�(1��*(/-.(4 ��� ���� $�(4�"( �/ $�(9�(1� 5 �� ��(1��(�� ����8��# � ���'����� ( ? � � ���( �/ � �*28�-��)��'� �( �(� �1, $��6��11(�����(/� �)�(��-.(� $��'*�1, ���9),��- �/ "�� � �8�� ��$�(/ �,1(# ���$�)�� 5 (4 �2.��� 5 ',��� ��*�6��� e�*( +� (4 $��"� �( ��A( 5# � ? � $�("� �/ "�*� 5 ���� �9�,1 �(� �1� (8���(1 �$���'�1� g � �(� �1� (8���(3 �$���' �.� ���)��8�� ��*(8(� ���� �2� (���3 ���1�*()�0(( ���4 ���� �2�0(3 (���(�� �� (4 (� ��$�� �0((�

;8( �� �/# 8 � $��6��11(�����(� ��� ��) ( � �*�(��� �/ � ���'94�"(1�� 5- �,/����(/# /�*/- �/ *( � �� , �� � (*( (�,� ��$���,������������ "�#� ������� m),�( $��6��11(�����(/ 4���� ��(9)2- �/ "���*5�� ��)�( �3 �(� ���(8����3 ���1�*()�0(�3# �� ���/'�*�� ���6� $�"4�"( "*/ �,/����(/ ? �6� ��$����# �"���� ��1�� (98����/ ���1�*()�0(/ ��� �.� "�*��� � )����A����� (�

��'� � ��" $��6��11�,1 $���� �1 � '�*5A(�� �� �*28��� ���"( 9�/ � $�� ����(- $��"1� �� (*( $��'*�1�� ��(�� (�������6� ��1$5-9 ����6� /),�� (# � 8�� ��� (# ��'� � $���� (���.(�� /),��� $��96��11(�����(/# ��'2� /���6� $��(1��(/ 1� �1� (8����3 ��� (�, �4 $��*�"� �(3# � �� ��,1 $�(��"( �$��"�*��(�# 1�"(�(��0(/ (*(2"�*��(� �4 (*( (�,4 ���� �2�0(3 /),��� 0�� �� ��(1��(/ ���),9��� �/ $��/ (� ��!����" ���# ��)1�+��# ��(4 1(�(1�*5�,4 �"(�(0#$����"� ��1 �� ��,4 2"�� �/ $���+"� 5 "�26(�# ��"��+� �*5�� '�*���1�(� �':�� ,� ? �3 ��/)( ��('�*5A�� ��(1��(� �',8�� 2"�*/� �/��/)/1 �"�(4 �':�� �� � "�26(1(� ��*� � �1# 8 � ����� ���'/)� �*59�� 1,�*( 5 ��� �':�� , ��� �����A���� �"����"�2- �����2$��� 5�e�*( "�$2� ( 5 ���� ��2- O���(11� �(-P � ��/),���(( �"�(4 �':��9 �� � "�26(1(# � "�*��# � )��(�(1�� ( � 1� �1� ()�0(( ? (4 "�$29

Page 29: Конструкции языков программирования. Приемы описания: Монография

��� E���!��� �F���!� � 9���F���!� ��

.��(3# 1�+�� 2� ����( 5 �(� �1� (8���(3 �$���'# ��� �*(/ 5 �� ? 2���(11� �(8��� 5� 8�� ��� (# �':�� �1 1�+�� $�($(�� 5 ��)*(89�,� ��*( � ���( �*5�� 0�*�3# $���*�"2�1,4 $���� (���.(��1 /),��!�"�( �':�� , $�*28� ��(1������(� O�'�)��8�-.(�P# "�26(� �':��9 ,% O�'�)��8��1,�P ( � "�

��)2*5 � � ��'� , ��" $��6��11�,1 $���� �1 ��)"�- �/ �*�+9�,� �':�� ,# ��"��+�.(� �(� �12 (4 �)�(1�"�3� �(/ ( "�1��� �(�29-.(� ��)2*5 � , ()��8�*5�� )�*�+���,4 $�(�0($��� �*-8���3 ���9'����� 5- /�*/� �/ ��1� $�� ������ )�"�8( �� $��6��11(�����(�� �1 (*( (��1 � ��A��(( ��� ���6"� � ��( �/ $�9����12# � � # � � ����A�� # 4�8� �� �6� (*( �� # ���A(�/� ���( )���(/� ; ���� ���3 �8�( )���(/ � 4�"� ��'� , $��"20(�2� �/# ��� ���)�* ', 1� �1� (�#����/ $�(�*�"��/ ���(/# �� ���/ � �12 +� � $��0���� �� $�� ����(/��$���,��� $�"���6�� �/ ?��$��(1�� �*5��3 $��������

0�*�1# 4�8� �6� $���� (���.(� (*( �� # �12 $�("� �/ a/���(*( ��/���d )��(��(���� 5 2 �(� �12 $�� 2*� ��# ��6*���� �� ���31�+�� '2"� O$���(*5�,1 �'��)�1P �$��(���� 5 O$���(*5�� �$��"�9*���,1(P �':�� �1(� 7�1� (1# 8 � $�(�/ (� �(� �1, $�� 2*� �� �����) ( 2)����(��� ���(11� �(8��� 5 � ��� ���� �':�� ��� @���3"�1 �$��5 � �,/����(- �������3 $�(1��/�1�3 ��1(��*�6((�

)�* +��� ���, ������ � � !������ �

e.� �"��3 $�(�0($(�*5��3 ���'����� 5- ��'� , � �'*�� ( $��6��191(�����(/ ���6"� /�*/� �/ (�$�*5)����(� 8(� � �'� ��� �,4 �2.9��� �3� @��6��11(� # (1�/ $�( $�� ������ )�"�8( ���� ��,3 ��'���'� ��� �,4 �2.��� �3# $�����.�� (4 � "�26(� �'� ��� �,� �2.��9� (# �� ��,� � �12 +� "�*+�, ��'� � 5# $�(���/ �$�*�� $��� (8�9��( �.2 (1,3 ��)2*5 � � ? �1 �1,�*� $��6��11��/ ���� �2�0(/�$�*�� ���*5��# � $�*28��1,3 � �� $�1�.5- ��)2*5 � ��� "�*(1 � ��1�3 ���� �2�0((�

@���� (���.(� /),�� $��6��11(�����(/ (*( "�+� (��*�"��� �*5�� �� �����6� /),��# ����8��# �,"�*/� � �2.��� (# �� ��,� "�*���8( �- �/ �':�� �1(# (*( /),���,1( ���� �2�0(/1(� ��� $���(*�#�(� �) ���,4 �':�� �� (*( ���*() (1�-.(4�/ �':�� �� $��()��"( �/� O ��4 ()1����(/4P# ��+"�� () �� ��,4 ��� �� � �2� � ���( �*5��2� �38(��12 ��262 ��$������

Page 30: Конструкции языков программирования. Приемы описания: Монография

�� '�7�� $BC����D

aDd ����� � � ���*�"2� �/ ���1�# ���A�(3 �("# � �2� 2�� ( �$���)*(8�,4 ���� �2�0(3# "�$2����1,4 � /),���

aDDd �������� @��"1� �1 (��*�"����(/ /�*/� �/ )��8��(�# (*( � �1,�*# �� ��,3 ��*�",��� �/ � /),��

aDDDd /������� ����1� �(��- �/ ��)*(8�,� ��$�� , (�$�*5)���9�(/ /),��� ��+"�� () ? (4 ��4 ()1����(3# ��� (8���(# $��"9� ��*/� ��'�3 ��1�� �/ �*5�2- "(�0($*(�2 �� ����3 ��'� �����31� �1� (8����3 ������3� >�1 �� 1����# $���� (�2�1,3 /),�# ������),��� �/# �2+"�� �/ � ��1$*�����1# �':�1��1 ����1� ���((�

)�- .�������� ������ � � �� ��$�������

�*/ $�(�'�� ��(/ ��'2�1�3 �����, � ����2+"��(/4 $���� (���.(9�2 $�(4�"( �/ $�(�(1� 5 ()��� �,� "�$2.��(/# ����-.(��/ �':9�� ��# ����8��# ��*( �� �1(�(*�/ � ��()'�+��� 5- ����2+"��(3 � ��1(��4 �':�� ��� >�1 ��1,1# ��)1�+�� "�+� ��$���( ����12 +�9*��(-# $���� (���.(� $�(�*���� ���51� 6('�2- 1� �1� (8���2-�'� ���0(-# ��),���12- ���� �"������� ��� $���(*�# � ��8�� ���'��)�� $��"� ��*/�1,4 �':�� �� �,'(��- �/ �2��0((� >�$��5 (�9$�*5)����(� �2��0(3 ��'2� ()��� ��3 �� ���+��� ( (# �� ��/��1�*28��# � 8� *(��6� �("��(/ $�� ��*���,4 0�*�3� �8��5 8�� � � $��9�� (�2�1�6� /),�� ��'2- �/ �*�"2-.(� ��8�� ��!

aDd $��"� ��*��(/# �� ��,� ()'���,# "�*+�, �'��$�8( 5 �.�������$"� ��� ��z

aDDd �$�0(�(��0(/ �':�� �� "�*+�� ', 5 �$�*�� ����$�#��%zaDDDd "*/ �'��$�8��(/ ���"�� �� � �0����% ()'(��� �/ �$�*�� � ��9

6�/ ���(/ �2��0(3 � �1 (*( (��1 ���(�� ��

��<����� ������������

H�('�*�� 8�� � (�$�*5)2�1�3 � (1$��� (��,4 /),��4 a�� ��,� ����6�"�/ (1�- ��('�*5A�� ���$��� �����(�d /�*/� �/ ���� �2�0(/$�(���(���(/ $���1����3 )��8��(/� ? �3 ��/)( $�(4�"( �/ �$�*��� ��6� ���� � (���� 5# ��� (1���� ��"� ��'/ �':�� # ��),���1,3O$���1����3P# 8 � ���� � 1� �1� (8����3 �8�( )���(/ O)��8��(�P#��� (1���� )��8��(� �$�0(�(0(�2� �/ O�,��+��(�1P ( � $�

Page 31: Конструкции языков программирования. Приемы описания: Монография

��G ;��F����% �F���!� � $�#F�:���� ��

4�"� �,$�*���(/ ���3 ��'� , 1�+�� (" ( "�21/ $2 /1(� ��+9�� ���8�*� )��(��(���� 5 1� �1� (8���2-# (*( ���*( (8���2- ����9�2# � �� 5 2�(����21 ����2+"��(3 �' �':�� �4# ��/)�� ��'/ (� 2( (�9�� $�"4�"/.�3 "*/ ��A��(/ $�� ��*����3 )�"�8( 1� �1� (8����3 �9��(�3� <�� (8���(# ? � '2"� "�+� 1� � ���(/� 7� �1 � ��1��4 ? �31� � ���(( �,$�*�/� �/ ���� �2(�����(� ��'2�1,4 /),���,4 �':9�� �� a����8��# (4 $��"� ��*��(3d� ; "�26�3 � ����,# 1�+�� ��8� 5� 2� ����*��(/ �':�� ��# �� �6���(8(��/ ��'/ �$�(���,1 �,'���11� � ���((� 7� �1 $� 1��� ����$*��(/ ��)���'��)�,4 �':�� �� )�9�/ 5�/ (��*�"����(�1 (4 ���(11� �(8��� (�# 8 � $�(��"� � $�� �9$����12 $�� ����(- 1� � ���(( % � �8��� ( ���3# �� ���/ ��'29� �/ $���� (���.(�2� � �*5�� �$��*�"� �((# $� )����A��(- ��'� ,$� $���� (�����(-# 1�+�� ��$�� ��( 5 ��)�(�A2- 1� � ���(- � 2+�(1�-.(1(�/�

*-'�1 �*28�� +�*� �*5�� 2� ����( 5 ���� ��,3 ���� (8���(3'��5��# �� ��,3 � 6���+(��� $�� �����,3 /),� � "� �*�3 ��'� , �3 1�"�*( ��1$5- ���# "*/ �� ���3 �� $��"��)��8��� @��(12.�9� �� ���3 1�A(���3 ��)��(�(1�� ( "�� � �8�� �8��("�,! 1�+�� � 9*�+( 5 $�(�/ (� ��6*�A��(3# ����-.(4�/ ������ ��6� ��1$5- ���#2� ����( 5 ��1�3� �� $��1�+2 �8�,4 /),���# � �� ��,1 $��*�"���9 �*5�� ���"( �/ (�4�"�,3 /),� � $��0���� $�*28��(/ "�3� �( �*5��1�A(���6� ��"� ( � $� �"���� )� ��2- 1�A(��2- ��)��(�(1�� 5$�("� �/ $*� ( 5� g � $*� � ��+� ()��� ��# ( ��� ���( ��)���(�1������"�� �� $�*28����6� � ��)2*5 � � 1�A(���6� ��"�� ( �6��� 6���� ((# 8 � ? � $*� � �� ���+� �/ �*(A��1 �,����3�

=/�����0���� ���$�����$�� � >�����

�$(���(� $��"� ��*��(3 �':�� �� "�*+�� ', 5 ��1$*����,1# �"��9)��8�,1 ( $�*�,1% ? � ()��� �� *-'�12 �����1����12 $���� (���9.(�2 /),���� X�� � $���� (���.(� �� ����*(��� ���3 �,'�� �� �4�(�� �$(���(/ �?�2��9H�2�� a{KboVL KZv |KVNd# (*( �����.����{|\% ���1�*5��/ ���1� ��9H� g � 1� �" �$(���(/ 4���A� $�(1�9�(1 � �*28�� ���� �2(�����(/ �(� ���(��� ; �$(���(�1 ��1�� (�("�*� �'� �( �*�+���� @��A�* "�� � �8�� "*( �*5�,3 $��(�" ���1�9�(# $��+"� 8�1 $���� (���.(�( /),��� $�*28(*( ��"�+�2- �����2"*/ $�� ����(/ ��1�� (�(�

��3� �( �*5��# 8 �', $�� ��( 5 ��1�� (�2# ��"� ��28( 5�/ �,98(�*/ 5 )��8��(/ ���4 �(� ���(8���( ��1,�*���,4 ���� �2�0(3� <��9

Page 32: Конструкции языков программирования. Приемы описания: Монография

�� '�7�� $BC����D

(8���(# "*/ ��+"�3 �(� ���(8���( $���(*5��3 ���� �2�0(( "�*+���2.�� ���� 5 ( ', 5 $�� ��*��� � ��� �� � �(� $���(*5��/ ��1��9 (8����/ ���� �2�0(/� ; "�26�3 � ����,# "*/ ��/��3 $���(*5�� $�9� ������3 ��1�� (8����3 ���� �2�0(( "�*+�� ��3 (�5 $�"4�"/.�/ ( �+� $���(*5��/ �(� ���(8����/ ���� �2�0(/� g � �$�*�� �� �� ���9��� ��'����(� /�*/� �/ )���12�*(�������3���1�3 1� �1� (8����3 ����1, � $�*�� �# � � 1� �1� (8����3 �8�( )���(/ 4���A�# ��6"���� �,$�*�/� �/# ( ��$��"���)2�1,� $�� (����8(/ ��)�(��- # ��6"���� ���2A�� �/� H2+�� �.� "�'��( 5# 8 � ���*�6( ? �3 ����1, ��)9�(��- a( �2+"�- �/ � $�������d# ��6"� ��85 ("� � ��� �� � �((1�+"2 ���� �2�0(/1( ��)��'� ����6� /),�� ( 1�A(��,1( ��"�1(� ? �1 �*28�� "�+� $�(4�"( �/ �0��(�� 5 ��*�� (��2- �$���'��� 5����� �2(�������6� /),��# ��)1�+��# $� �������(- � ������ �,11�A(��,1 /),��1�

8�����1 ��������� /� �����?/���1

@���� (���.(�# ��� ���),��� �/# $�$�"�� � "���*5�� +�� �(� ��19�(! ��*( �6� $�"��*� (� 2(0(/# ( �� ��2"�8�� �,'��* 1� �" $��"� ��9*��(/ �':�� ��# � ?��$��(1�� �*5�� ����� �2(�������/ (1 a)�"�(18(�*�1d ���(/ 1�+� �� �*5�� �� �'*�"� 5 $�*�)�,1 ���3� ��1 $�*9�� ,# �� $�( $��� (8����1 (�$�*5)����(( $�(��� ( � 2"(�( �*5�,1��)2*5 � �1# ���"� ��)1�+��� ( 2� ����*��(/ ������ �� �}�� e.��"(� ��)1�+�,3 (� �8�(� ��$�(/ ��� �3 ��)�(��� # ��6"� �':�� ��"�� � �8�� 1��6�# ( (4 $�(4�"( �/ ��)"�*/ 5 �� �*���,# � �� 5 ($(9)(���� 5# 8 � $��"$�*�6�� ���"��(� � /),� ���"� � ($()�0(( �':9�� ���

e�*( ($, ��)��A�� �/ (�$�*5)��� 5 �*5�� ��� ���� �� ,# � ? ��.� $�*��(�� "�*�� � ��� ', 5# ��*( ($, ��)��A�� �/ $���"��� 5��� $���1� �,# � �� 5 �$��(���� 5 $���1���,1(# $��'�6�-.(1( $� ($�1r ���1 �*28�� $���� (���.(�2 $�(4�"( �/ � �8��� ( �*�9"��� 5 ���1 $��"$(���(/1# �� ��,� "�- �/ 1� �1� (8����3 ���(�3�2��0(3� � ��� �/.�12 ���1��( ��)��'� ��� 0�*�� ��1�3� �� ��9�(3 �2��0(3 a� ��)*(8�,4 ���1�4d# �� �� ��� ��( �.� � "�� � �8��31��� ��1,�*��, �� $��� (�� $���� (�����(/ /),��� $��6��11(��9���(/� H� ���� 1���, �*�+��� �3# �,),���1,4 $�$, ��1( ���*()�90(( $�(�0($(�*5�,4 �'.(4 ?���� �� $���1� �()�0(( ($��# � ��9+� +�*��(� ��'*-"� 5 ��( ��(3 $�*�� ,� $���� (���.(�( �� ���'�*�� �.2 (1�1 1��A �'� � �*( � ��),�� 5�/ � ��)��'� �( (1$�9

Page 33: Конструкции языков программирования. Приемы описания: Монография

��< H���I���% �F���!� �G

�� (��,4# �$��� ���,4 /),���# � ()6� ��*/- ��)*(8�,� ���(�� ,�':�� �,4 (*( �2��0(���*5�,4 /),���� ���� ��,4 () �(4# ���'��9�� ��������,4 �� ��1'(�� ����3 *�6(��# ���'.� � �2 � �2� $��/ (�$���1����3� @�(1����(� ��(4 ���� �� �,4� /),��� $�1�6�� $��9�"�*��� 5 � ���� ($, ( ���"�,� $�(�,8�(�# 2�����(�A(��/ � $��96��11(�����(( ( � �*5 0��(1,� $��6��11(� �1(� �"5 � ? �1 �*298��# ���+�1# $�(4�"( �/ � ��),�� 5�/ � ����� �3 (�$�*5)����(/$�'�8�,4 ?���� ��# (��8� ����1� �(�� 5 0(�*(8��� 5 �,8(�*��(3#�� $�� (��$�� ��*/ 5 $��6��11, ( "���,� ( � $� ��6��"2 )� $��/�9*���2- $��6��11(� �1( 6('��� 5 1,A*��(/ �2��0(���*5�,� /),�(�'��$�8(��- ���2- ��/)5 a��� (8���(# ���$�"��(�d � 1� �1� (8�9���3 ���(�3 �2��0(3# � ? � "���*5�� 1��6��

)�/ 0����%���� ������ �

H� $��� (�� � ��8�� �� 1� �1� (8����6� 2�(����21� (�$�*5)2- �/�����*5�� ���(�� �� ��1�� (�� �� ����(1 ���3 �,'�� �� �������&����% ��1�� (��� @�/��(1 (�$�*5)2�1,3 ��1(�� @�(�/ (� ��1(��O"��� �0(���,3P $��"$�*�6�� $�(�/ (� �$�0(�*5��6� $�(�1� �$(��9�(/ (� ����2-.(4 ��� �':�� ��! ���1 $���(*5�,1 ���� �2�0(/1 "�9- �/ �'�)��8��(/# ��),���1,� ��������� ���� � , ����1� �(��9- �/ ��� ("��*()(������,� 1� �1� (8���(� �':�� ,# 1�"�*(�2-.(�a$��"� ��*/-.(�d "�26(� �':�� ,� � ����� ��)�(��- �����)�,� ��9$���,! (1�- �/ *( �':�� , '�) "��� � ��# "*/ ���4 *( ��)1�+�,4"��� � �� 1�+�� $�"�'�� 5 ��� �� � �2-.(� (1 �':�� ,r �� �1�9 (8����/ ����1� � $�*�� � ����5 $��/�*/� ��'/# �� 2+� � �����*5��(��3 ���1��

�*/ ������ ��� ( �$��(�����(/ "��� � �1( $�(��"�1 ?*�1�� ��9�,� $�(1��,� 8�� ��� (# ��)51�1 �':�� # �'�)��8���,3 8(�*�1 ���>�$��5 �*�"2� $�()�� 5# 8 � � � � # ��� � # ��� � # ��� � # �� � � #�� � � # � � � ��+� /�*/- �/ "��� � �1( ? �6� �':�� ��

;�1�� (��# $�� ������/ �� ("�� "��� � ��# ���),��� �/ 1� �1� (98���( ���51� �,"��+����3�� ��*� � �1# 8 � 1� �1� (8���(3 $�(�1��)*�+��(/ �':�� � � $��"� ��*/-.(3 �6� �/" "��� � ��� ���),9��� �/ $*�"� ����,1 $�( ()28��(( ��$����# ��� �"�( �':�� , $��9�'��)2- �/ a������ (�2- �/d � "�26(� �':�� ,� ��� 1�+�� $��/ 5#2� ����(� $�"4�"/.�� 1� �1� (8����� (�8(�*��(� �������(3 �':��9

Page 34: Конструкции языков программирования. Приемы описания: Монография

�< '�7�� $BC����D

��# 2"�� �/ "� 5 $�"��'�2- ��� (�2 (4 "(��1(�(# (4 �6��6(�����(/#(4 "� �*()�0(( ( � $�

@�1(1� "��� �0(����3 ��1�� (�(# (1�� �/# $� ���3��3 1���# �.� �(! ������������ ��1�� (��# � �����#� �� ��1�� (�� ( �&�����#� �� ��1�� (��� ���� �� ��"� "21� 5# 8 � $��0��� $�(���( $�� ����(/ "�26(4 ���(�� �� ��1�� (� )����A��! ��� ��4�"( �/� � �"(( (��*�"����(/� @�(8(�� ? �6�! $�� ����(� ��1�� (�( /),9�� $��6��11(�����(/ $��"$�*�6�� "� 5 �8�2- ��� (�2 2 �8���(/$��/ (3 �*6��( 1� ( �,8(�*(1�� (# �2.�� ����� (�$�*5)2� �2�"�91�� �*5��� "*/ 1� �1� (�( � 0�*�1 $��/ (� �2��0((# � �*�(��� �/� ���'4�"(1�� 5- 28( ,�� 5 (*( *(��("(���� 5 ��)�(��-.(� $��9 (����8(/# "�$2��� 5 (*( $���"�*��� 5 ���"��)��8��� ( �*�����(/� �� ? � �*(A��1 '*()�� $�(1,��� � $���"��12 ���-� 1� �1� (8�9��(4 (��*�"����(3# ��/�(3 ��) ��'2� �,$�*���(/ ��1�� �/ �*5��6���*�"� ( *�6�� �,��"( )� ��1�( 2� ����(�A(4�/ $��"� ��*��(3� @�($���� (�����(( /),�� $��6��11(�����(/ � 0�*�1 6('�*5�� $��� �$�*�6� 5�/ �� )"���,3 �1,�*�# ��*( �� �'*�"� 5 )"�����3� 1� �1�9 (8����3 (� 2(0(�3�

>�1 �� 1���� $���8(�*(1 ������,� 0�*( ��)��'� �( ��)*(8�,4()��� �,4 ���(�� �� ��1�� (��

aDd 2���������� ������� ;��"( �/ � $���� (�����(- "���9 � �� ���� �2�0(3� ���� � , 1�62 (1� 5 ��� 1�A(���9��)��(9�(1�� �'� ��� ��� )��8��(�# �� ( "��� 5 1�A(��,3 ��"# �� �9�,3 "�� � �8�� ?���� (��� �,$�*�/� �/� @��*�"��� � ���( �/ �'�*5A�3 � �$��( � �2��0(���*5�,1# 8�1 � (1$��� (��,1 /),9��1� ���� �0(����/ ��1�� (�� � 8� *(�� ��4���/� �':�� �2-��(�� (�������� 5 � 0�*�1 ���6� $�"4�"� � ��)��'� �� ��1�� (��

aDDd 3����������� ������� ���*�"2� 1�A(��,� �$���0(( $�((�$�*���(( $��6��11� ���'���� $�*�)�� "*/ ���*()�0(( /),����$���0(( 1�+�� �$(�,�� 5 $����"� ��1 1�A(���9��(�� (�����9�,4 "��� � �� *('� �$�0(�*5�� �,'�� 5 1�A(���9��)��(�(1,�"��� � ,�

aDDDd 4� �����#� �� ������� ;����"� �8(��� ��(1��(� �� �,9'��� ( (�$�*5)����(( $�� 2*� �� a���(�1 ( $���(* �,��"�d# ��9 ��,� �'��$�8(��- 2�(����21 "*/ ����2+"��(/ � $��6��11�4�

aDSd 4������#� �� ������� ����1� �(��� �/ ��� �� �5 "��� �0(9����3 ��1�� (�(# $�(�*���-.�/ �2.�� ����� �*6�'��(8���(� $�9�/ (/ ( 1� �",�

Page 35: Конструкции языков программирования. Приемы описания: Монография

��0 �"����!�B �"J!�B �0

)�1 2����� � � ���� �

��1�� (�� $��"� ��*��(�1 ���*5�,4� �':�� �� /�*/- �/ �'� ��� 9�,�# (*( ("��*()(������,� 1� �1� (8���(� �':�� ,� "��� �0(��9��3 ��1�� (�� �'� ��� �,� �':�� , �(��(�2- �/ � ���(4 �$(���(9/4 a"����($0(/4d� >���(/ 1� �1� (8���(4 �$(���(3# (*( ���(/ "�9���($0(3 � ��� �/.�� ���1/ /�*/� �/ ��1�� �/ �*5��3 1� �1� (8�9���3 "(�0($*(��3� @�*28(� �(� �12# (*( �*��� �'� ��� �,4 �':��9 ��# ��"� )��/ 5�/ 2� ����*��(�1 ���"� � 1��($2*(�����(/ (1(� �*/? �6� ()'(��- �/ � (*( (�,� ���1, (�8(�*��(/ �':�� ��# � �.� *289A� % (�8(�*��(/ �������(3 �':�� ��� �*/ (�8(�*��(/ �':�� �� $�(94�"( �/ $�('�6� 5 � "�$�*�( �*5��12 1� �1� (8����12 $�(�12� H���1�1 "�*� (�8(�*/- �� ��1( �':�� ,# � � (1���# �� ��,� 2��),��9- �� �':�� ,� ;*�"��� �*5��# $�(4�"( �/ �$�0(�*5�� $�)�'� ( 5�/#8 �', )�$�� (1�� ���)�*�/ "�� � �8�� ��*(�� e� �� �����# 8 � ����29+"��(/ �' (1���4 �':�� �� $��()��"/ �/ � ��1��4 ���� ���6� /),���<�� (8���(# $�(4�"( �/ � �*��� 5�/ � ��$���� "�3� �( �*5��6� �29.�� �����(/ �':�� ��# � ��� ( ��)6���� � �� ��),���1�3 /),����3"�3� �( �*5��� (� >��(1 �'��)�1# �'� ��� �,� �':�� , (1�- � �9 2� /),���,4 �':�� ��# �� ��,� ���"��, � ����1� ���(� $����"� ��12��)��(/ ��� �� � �2-.(4 "����($0(3�

8�� ��� (# (1�� �/ 1��6� �$���'�� �'�)��8��(/ 8(��*# �� ��/�(3��) ��85 ��"� �/ �' �"�(4 ( �4 +� 8(�*�4� ���+�� ������ 5 �$���'��$�*28( 5 "��� � , 8(��* �'��$�8(��� ���(� (���� 5 $�(1��/�1,4���1�*5�,4 ���"� �� 8�� ��� (# � ��1'(�� ����3 *�6(��% �"��1() (�8(�*��(3 �'� ��� �,4 �':�� ��# % ����� �� $���(8��6� $��/ (/8(�*�! 8(�*� ���"/ �/ � ��(8�,1 �'��)�1# )���"(������,� $����"9� ��1 �$�0(�*5�,4 �2��0(3# ��),���1,4 ��1'(�� ���1(� @�? �12$�� ����(� �6� (*( (��6� ���(�� �# ���+�1# ��(�1� (�( a�1�� � ��� �$���0(/1(d � ����( �/ ������ "�*�1 ��2�� ��1�6� (��*�"��� �*/(*( $���� (���.(�� /),��� ; "�26�3 � ����, 1�+�� � �*��2 5�/ �1��+�� ������ 5- $��"� ��*��(3 ("�( � "����1� ��+�� $�*28( 5�'� ��� �,� �':�� ,# ��"2.(� ��'/ ��� �$(��( QDLY# ��3*, lKLbKE( � $�

��*�� �6�# 1�+�� ����� � ��)� 5�/ � ("�( ����1� ���(/ �6�#8 � +� �� ��1�1 "�*� "��� � , �'�)��8�- # ( )��/ 5�/ (�8(�*��(9�1 ��'� ����� "��� � ��� >��(1 �'��)�1# �$��"�*��(� "��� �0(����3��1�� (�( 1�+�� ����1� �(�� 5 ��� 2� ����*��(� ���� ���3 ����9*/0(( () �"��6� /),�� � "�26�3# � "����1 �*28�� ���� �2�0(( $��9

Page 36: Конструкции языков программирования. Приемы описания: Монография

�2 '�7�� $BC����D

�� (�2�1�6� /),�� $�����"/ �/ � ���� �2�0(( ���� ���6� 1� �1�9 (8����6� 1� �/),��� m�*/� �/ *( $�*28���,3 1� �/),� +�*��1,10�*��,1 /),��1 (*( �� �$��"�*/- $� ��'��� ( ���*()�0((� e�*(� ���0� ���0�� 0�*���3 /),� i ? � $�$��� 2 1�A(��,3 ��"# � 0�9$�8�� $�����"�� � /),�� �� /),� 1�+� �� �6���(8(�� 5�/ �"�(1A�6�1� ? �3 ��/)( )�1� (1# 8 � "*/ (��*�"��� �*5��(4 0�*�3 8�� ��6���(8(��- �/ ���"��(�1 (�4�"��6� /),�� � (�� �2�0(/1 ���� �9��3 �'� ��� ��3 1�A(�,�# �� �� ���3 2"�'��3 a���+�1# $� 8(� �1� �1� (8���(1 ���'��+��(/1d (��*�"��� 5 ���'����� ( (�$�*���(/���� �2�0(3 $���� (�2�1�6� /),�� $��6��11(�����(/� � ? � 2+� )�9"�8� 8(� � bTcYVWFN LbDFZbF�

���� �0(����/ ��1�� (�� $�)��*/� � ��6� $����"( 5# ��*( ? ����'4�"(1�# ��)*(8(� 1�+"2 ���0�$ �1( a$��/ (/1(d ( (4 �'�)��98��(/1(! ���0�$ , �"��"�� "�3� �( �*5�,� �2.��� (# � �'�9)��8��(/ $��"� ��*/- ��'�3 �"(� () �� ���" � �0����� �' ? (4�2.��� /4� 7�1� (1# 8 � � ��� �/.�12 ���1��( (1�� �/ "�� � �89�� 1� �1� (8���( $����'� ����/ ���(/ ���0�$ ��# �� ���/ � )��8(9 �*5��3 1��� �$(��� �/ �� ("�( "��� �0(����3 ��1�� (�(� ��*�� �96�# � 1� �1� (8����3 �8�( )���(/ ���0�$ ���),��� �/ �(� �� (��9��1�� (8����3 ���� �2�0(�3� ��$�*5)����(� $���� (���.(��1 � ��98�� �� �':�� �� (1���� �(� �� (��9��1�� (8���(4 ���� �2�0(3 � 9��,��� "�$�*�( �*5�,� ��)1�+��� ( $�� ����(/ /),��� "(��1(8�9���6� ($� �# ��)1�+��# ()1��/�1�3 � $��0���� �,8(�*��(/ ��1�� (9��3�

� ��/��1 �*28��# � 1� �/),�# � �� ��,3 $�����"/ �/ ���� �2�90(( (�4�"��6� /),��# "�*+�� ', 5 � '�*5A�3 (*( 1��5A�3 � �$��($����'� ��� � ? �12 �)(�2 ���"( �/ �"�� () ������,4 ��'����(3"��� �0(����3 ��1�� (�( ��� ��1�� �/ �*5��3 "(�0($*(�, � ��1��4bTcYVWFN LbDFZbF�

)�3 4��������� �� �����

��'� � � �'*�� ( $��6��11(�����(/ �.� 4���� ��()2� �/ �1# 8 ����*()�����,3 $��"2� ���),��� �/ 2� ����A(1 �� 1�1�� ����6�)����A��(/ *('� "�+� �.� ���5A�� �',8�� ���),��� �/# 8 � "�26(�2+� ��'� �- ��" *28A(1( ( ���,1( ("�/1(� �"���� 2 �*5�� 8 ��"�*����6� $��"2� � �� 5 �"�� $��(12.�� ��% �� (1�� �/ � ��'� �9

Page 37: Конструкции языков программирования. Приемы описания: Монография

��� )���!�I�% ����!� 9�����FF � ����F "�# 7�BK ��

-.�1 �("� � � ���1/ ��� ���,� ( *28A(� $��"2� , ��4�"/ �/ ��� �"(( ��)6������# � "� (4 )����A��(/ �.� "�*����

e� �� �����# �4��*�6(8����/ ������ ��)��'� �( � �'*�� ( $��96��11(�����(/ ��)�(��� �/ ( ���6"� ',� �� 1��/� �/� ���0�$0((#)�*�+���,� � ���*()������1 $���� �# ��+� ���),��- �/ 2� ����9A(1(� <�� �� 2� ������(/ �1 �(*5��� ��'/ $��/�*/� # 8�1 '�*5A�� �$��5 $�(�/)�( $��"2� � � ������ (�� ()'�����6� /),�� $��6��191(�����(/ ( ���'����� /1 �$$��� 2�,� ? �1 � ��A��(( (�$�*5)�9���(� $��1�+2 �8��3 �'� ��� ��3 1�A(�, 2��*(8(��� +()���$�9��'��� 5 $��6��11��6� $��"2� � 4� / ', � ���0�$ 2�*5��1 � ��A�9�((�

;*�"2� �.� (1� 5 � �("2# 8 � �����(�� 5 ( ��$�� ��*/ 5 *28A����"( ���*5�� ���*()�����,4 $��6��11�,4 $��"2� ��# � �� ���"()�"21���,4% ���*5 ', )�1��8(�,1( �� $��"� ��*/*(�5 )�*�+���,�� �(4 ���� ����(� ("�( ( ���0�$0((�

)�5 6��� �%�� ��� � !������ � ������ ��$

�� �

���'���� (� ������3 "*/ �����1����6� $��6��11(�����(/ $��"� ��9*/� �/ �'*�� 5 '�) "���,4� ����(4 �(� �1�4 '�) "���,4 �'��$�98(��*��5 �*5�� 4�����(� "���,4 $�*5)��� �*/# � ���*()�0(/ $��96��11��3 *�6(�( ��)*�6�*��5 �� "�26(� $�"�(� �1,� ��*/0(���,4'�)�4 "���,4 � 0�*/4 $��,A��(/ $��()��"( �*5��� ( ( "*/ 2"�'9� �� ',*( "�'��*��, 4���(1,� $��0�"2�, ( �(66��,� (1�-.(4�/'�)�4 "���,4 $�(*�+��(/1 $��"�� ��*/� �/ ��)1�+��� 5 4���( 5 (�� (�(���� 5 ��������� �(� �1, '�), "���,4# ��$(����,� �� ��� 9�� � �2-.�1 /),�� $��6��11(�����(/�

@�/�*��(� �':�� ��9��*/0(���,4 1� �"�� � ���"(���(( � ��)1�+9��� /1( �,'��� sKSK � ��8�� �� � ��"�� ��6� /),�� � ��,��� "*/�(� �1 '�) "���,4 ��)1�+��� 5 ��*-8� 5 ���������� ������# ��$(9����2- �� � ��"�� ��1 /),�� $��6��11(�����(/# ( � ���� ����"�� �-"� �*�"2� # 8 � �(� �1, '�) "���,4 ��4�"/ �/ � � �"(( $���4�9"� �� 4�����(/ ( 1��($2*(�����(/ �*5�� "���,1( � 4�����(- (1��($2*(�����(- ��� *�6(��3# �� ( "���,1(�

�"���� �� ? �1 $2 ( $��"� �( 1��6� ��'� ,� ��$�)( ��(( $��"9� ��*/- ��'�3 ($(8�,� '�), "���,4 $��6��11��3 *�6(�(� >��'�9���(/# $��":/�*/�1,� � ��$�)( ��(/1 � 8�� ( ��� ��*/ )� ����(/1(

Page 38: Конструкции языков программирования. Приемы описания: Монография

�= '�7�� $BC����D

( $���1� ��# �� 1��6(4 �(� �1�4 "�*+�,1 �'��)�1 �� �,$�*�/- 9�/� m���# 8 � ��"% ? � �� � +� ��1��# 8 � ( �',8�,3 �':�� # � �� ��� 2� �/ ��� "���,� � (1�-.(4�/ �(� �1�4 '�) "���,4�

@��"�*+��(� ? �6� $���4�"� (1�� ��( (8���2- ��+��� 5� H�'�*5A(4 $��"$�(/ (/4 (1�- �/ �� �( ( ,�/8( ��2$��1��A �'�,4��1$*����,4 $��� �� $��6��11 ( �$�0(�*5�,4 $�(*�+��(3� ;2.�9� ����2- ��*5 (6��� ��6��()�0(/ �)�(1�"�3� �(/ 1�+"2 ? (1( $�9�� �1(� ; ����*��(� ���,4# ��(�� (������,4 �� MFp ����(��� $�(9"�� ��'2�12- 6('��� 5# '2"� 2"��*� ���/ 5 ��'����(/1 �����9.��(/ ���1��( $��"�+# ��(+��(/ ()"��+�� ( �,$�*���(/ '()���9�*(/�(3� �*/ ��A��(/ )�"�8 (� �6��0(( $�(*�+��(3 ��'2- �/ $��9"�(+��(/ � �4��*�6(( '�) "���,4�

��� �/.�� ���1/ �(� �1��/ (� �6��0(/ ��2$��1��A �'�,4 $�(9*�+��(3 � �������1 ��A�� �/ 1� �"�1( $��6��11��3 (�+����((# ��96"� �������� ��(1��(� 2"�*/� �/ $��0���2 ��)��'� �(# (�� �21��9 �*5�,1 ���"� ��1 ( /),��1� ;���� '�) "���,4 �*�"2� "��� 5 '�*59A(3 ��*�" � ? 2 �'*�� 5� g � �)��8�� ��'����(�# 8 �', �(� �1, '�)"���,4 � �*( '�*�� ��(�� (������,1( �� $�(*�+��(/� �':�� ��9��9*/0(���,� 1� �", /�*/- �/ 8�� 5- � �� � �� ? � ��$���� �"�����2+�, ( *28A(� ���"� �� 2$���*��(/ �$(���(/1( ( (� ����3��1($�(*�+��(3# � ��+� �,����2������,� 2$���*/�1,� 1�"�*5- ���"9� ��# �� ��,� ? ( �$(���(/ (�$�*5)2- "*/ �'*�68��(/ (� �6��0((#��)����8(���(/# 1(6��0(( ( )�1��, $�(�*�"�,4 �(� �1 �� (�"(�(9"2�*5�,� �(� �1,# � ��+� ( 6�2$$, �(� �1# ��'� �-.(� ��� �"���(� �1��

Page 39: Конструкции языков программирования. Приемы описания: Монография

�������� )��!�����

��2� �0��� �G����� �=�#� �G2� 2<�� ��� �<2������ �2���� 2= �G2���� ��2����� ��$� ��=$� ��G$� �G2$" ���� 2<��� �0=�� ��� 22�� � �� 22�� �������� ��2��" ������ 2= �G2% =�%�� �G�%����� �=�%�� ���%�� �G�%��� �G�%��� �0=%��� �0� 2< �� �0=

� ��< � 2=&�� ��='�� �G2(�� �G2(��� ==(���� �<�(���� �0=(����� �0=(���� �0�)���� �=G)����� �=G*��� ��=*" ��=+ ��2+�� ��2, ��� 2=Æ �<� �� �G=�� �� �� 2�� 2� �G=� ��G �G= 2� �G=� =�� �0�� �G=� �G=� �G� �G=- ������ �=�� �G����� �=�

�&�

Page 40: Конструкции языков программирования. Приемы описания: Монография

�2< A�7F�BD !�#����

��� ��<�� ������#��� ���������� ��������� ������� ������� �=����$ �=����� ������� �2�� � $ =<������ �G��������� ������ �����������. �������� �G2 �G�� =0���� ��<�� �=0�� ������� ������� �<0"�� �<0������� �G���� ������ 20��� �=0��� �������� �G2�� ��<��� ������ �0�. � ��=.��� �0��� �� =2� �G��� ��< �G2��$� =2����� 20 �G=��#��� ������ �<���$� =2����� �G! �G=!������ �<�

� �������� �G2���� �=������ 20��� �2�������� �G��������� ��2��"��� �G2� �G��� ��=����� �=���� �=���� =0������� �0���� � 22���� =0���$� =2������ 20���� �2����� �2�� ��<���� �0����.�� �G2���� �G2�� 22����� �=G���� ��=�� �������� ���������� �<=��� ������� �G=��������� �=���� =2��� ������ �<0��� 20������� ��=������� �������.�� �=�������� ������� ��=���� ���"��� �<=����� ��0��������� �=0

Page 41: Конструкции языков программирования. Приемы описания: Монография

A�7F�BD !�#���� �20

���&��� �<

�������F� �"����!I�� �G=����#� ����!��C�!�D 2�� I�!��$ 2��99��!�I�% �0 ���

R��! �0�R��!&�KF� <�

�K�7� ����� 20�B#�$ ���� 9� #�FB!��L �2�� 9� #�C�L �2G� 9� #�C�L � �# ����� �2�� 9� �"K�7�F���� ��=� 9� �"�#�C�L ���� 9� ��B�! �22� 9� �!�� ����B��:� G� 20� � 2<� !������ �<�� 7���� 2�� !������ 2�� �#�C�$�� 20�BK�7� ������ 20�BC���� <� I�!��C�!� 2��BC����%� :�7B �02� ��$B ��= �02

H���� �G� $B��:�% 2�� !�F�7B ��H�!��9I�% �0H�����FF�� ���F���% G0� "�!�C�% 0<� 7�$�$�7�% G2� F��! �%��% G0� 9���!�$�% <� <<� I�!��C�!�% 0G

H��9�#�� 7!����I�� ���H�F 2= =�� ���� �=�� #� �G2� �� ���� ������ �2�� ��� �G2� ���� ��2� $� ��G� $� �G2� $" ���� �� ���� ����� ��2� ��" ���� ��� �2 �G2� %�� ���� � �2� ���� 2=� &�� ��=� ����� 2=� '�� �G2� '����� 2=� (�� �G2� )���� �=G� *�� 2=� *��� ��=� *" ��=� +�" ��=� +�� ��2� , �� 2=� !�CBD =<� �9�7��� � �! ���$� =�� �F���C�!�D 20 �<� ����!��C�!�D 20 2� �<� ���7���BD =G

[�9��� �=�� ���!��% �2� 9���!��% �2[�C� 20� ����� 2�� �� � 2�� �� � ��� �� �� �� 2�� ��� � ��� ������ � 2�

Page 42: Конструкции языков программирования. Приемы описания: Монография

�22 A�7F�BD !�#����

� ������� 20� ���� � �� � 2�� ��������� � ��� 20� � ��� 20� I��C���� 20

�7����!����� 2<�7�$�7 �������F�I�%� 9���! <<� � ����! <<� � ���! <<� 9���!�� ��

N���� $�#F�:BD G<� 7D��$����BD G<N������$��� ����� ��N����� 7�����FF� � �7 !��$BD G�� 7�F�$ 2=N�F�7�� � 2<� ����� �<2� .��� �0�� ������� �0�� ������� �<=� ��� �<0� $B9��� ��� 7���� ��N�F"����� �0N�F"����$��� �9���" 2�N�F9�#�I�% ��0N������� � 9�FBF� !�F9���F� �=<

� � !I������% G�N���� !���� � =2� � =0� � =<� � =0

N���� !I�%� �� ��� �� ���� �� ���� �� ��� �� ����� �� ���� �� ���� �� ���� %�� %� ��G� ��� ���� �� ��� "�� �<0� ���� � � ��� ���� ��� � ����� � �=�� ��������� �=�� ��� ��<� ����� ��0N�I9� �2

h�F"7�&��C���� /�&��C����1 ��

h�$ S!� �<2h���!�� !�F"������% �G� 9�����FF�% ��

'����$ ���'�S��� �"����!��%� � `b| ��=� � p3`� ��2� � 9���!�$�% <2'��&� !I�%� ������������� <�� ���������� <�� ����������� <�� ��������� <�'��9�F�%� � ���� � �2 ���� �2'������% ��'��%#B! �2'K��#F� "�� �<0� $�#$����$ /w+�{je+�{5nq1 �00� $B#�$� ���� 9�7�C� ���� ��9�����FF �00'�:��$�� �9�7��

Page 43: Конструкции языков программирования. Приемы описания: Монография

A�7F�BD !�#���� �2�

� � �! ���$� =�� �������$�� <�'�7��� $BC����D �� ��

Z#�$���F����� F�S��% ��Z9�7$�:�% ��C!� ���

�"J7��� I9D <G�"J!� �=� �"����!�BD �0� 9�����FF� �2� �9I���!�I�% ���9������ �"����!I�� �G�9��I�%� Æ �<� �99��!�I�� �0� !������$��% �2� !�F9�#�I�� GG� � ��0� � Æ ��0� �7 7�F�F�� � 9������ 9���7�$��������

=0� � 9���#$7� =0� � � FF� =2� �7 F�:��$�F� ��=� � �3]3x3/* �1 ��=� � ?lp3^x/* �1 ��=� � |b@?|�|/*1 ��=� � |?l?|�|/*1 ��=� � a^3�3`3pp�^/* �1 ��=� � p3b^`u/* �1 ��=� � p�``3pp�^/* �1 ��=� ��:7��$� <<�9�7��� 7�% �� � %$� <�� 7�F�$ =G���"��:�� �I�$�L8 <�

A�F%��� ����� 20

A�7�C� ���A�!�LC����� 9���!� <0A�F�%� $K�:7� $ �G� 9�7����$�C�% ��� �$%#��% ��� � #�F� �G� � 9��F�$�� �G� ��� !� �B �=<A�7����$!� ��A��� ���� / ��A���F���!� ��A�7�� F�:��$�� � �������$���� <GA�7��:�� �F���C�!� ��� � 7�% !�F�7B �GA�7���$�� �� ��� 7�����FF�F� G0A��"��#�$��� 7��C� G�A��I�9� M!������������ ��GA���$��$��� �� � ��=A�����FF�� 9��"��#�$�� ��G� 9��$�!� !���!����� ���A�����FF���$��� ��� !� �� �00A��7��:� ��G� $B��:�% ��2� !�F�7B ��0A���#$7�� 7�����FF <<� M�F��$ GG

��$��$�� 7�F�$ 2=� ��7� 7�F�$ =���#7�� ��G �����#F8� ��=�! ���% <�� ��$F���% ���

Page 44: Конструкции языков программирования. Приемы описания: Монография

�2= A�7F�BD !�#����

�S�!�� �� � 9���% 2�� * <�� �����%�D <�

E$�D��$�� !��������� G�E$%#B$��� 7!����I�� ��0� 7��F�C�!� �2�� F�!� �0�E�!���� ������� <�� ����� <�� ���� <�� ��� � <�� ����� <�EF���!� ��� 7���I���% �G� 9���7��$�% 2<� ���F����% 20� � $B��:�D 20� � !�F�7 2�� �9��I������% �<� 9��7��:�D ��0� �$%#B$��%� � 7��F�C�!��� �2�� � �����C�!��� �2�� ���7����% ��G� ���F����% �� 2=� %#B!�� � � !I�������� ���E���!��� �� 2=� �"����!�BD �2� � �9�7�� �2� ���F���BD 2<� 9�%�� � 2�� ����� $BC����D 2�E���F�� ��9�$ ��E!�"!�� 9� ����I��I��� � $�$� �<� � $9��$� �0E����� <�E����%� <� 20 ��G

� �$� <=� � ��� ��� �� �� ��� ����� <=� � ��� �� �� ��E9I���!�I�%� �7�#�C�% ��E�7� G�E�B�!�� � #�C� ���E�� !� ��� ��D��$�% �=0E FF� <2� M�F��$ G<E 8����� � !I������% <�

U��F�� � 9�7$�:�D ��C! <�U���%� $BC����D �� =� =�� 7�!��9I�D �0� 9�7$�:BK ��C! ���� 9����$��C�$�% =G� �S��! <�U�9 ��2 ��<� ��� 7�BK =�� ����C�!�D <� =<� 9���F����#F ��0� 9���:7�L8�D ���� 9��$�!� ��2U�:7��$� <<

)�$�� F� 7�% ���� :7�D ��)���$� <2

; !I��� $B�S�K 9��%7!�$ �<; !I����&!�!&�"J!� ��2; !I�% ��G� 0 0�� 0 � 0�� <=� � <�� � <= <�� ����#��� ���

Page 45: Конструкции языков программирования. Приемы описания: Монография

A�7F�BD !�#���� �2�

� ������� ���� ���� �=� ��������. ���� � =0� �� ��� ���� �<�� �� ��=� ���� ��� ��� ��� �77���$�% ���� $ 9�����FF���$��� =�� $B�S�� 9��%7!� �G� !������$��% ��� !������% G�� !���� !��� ��=� !�I9� ���� !���!I�� ���� F��F���C�!�% ==� F�����% <�� 9��B$�% <G� �! ���$�% ���� ������% ���� �7�F���% ��� �9�7�� ���� � �$B��:�F ���� � �! ���$� =�� 9���:7�L8�% ���� �! ���$�% ���� �F���C�!�% 20 2� �<� � �G=� � � 2� �G=� � � ��G �G=� � 2� �G=� � � =� ���� � � �0�� � � �G�� � � �G=� � � �G=� � � �G� �G=� ��7�$��% #� ��� ��9 ��� ��:7��$�% G�� ���$�% �=

�9� <G� �"J7�� <G� 9�7� <G

��!�� VW56X 0�� $ $BC����� 2�� 7$�D�D 02

��F�� ���"���C�!�D 0�� $��� ���BD <�� ���F��BD GG� 9�7���$�� G�� ��I�����BD 2�� ����I7�BD 2�� C����CBD <�

�#B!� �F9����$BD 2<� !�����BD �G� � !I�����BD ��<

Page 46: Конструкции языков программирования. Приемы описания: Монография

��� (�������D

U��������

: �����$��! �/"� /),��� (1�� �/ ��)1�+��� 5 (�$�*5)��� 5 �,9��+��(/# � *(8�,� � ("�� (�(�� ����� g ( �,��+��(/ ���/ ��)���(/ �'� ���0(3� �'� ���0(( $�)��*/- � ��8�� �� ���(4)��8��(3 $�*28� 5 )��8��(/ $��0�"2� (*( �2��0(3� �'� ���0(/� $��6��11� /�*/� �/ ��(1 �':�� �1# �� ��,3 ��'/ $��/�*/� #'2"28( $�(*�+���,1 � ����12 ��621�� 2� @�*�+(1# 8 � )��8�9�(�1 �9�,��+��(/# $�(1������6� � ����12 ��621�� 2 a��� (8�9���12 $���1� �2d# /�*/� �/ �*�� �9�,��+��(/ � ���3 � ���9��� (�������3 ���"�3# 8 � ���1�*5�,3 $���1� � ��/),��� �/ ���� (8���(1 $���1� ��1�

���� Cq ���$�/���D! @�" �,)���1 $��0�"2�, $��(1�� �/ �'��9'� �� �,��+��(/ ��� (8����6� $���1� ��# "�-.�/ ���� ��,38�� (8�� (*( $�*��� 5- �,8(�*����� )��8��(��

�0������ C?�/��� q D! $��0�"2��,4 /),��4 ���6"� $��"9$�*�6��1# 8 � ��� (8���(� $���1� �, �,8(�*/- �/ �� �,)����2��0((! � � "�� 6 ! 2� � ! @�4"�� �*/ �'�)��8��(/ ���31� �"(�( (�$�*5)2� �/ ��1(� i +�"�,� �,8(�*��(/�

�0������ C������ q D! *��(�,4 �,8(�*��(/4 ��� (8���(�$���1� �, $�( �,)��� �2��0(( �,8(�*/- �/ �*5��# ��6"� ��(���'4�"(1,# ( �*5�� � �2+��1 �':�1��

N������! ����1� �(��� �/ ��� ("��*()(������,3 1� �1� (8���(3�':�� # 1�"�*(�2-.(3 a$��"� ��*/-.(3d "�26(� �':�� ,�

N����! @�(�/ (� ��1(�� O"�1��P �1�� � ��1(�� O1��+�� ��P "*/2��)��(/ �����2$��� ( �':�� �� (1�� $�" ��'�3 �����A���� �$9��"�*����� 1� �1� (8����� �������(�� ��1��, (�$�*5)2- �/# ��9$�(1��# "*/ ���2��(���6� �$��"�*��(/ �2��0(3 ( 1��+�� �� ���� �/.�12 ���1��( 1� �1� (8���(� ��$���,# ��� ��*/-.(� ���9*() $��/ (3 $��6��11,# �,$�*���(/ $��6��11, ( �$(���(/ �,9$�*���(/# � ���/ �/ � �'*�� ( ���(( �,8(�*��(3# �� ���/ "�9��*5�� 6*2'��� ��)��'� ���� ��1��4 ���(( �,8(�*��(3 2� �9���*(��� �/# �'�����,��� �/ ( (�$�*5)2� �/ �$��"�*��(� "�1������ �2.��� (# � *(8�-.�3�/ � ��"(0(����6� $��(1��(/ 1��9+�� ���

E����! 7�$(�5- �8( �� �/ � �2� 2�� "���,4 � �(��(������,1 8(�9*�1 $�(1�������,4 ��1$���� # (*( $�*�3�

#��$���! ���0�$ , �"��"�� "�3� �( �*5�,� �2.��� (# � �'�9)��8��(/ $��"� ��*/- ��'�3 �"(� () �� ���" � �0����� �'

Page 47: Конструкции языков программирования. Приемы описания: Монография

(�������D ���

? (4 �2.��� /4� ���0�$ ���),��� �/ �(� �� (��9��1�� (8����3���� �2�0(�3� ��$�*5)����(� $���� (���.(��1 � ��8�� �� �':9�� �� (1���� �(� �� (��9��1�� (8���(4 ���� �2�0(3 � ��,��� "�$�*�( �*5�,� ��)1�+��� ( $�� ����(/ /),��� "(��1(8����6� ($� �# ��)1�+��# ()1��/�1�3 � $��0���� �,8(�*��(/ ��1�� (��3�

;�� /����0������ C����0������D! �� ��*5��3 ("��3 � �9(�98(�*��(( /�*/� �/ ��)1�+��� 5 �8��6� �$(���(/ ( (��*�"����(/$��0���� $�"� �����(# � �1 8(�*� $��0���� ��/),���(/ $���1��9�,4� ;�6*�A��(� � �8�8��3 )�$(�( �9�,��+��(3 $��"$�*�6�� #8 � 1�+"2 �(1��*�1 O�P ( �(1��*�1 �8�( O�P )��*-8��� ��/)��9��/ a$�"� �����8��/d $���1����/# � ���# 8 � )�$(���� �$���� � �8�(# �8( �� �/ �*�1 �9�,��+��(/�

;�� /��� ����0����! �������/ ("�/ (�$�*5)����(/ *�1'"�9�'�9)��8��(3 )��*-8�� �/ � �*�"2-.�1� @2� 5 � ���%���� ���� �,9��+��(� a$�����'� ,��-.�� ?*�1�� , () � � ?*�1�� , () ��d#��)1�+��# ��"��+�.�� �4�+"��(� �� ����1� �(1 �*28�3# ��6"�� � � $�"� ��*/� �/ �1�� � �� ��)2*5 � ���3 $�"� �����( �'�9)��8(1 8���) � ���� g � ��)2*5 (�2-.�� �,��+��(� � ��� a$�*28��9��� � ��)2*5 � � $�"� �����(d �'�)��8�� ?*�1�� ���

������! ����(��1 �8( �� �/ ���/ � �2� 2�� "���,4# "�� 2$ � ��19$���� �1 �� ���3 ��2.�� �*/� �/ 8���) (�"���,� ;�,*�( � ? �3��/)( �,6*/"/ ��� 8�� �,3 �*28�3 ��(4 1���(���# 2 �� ��,4 �*5�� �"�� ��1$���� �� �*/ "��*��(�����(/ 1���(�� � � ��1$�9��� �1( ����# ����# � � � # ���� (�$�*5)2� �/ ���� �2�0(/ "��*���0((����� ��� � ���

��5����� Cq ����/�0� ����������D! @���'��)����(/ ��� (8�9���6� $���1� ��# �,$�*�/�1,� "� �6�# ��� �� ��/),��� �/ � ���91�*5�,1 $���1� ��1# ���/ ��)���(� 1�4��()1�� $���"�8( $���91� ����

��/� Cq ��0�����1D! A(����1 �1,�*� 1�"�*5 �,8(�*��(3/�*/� �/ $��"� ��*��(�1 ("�( � ����� ( ����.�� �/ ���1�*59�,1( /),���,1( ���"� ��1(# �(��(�2-.(1( ? � $��"� ��*��(��@��� (8���(� 1�"�*( *('� ��)*(8�- ��'� ����� $��6��11, (�'��'� ,���1,� (1( "���,�# *('� ��� $��6��11,# �� ( "���,� ��� 2- �/ �"(�,1 �'��)�1�

=������� C��������1 qD! (��(����3 ���1� �'�)��8��(� �$�9�� ��� 1�+� 2$� ��'*/ 5�/ a$� ��6*�A��(-d 1�+"2 �'�)��8��(9/1( �$����"���

Page 48: Конструкции языков программирования. Приемы описания: Монография

��� (�������D

=������� C���������1 qD! $���(����3 ���1� )�$(�( ���8�9*� )�$(�,��� �/ �'�)��8��(� �$��� ���# � )� �1 2��),��- �/ �6��$����",�

=����$�� ���/�! �)1��/� � ���� ��� �/�(� .� �� � �� ����� ��9� �/�(� .� ���� �� � �

�������� C����/�0� qD! @�" $���"�8�3 $���1� �� $��(1�� �/ "�9*5��3A�/ �'��'� �� ? �6� )��8��(/ "� �4 $��# $��� �� '2"� �,9$�*���� ��/),���(� � ���1�*5�,1 $���1� ��1�

����������! �',8�� ("�� (�(�� ��, ��$�/12- �� ��/),��- ��)��8��(/1(# � "�*�- ? � $����"� ��1 �2.��� �3# ��),���1,4$���1���,1(# ( �*5�� $���1���,1 $�($(�,��- �/ )��8��(/���+�� �8( � 5# 8 � (�$�*5)����(� $���1���,4 �� /�*/� �/ ��()9'�+�,1# � ("�� (�(�� ��, $�(�(1�- )��8��(� ��$����"� ���9���

����5�/! @���4�"�1( �8( �- �/ ��(� ()1����(/ $�� ����(/ 2$���9*/-.�3 (����1�0((# �� ��,� �',8�� �,),��- �/ ��1��"�1('�)2�*����6� $���4�"�# (1�-.(1( �(" 5��� � �

����/��������� C����0��� qD! <2��0(/ � �� 2��*5��6� ��9621�� ��

����������! � "�*5��/ "(�0($*(��# �� ���/ ����1� �(��� ��)9*(8�,� ��$�� , (�$�*5)����(/ /),���

���/�?���� C��������0����� qD! H�)��8��(�1 �(� ���(8����96� $��"*�+��(/ /�*/� �/ �8��/ a( �"(�� �����/d �(���0(/ ���9��� ��3 ���� �2�0(( � �'�)��8��(�1 �� ���� ( 2?� ��� ;2.�9� �����# 8 � �(� ���(8����� $��"*�+��(� "�*+�� �,"�*/ 5 ���9��� �2- ���� �2�0(- ���"( $��8(4 ���� �2�0(3�

���/��������! �� �1� (8����/ �'� ���0(/# ()'(���1�/ "*/ �(�9��0(( ���3� � �6� (*( (��6� ���*5��6� �':�� � ��),��� �/ $��"9� ��*��(�1� ��� $���(*�# � ��8�� �� �'��)�� $��"� ��*/�1,4 �':9�� �� �,'(��- �/ �2��0((�

������������! 7��8��(�1 $�(���(���(/ � �� � �8( �� �/ �2��90(/# �� ���/ � ��8�� �� ��621�� � (�$�*5)2� ��� �/�(�# � )� �1������ (�2� 8�� 5 $�1/ (# ���4�"2�12- $�" � �� )��8��(� �,9��+��(/ ��

���������! �������3 �':�� � '�*5A(�� �� /),��� $��6��11(��9���(/# �� ��,3 $��"� ��*/� ��'�3 ��1'(��0(- '�)(��,4 �':9�� ��# 8�� � ��),���1,4 ���� �2�0(/1(� ������,1( ���"( ���9� �2�0(3 �8( �- �/ �������������# "��0����# ������ ( ��&������� <�� (8���(# $��()��*5�,3 �':�� 9$��6��11� ��1'(9

Page 49: Конструкции языков программирования. Приемы описания: Монография

(�������D ��G

�(�2� �/ () "�26(4# ��)1�+��# '�)(��,4 �':�� �� $����"� ��1�$���'�� ��1'(�(�����(/� >��(1 �'��)�1# ��� 1��6��'��)(� $��96��11 �'��)2� (�"2� (��,3 �*���# � �� 5 $������� �6�# 8 �$��":/�*���,3 �':�� /�*/� �/ $��6��11�3# $��()��"( �/ (�9"2�0(�3 $� �6� $�� ����(-�

��������� C����$������� qD! H�'�� �$��"�*��(3 �2��0(3#�� ��,� $� 1��� ���'4�"(1�� ( �,8(�*/- �/ ��1$5- ���1� �*/��A��(/ $�� ��*����3 )�"�8( $��6��11(� 2 $�(4�"( �/ ��)"�9�� 5 ��2- �2��0(-# �� ���/ ��� ��) ( �'��$�8(��� ? � ��A�9�(�� >��(1 �'��)�1 �'��$�8(��� �/ $���(*�# ��/),��-.�� �4�"( �,4�" $��6��11,� g � �2��0(/ 1�+� ��)�(��2 5 ��� ��1'(9��0(/ "�26(4 '�*�� $��� ,4 (*( "�+� $�(1( (��,4 �2��0(3# � �1 8(�*� �$��"�*���,4 ��1(1 $�*5)��� �*�1�

���������������� C/�������� � ����������� qD! �(��2��(/� � �2� 2���1 $��6��11(�����(( ��)�(�*� � ��&G 6�# ��6"� g���39�� �� �,� 2$(* � $��"*�+��(�1# 8 � O�$��� �� ^TWT �*�"2� �8(9 � 5 ���"�,1P# � �� ���6� ��� ( ��8�*��5� �������3 ��621�� $��9 (� ^TWT ��� �( � �1# 8 � $��()��*5�,� $���4�", �� � �2� 29�(�����, ( ��)"�- $��6��112# � �� ���3 ��)1�+�,� $2 ( �,9$�*���(/ $���$*� �- �/� >��2- $��6��112 ����)1�+�� $��/ 5 ($�� �� (���� 5���621�� �1 � $�*5)2 ^TWT /�*/� �/ �# 8 � � ���*5�,4 $��6��191�4 8�� � ��'2- �/ '�*�� �'.(� 2$���*/-.(� � �2� 2�,# 8�1 �# �� ��,� $��"*�6�- � �2� 2�(������,� �$��� ��,# ( 8 �$�(�2+"��(� $��6��11(� �� (�$�*5)��� 5 (4 $�(��"( � (��2�9� �����12 ( �*�+��12 ��"2�

���/�?����! @��"�*+��(�1 �8( �� �/ �2��0(/ () �6�# 8 �# ����+("�� �� � �� $��6��11,# '2"� �12 $���"��� � ��8�� �� $��91�+2 �8��6� ��)2*5 � �% � $��*�"��� )��(�( � �6�# )� 8�1 �*�9"2� �� � �� $��6��11,# % � �(��*5�,3 � �� $��6��11,�

���/�����! g���� ��)"�*��(/ )��*-8�� �/ � �1# 8 � �"�� ( �+� $���1����/ 1�+� ', 5 $�� ��*��� � ��� �� � �(� �����*5�(1("�� (�(�� ���1� >��(1 �'��)�1# ��*( �"��12 () ("�� (�(�� �9��� $�($(�� 5 )��8��(�# � ? � +� )��8��(� ���+� �/ $�($(���9�,1 ( "�26(1 ("�� (�(�� ���1� ? �1 $��/�*/� �/ $�'�8�,3?���� �

�������$����� ������! �'.�� )��8��(� �,��+��(/ )�"�� �/��� �2��0(/ () ���", � )��8��(/� >��(1 �'��)�1 �"(�� ������#8 � "�*�� �,��+��(�% ? � ��)���.�� ��)2*5 � �

Page 50: Конструкции языков программирования. Приемы описания: Монография

��< (�������D

8��������! @��"1� �1 (��*�"����(/ ��1�� (�( /�*/� �/ )��8��(�#(*( �1,�*# ��*�",���1,3 � /),��

8�������� C���������0����� qD! ;����"� �8(��� ��(1��(� ���,'��� ( (�$�*5)����(( $�� 2*� �� a���(�1 ( $���(* �,��"�d#�� ��,� �'��$�8(��- 2�(����21 "*/ ����2+"��(/ � $��6��11�4�

8�������� C��� ���0����� qD! ����1� �(��� �/ ��� �� �5 "�9�� �0(����3 ��1�� (�(# $�(�*���-.�/ �2.�� ����� �*6�'��(8�9��(� $��/ (/ ( 1� �",�

8�������� C/�����$������ qD! >��1(� O"��� �0(���,3P $��"$�9*�6�� $�(�/ (� �$�0(�*5��6� $�(�1� �$(���(/ (� ����2-.(4��� �':�� ��! ���1 $���(*5�,1 ���� �2�0(/1 "�- �/ �'�)��8�9�(/# ��),���1,� ��������� @�� ����(� ��1�� (�( ���"( �/ �$���� (�����(- "��� � �� ���� �2�0(3� ���� � , 1�62 (1� 5��� 1�A(���9��)��(�(1�� �'� ��� ��� )��8��(�# �� ( "��� 5 1�9A(��,3 ��"# �� ��,3 "�� � �8�� ?���� (��� �,$�*�/� �/� @�9�*�"��� � ���( �/ � '�*5A�3 � �$��( � �2��0(���*5�,1# 8�1 �(1$��� (��,1 /),��1� ���� �0(����/ ��1�� (�� � 8� *(�� ��94���/� �':�� �2- ��(�� (�������� 5 � 0�*�1 $�"4�"� � ��)��9'� �� ��1�� (��

8�������� C�����$������� qD! ���*�"2� 1�A(��,� �$���90(( $�( (�$�*���(( $��6��11� ���'���� $�*�)�� "*/ ���*()�90(( /),��� �$���0(( 1�+�� �$(�,�� 5 $����"� ��1 1�A(���9��(�� (������,4 "��� � �� *('� �$�0(�*5�� �,'�� 5 1�A(���9��)��(�(1,� "��� � ,�

8�������� C����/������ qD! ;�1�� (�2# ��"��+�.2- $��"�*+�9�(/ ( $��0�"2�2 "�24? �$��6� ��/),���(/ ("�� (�(�� ����# ��9),��- � ��"�� ��3 ��1�� (��3� @��(12.�� ��1 � ��"�� ()�90(( ��1�� (�( /�*/� �/ �'*�68��(� �������(/ ��)1�+��� �3 ��)9*(8�,4 /),���� 1�� � � �1 �6���(8��(� �4�(8���(4 $�(�1��2�*��(/1( � ��"�� ()�0(( 1�+� )� �2"�( 5 $��"� ��*��(� ���9��� ��6� /),�� $��6��11(�����(/�

8��������! ���*�"2� �/ ���1�# ���A�(3 �("# � �2� 2�� ( � $� ��)9*(8�,4 ���� �2�0(3# "�$2����1,4 � /),���

8�������� C� ��������1 qD! ;(� ���(8����� �$(���(�# $����"�9 ��1 �� ���6� $���8(�*/- �/ �����)1�+�,� ���(�� , ���� �2�90(3 ( (4 ��$����"� ����,4 ��� ��*/-.(4 a���� ( 2?� ��d�

8�����! ;$(��� ����1� �(��� �/ ��� �"����"��/ $��*�"��� �*59��� 5# � �� 5 ��� �� 8*��, (1�- �"(� ( � +� ($�

Page 51: Конструкции языков программирования. Приемы описания: Монография

(�������D ��0

8��/�! @��/ (� ���", (�$�*5)2� �/ "*/ 2��)��(/ ��/),���(/ ("��9 (�(�� ���# � ��� �� � �2-.(3 "�1�� ���" ��� �$��"�*/� �/ $�9���"� ��1

��� � ��� ��� � � ��� �����

��1�� �� "��� (�2�1,4 )��8��(3 )��(�( � /),�� $��6��11(9�����(/�

8���� �� ���0����! ;�,*��3 �� )��8��(� �*2+( � �8��� ( ���)1�.��(�# �� ���� �6� ��"��+( �

9����� ��0�����1! ��1��4 ���(( �,8(�*��(3 2� ����*(��� 9�/# �'�����,��� �/ ( (�$�*5)2� �/ �$��"�*��(� "�1��� ��� �2.��9� (# � *(8�-.�3�/ � ��"(0(����6� $��(1��(/ 1��+�� ��� >��9�(/ �,8(�*��(3 $�1�6�� �,/��( 5# 8 � ��(��,� ���1�*()�0((a��1�� (8���(� 1�"�*(d �� 1�62 ', 5 ��$�� (����8(�� ���$��9� �����, �� �� �(�(�*5�,� /),�( $��6��11(�����(/�

O���$����! <2��0(/# ��621�� �1( �� ���3 /�*/- �/ a"�26(�d�2��0((# � ��)���.��1,1 ��)2*5 � �1 ����5 /�*/� �/ a"�26�/d�2��0(/�

O���$�� C������������� qD! <2��0(( '�*�� 8�1 � �"��6� ��6291�� �# $�*28�-.(� ���( ��621�� , O$� �"��12P ��),��- �/ ���9�(������,1(�

O���$�� C��������0����� qD! �� �1� (8����/ �2��0(/ � � �'9*�� 5- �$��"�*��(/ � ( �'*�� 5- )��8��(/ " )�$(�,��� �/ ���

� � �� "

( $��(1�� �/ ��� 1��+�� �� 2$��/"�8���,4 $�� �� � � � � "#"*/ �� ��,4!

�� �� � � ( �� �� � � � �� � ���

�*/ �� � � � $(A� �/ �� � �# � �2"� ��1�"*���� $�*28�� �/#8 � � � ��� �� �� � ��� )�$(�( � � � � " �,��+��(� O� � "P��),��� �/ *�6(8���(1 ($�1 � ( �'�)��8�� 1��+�� �� �����)91�+�,4 �2��0(3 () � � "�

O���$�� Cq ���<��� ����/��D! �'.�1 �*28�� �2��0(�3 �,�9A�6� $��/"�� �8( �� �/ ���/ �2��0(/# �'*�� 5 �$��"�*��(/ (*(�'*�� 5 )��8��(/ �� ���3 ��"��+� �2��0((# � �� 5 ���),��� �/�2��0(���*5�,1 $��� ���� ��1�

Page 52: Конструкции языков программирования. Приемы описания: Монография

��2 (�������D

O���$�� Cq � ����������������D! <2��0(/ � �/"� �$���" ���&�������"��� a��$�(1��# lKLbKEd ����1� �(��� �/ ��� ���� �2�90(/# �$(�,��-.�/ $���(*� $���'��)����(/ ��621�� �# �� ��,1/�*/� �/ ��� (8���(3 $���1� �# � ��)2*5 � � @2� 5 �$��5 � /�9*/� �/ ���� �2�0(�3 �2��0((# ��� �*5�� 8 � �6�������� >�6"��3 1�+�� $�� ��( 5 � ��� �� � �(� 1� �1� (8���2- �2��0(- � !

� ! ���� (8���(� $���1� �,� � ���)2*5 � ,��

g � �2��0(/ � �$��"�*��� �*�"2-.(1 �'��)�1!

� � } ��)2*5 � �,)��� � � $���1� ��1 ��

��1��4 "��� �0(����3 ��1�� (�( � ����1� �(��� �/ ��� �'�9)��8��(� � # � �� 5 � �� � � � �

O���$�� C����?/�AB�� qD! @�( $�� ����(( ��1�� (�( �2��90(-# ("�� (�(0(�2-.2- ��1�3� �� 8�� �,4# (�"(�("2�*()(��9����,4 �2��0(3# ��),��- $���+"�-.�3 �2��0(�3�

Prm���<���! ;�� �/�(� � �� �6��(�*5��3 �'� ��� ��3 1�A(��aJx]# JKWF^TNDbKE xpLWNKbW ]KbCDZFd ("�� (�(0(�2� �/ ��3��3+ �� �� � ,# 6"� � % ��1 anFNcd# � % ��" aPTvFd# � % � ��a&WKbod� ��1� 4���/ �/ ��)2*5 � , $��1�+2 �8�,4 �,8(�*�9�(3� ��"� 4���( �/ (�4�"��� �,8(�*/�1�� �,��+��(�# �� ����$�� �$���� ���*()(�2� �/� ;-"� ��+� )�$(�,��� �/ ����8� �*59�,3 ��)2*5 � � � ��� 4���/ �/ ��$�1�6� �*5�,� "*/ $����"��(/�,8(�*��(/ )��8��(/# � �� 5 � �� (6��� ��*5 "�1$�� ��8�� �� ��2 �����6� $��"� ��*��(/ $��6��11, (�$�*5)2- 9�/ (�� �2�0((9��1'(�� ��,# ��� ��*/-.(� "���� ��� )�1��2 2-�� �6��(-� H� Jx] �$�*�� ���*()2� �/ ��"2�0(/ 6�����

JRUQbJ���������$��! �'��$�8(��� �,4�" () ����"(�, "�26�3 ���9� �2�0((# � )� �1 $��"�*+�� �,8(�*��(� �$*� 5 "� �6� )����A�9�(/�

&aPe���<���! �'� ��� ��/ 1�A(��# (�$�*5)2�1�/ � ��8�� �� �,98(�*( �*5��3 1�"�*( "*/ $�*28��(/ )��8��(/ �9�,��+��(3� ��9 �1� (8����/ ("��*()�0(�/# �� ���/ $�)��*/� $��(**-� �(��9�� 5 ���*()�0(- 1�4��()1� �,)��� $� )��8��(- ( � � (8�������/),���(� $���1���,4�

Page 53: Конструкции языков программирования. Приемы описания: Монография

�%C���$ �����$�C ������������

������ %�� �$ �� !�������������@�(�1, �$(���(/

����� � ��� �������� � ���� ��������

��������� ������ ����������� ������ ��������������� ��������� ����� !�"#$%�!� ���� &� �#� '�&� ���� &� �!(#�

)���* �+�� ,�-� ����- . �

/ 01���� 2�3���45��6��!( �����( 7�����������8 ����( 9( ��&� :�;+< ;+!=�+=��(

>??@�%%AAA�BCDEFGHD�DC( ,&� ������ EFGHIBCDEFGHD�DC��J��-�� �� �-����&����K �����&������

3L . �6�## �� �6 ����M�� ���� ��

������J�� ����������� ���M����������������� -�����"������� 4����8���8 �����J���

N��������=,�������&��������� -��&K�����. 99�;;����;+6�L���6�6���!��� �� ; �K�� ���� ��

O�&����� &�����P �MQ������8���8 �&����������� ������J��/ =��+=;6( ��� �R ;+6���P �����( M��SK�T

/��������� ��&��� ����������� �������� ��������&���T" �����-����

��� )��������� UO����V����;;( �����( W�M�����8 ����( !

7�� ���� ������&�*�� / 01���� 2�3���45��6��!( �����( 7�����������8 ����( 9( ��&� :�;+< ;+!=�+=��

���

�����