среда, 15 июля 2015 г.

ToDo. Сделать типизацию вызовов методов

ToDo. Сделать типизацию вызовов методов.

Чтобы примеры были эквивалентны:

Пример 1:

OBJECT VAR l_Control
l_Control pop:Control:Parent .

Пример 2:

TControl VAR l_Control
l_Control call Parent .

Понятно, что слово call - обсуждаемо.

Пример 1:

INTEGER VAR A
INTEGER VAR B
A B integer:+ .

STRING VAR C
STRING VAR D
C D string:+ .

Пример 2:

INTEGER VAR A
INTEGER VAR B
A B call + .

STRING VAR C
STRING VAR D
C D call + .

При этом - call распадается на ДВЕ версии - IMMEDIATE (когда может определить тип выражения слева в Compile-time) и НЕ-IMMEDIATE (когда не может определить тип выражения слева).

И сделать размножение слов StackValue:XXX в bundle:

INTEGER:XXX
STRING:XXX
FILE:XXX
ARRAY:XXX
CHAR:XXX
OBJECT:XXX
INTERFACE:XXX
....


Где YYY:XXX - это "алиас" с указанием типа выражения слева.

Если конечно такого слова ещё не зарегистрировано.

Надо подумать...

Комментариев нет:

Отправить комментарий