Subject: Re: Refal+ abstract syntax
From: Andrey Slepuhin (pooh@msu.ru)
Date: Fri Nov 26 1999 - 16:14:36 MSK
���� ������!
������ "���� ���������� � ���� ��������� ������":
������, ��� ��� t.Pattern, t.Format � t.Result :-)
���������, �� ��� ������, ����� �������� ���:
1) t.Pattern ���������� ������� �������� ���������� � ��������,
������� ��� ���� �������� ����������. ������� �������� ����������
��� ���� �� ���������� (� ������+ ��� ������ ����������).
�.�. ���� R - ������������ ���������, �� ������ ����
R : e1, R : e2
����� ����������� ���
t.Result t.Pattern t.Pattern
R e1 e2
2) t.Format ���������� ������� �������� ���������� � ������� �������,
������� ��� ���� �������� ����������. ������� �������� ����������
��� ���� �� ���������� (� ������+ ��� ������ ����������).
�.�. ���� R - ������������ ���������, �� ������ ����
R :: e1, R :: e2
����� ����������� ���
t.Result t.Format t.Format
R e1 e2
3) � t.Result ���� ������� ����-���� �������. ����������
������������������
t.Result t.Block
������: ����� �� ���������� t.Block �������� �������� ����������
��� ����������������� � ��� ������������? �������� �� ����� � ��
� ������. �����������: ������ ��� "Flush", ������� ����� ����������
������� �������� ����������. ����� t.Result � t.Block �����
������ ����������������� � ������� �����������.
�� ����, � �������������� ������-X (� ����� ������ ������������
������� ����������� ���� ��� ������������, ���� ���������� ��������)
'a' {'b';} -> t.Result t.Block
'a' {'b';}
'a', {'b';} -> t.Result "Flush" t.Block
'a' {'b';}
����� ������� ����� ������� ����� ���������� �� "Flush"
(�� ����������� ��������� ����������� - ��. ����)
������ � ������+ ����� ������� �������� ������ ������ ����
������, �.�. ���� ����� ������� ����� ������������ ��������� R
� �������� �������� ��������, �� ���� ������, ������, R::e,
���, � �����-�� �� ����� ���������.
���������. ��������� ���� R : e1, R : e2 �������� ������������� �
t.Result t.Pattern "Flush" t.Result t.Pattern
R e1 R e2
���� ����� ���� ��������������� ��
t.Result t.Pattern t.Pattern
R e1 e2
�����. "Not" ���-���� ��������� � e.Statement � ������ ������ ����
"Not" (e.Statement)
�����
"Not" ("Not" (e.Statement))
����� ������ �������� ���������.
� �����, �������, ��������� ���������� ����, ��� ��������� ������������
������.
� �������� �������� ��� �������� (� ��������� ��� ���-���� �� ��������
�����), � ���� ������������ �� ������� ����.
����� �������,
������.
This archive was generated by hypermail 2b25 : Mon Oct 25 2004 - 21:24:58 MSD