Subject: Re: Re[3]: ������������ ����
From: Sergei M. Abramov (abram@botik.ru)
Date: Sun Apr 04 2004 - 17:56:58 MSD
> ��� �� � ��� ����-������ �� ����������� ����� �� �++ ?
�������, �������� ������ �� ������ ���������. �������� ��� ����� ������
���� �� �� ������ ������ ��� ������ ������������ (��������...). ��� ������
����������--��� ��, ��� ���������� � ��������� ����� ����� (�������� �
���������� ������...)
� �� ������� ����� ������ ��� � �������� �����:
http://www.botik.ru/~abram/temp-T-system/
> ���������� �����. �� �������� ���� ���� ��� ������������ ��������� (!)
> ��������: 1 � 2. ������� 2 ������������ ���������� ������������
�����������������.
> ������� 1 - ���.
���� �� ����� ������������� ���������� �� ������ ��������������� �����
������.
> ... ����� ����, ������� 1 ������ � ��������� ������������.
...
> (������, �����, ����� ����� ���� ��� �������, ����� ��������� �����
> ��� �������������. �� ���������, ����� ��� ���� ��-������������.)
��� �����.
> � ��� ��, ����������� � ��������� ������� - ����� �� �� �����?
����� ������� �� ����, ��� �� �������� ����� "��" (������ �� ���������
����).
� ������, ��� � ���� (��� ������� ����): ���������� � ���� �-�������, ��
������ -- ���� ������� == ���� �������, � �� ������ �����-���� ����
�-�������.
��� �����, � �� �� ���� ��������������� ��������� ����������� � �����
������������ ������ (����������� � ��������� ������������) -- ��� ����� (�
������ ������ � ����-����������), ��;��� ���������� �� ���������� �
������������� ���������.
� ��������� (����� �����������):
> >(3) Parallel subexpressions inside one pattern, e.g. (P1)(P2), as well as
> > various orders of matching.
��� �������� � ������ (����� ������ �� PDF), � �� ������� �����������
(��1)(��2):(P1)(P2)
����� ������������ �������������. ��� ������� ����������, � � ����� �������
��� ����� �����������--������� �� �������. ��������:
(�Old1)(eOld2) : (e1 eX) (eX eX eX)
� �� ������������ �� ��� � ����� ���������������� ���:
L = length(eOld2);
if !(L mod 3 == 0) then goto fail;
�X = subexpr(eOld2, 0, L/3);
if (�X != subexpr(eOld2, L/3, L/3)) then goto fail;
if (�X != subexpr(eOld2, 2*L/3, L/3)) then goto fail;
L1 = length(eOld1);
if !(L1 >= L2) then goto fail;
if (�X != subexpr(eOld1, L1-L/3, L/3)) then goto fail;
�1 = subexpr(eOld1, 0, L1-L/3);
�� ���� ����� ������� ���������� ��� ������������...
�����
�.
This archive was generated by hypermail 2b25 : Mon Oct 25 2004 - 21:25:00 MSD