Re: Re[3]: ������������ ����


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