Re: Refal+ abstract syntax


Subject: Re: Refal+ abstract syntax
From: Andrey Slepuhin (pooh@msu.ru)
Date: Tue Nov 23 1999 - 12:21:14 MSK


"Sergei M. Abramov" wrote:

> >6) ������� �������� �������� �������� �� ��������� �������:
> ...
> > - ������������� �� ������� �������� ���������� ���������
> > ���������� ������ ���������? (�.�. �� ����� �� ���-������
> > �������� �������� ����� ��� ������ ������)
>
> ��� �������, ��� �������� �� �������������� ������� ��������� ������
> ����������, ���� ����������� �������� ����������� ������ (s., t., v.,
> e.). � ���� ������ ������������� ������� ����� ���������� ���
> �������������� ����� ���� ������ ���������� ��������, ��� �����
> ����������� � ��������� (����� �������� ���������), � ���������...

�������.

>
> ���������--����, ����� ���� ������� ����� <Read ...>

��������.

>
> * e.Program ::= t.ProgramItem | t.ProgramItem e.Program--
> * t.ProgramItem ::= t.FuncDef | t.BoxDef | t.TableDef | t.VectorDef
> * | t.StringDef
> + | t.ConstDef | t.Pragma | t.ImportDef | t.Export
>
> ���������:
> -- ����������� ��������� (��� �������� ������� ���������--����/�� ����;

� ������, ��� � AS ��� ��������� ��� ��������� �� ������.

> -- ������ ($trace, $traceall, ����� ����� ���� ������� ��������� �������
> #file/#line �� ��--��������� ���������������� �� �������� �����, ���
> ��������� ��������� ������������/������������ �/��� ��������
> ����������--������������� � ������������ ��������� ����-������� �� ",",
> "=", "{" � �.�.;-),

��, �� ���� � ���� �� ���������, ����� ��� �������� ��������
����������� ������� �� �����.

> -- ������/�������.

����� ���� ��������. ������, � ������+ ��� ������������
�������/�������� ��� �������, � ������� ���������� ���, ��� �����
� .rfi-����� IMHO �� ���� ���������. � ������ �����������
� ������+ ��� ������ �����.

>
> * t.FuncDef ::= ("Function" s.FunctionName (e.FunctionFormat)
> * (t.FunctionBody))
> * | ("Function?" s.FunctionName (e.FunctionFormat)
> * (t.FunctionBody))
>
> ����� �������� ��� ���������� ������ (������ � ��� �������).
> � �� ������ � ���� �����. ��� ����� ����� ������, ����� ���������
> ���������� ����...

��, � ������ �� �������� �������������� :-)

> *
> * e.PAltBody ::= t.Sentence | t.Sentence e.BlockBody
>
> ? e.PAltBody : e.Empty ����� ���� ?

�����, ��� ������. ������, ��� ������� ������ ������� �����
�������� - ������ BlockBody ����������� ������ ���� PAltBody

> # e.BlockBody ::= t.Path | t.Path e.BlockBody
>
> ? e.BlockBody : e.Empty ����� ���� ?

��.

>
> # e.ResultExpression ::= t.ResultTerm | t.ResultTerm e.ResultExpression
>
> ? ResultExpression : e.Empty ����� ���� ? ������� "��"...

���.

>
> * t.ResultTerm ::= t.Symbol | (e.ResultExpression) | t.Variable |
> * ("Call" s.FunctionName (e.ResultExpression))
>
> ? ������� � ���� ����� �����-?? ��������� ����������� �������� ��� �������:
> ? < <GetFname> <GetFarg> > .... ?

� ����� ���� ��� ����� ���������� �� "Call", � ���-������ ���?

> >2) � ����� �� ���������� ������� Name - ��� �� ������ ������ ��������,
>
> � ��� �������--��� ������-����� ;-)

� ���� ���-�� ����� ������������ ��������� � AS "�� ����"?

> >
> >���� ������ ����������� �� ��������� �������. �����, ��� ��
> >�������� � ����������� ����� ������ �������� ���������������
> >���������� �� �����, � �� �������� ������������� ����������.
>
> ���, � ������ ������ �� ������.

��� ������. ��� ����� �� �������� �� ���� ������ ����������
(��� ����� ��� ��������� ������������) � ��������� ���������
� mailing list.

������.



This archive was generated by hypermail 2b25 : Mon Oct 25 2004 - 21:24:58 MSD