ToDo.
Завершать FORWARD-декларацию слова, как только появился правый или левый параметр.
И:
Зачем?
Чтобы можно было написать так:
Или так:
Ну и конечно так:
Но!
ТОЛЬКО если X - НЕ Immediate.
А если Immediate, то СРАЗУ ругаться:
Завершать определение ОБЯЗАТЕЛЬНО, через FinishDefinitionOfWord !!!
Чтобы правильно Runner создать.
Ну и НЕ ЗАБЫТЬ про ПОВТОРНЫЕ вызовы, чтобы ТАМ не создавать ДУБЛИКАТОВ.
Да! Не забыть про AddedParameters, Опять же. Чтобы НЕ БЫЛО дубликатов.
Завершать FORWARD-декларацию слова, как только появился правый или левый параметр.
FORWARD X operator X IN A // - тут не завершаем IN B // - тут тоже не завершаем ^@ IN C // - тут завершаем ; // X
И:
FORWARD X operator X IN A // - тут не завершаем IN B // - тут тоже не завершаем ^ IN C // - тут завершаем ; // X
Зачем?
Чтобы можно было написать так:
FORWARD X operator X IN A // - тут не завершаем IN B // - тут тоже не завершаем ^ IN C // - тут завершаем procedure Y 1 2 X 3 // - тут наш оператор УЖЕ определён, с ПОЛНОЙ сигнатурой ; // Y ; // X
Или так:
FORWARD X operator X IN A // - тут не завершаем IN B // - тут тоже не завершаем ^@ IN C // - тут завершаем procedure Y 1 2 3 X // - тут наш оператор УЖЕ определён, с ПОЛНОЙ сигнатурой ; // Y ; // X
Ну и конечно так:
FORWARD X operator X IN A // - тут не завершаем IN B // - тут тоже не завершаем ^@ IN C // - тут завершаем 1 2 3 X // - тут наш оператор УЖЕ определён, с ПОЛНОЙ сигнатурой // - вызываем САМИ себя !!! С ПОЛНОЙ сигнатурой ; // X
Но!
ТОЛЬКО если X - НЕ Immediate.
А если Immediate, то СРАЗУ ругаться:
FORWARD X IMMEDIATE operator X // - тут СРАЗУ ругаемся !!! IN A // - тут не завершаем IN B // - тут тоже не завершаем ^ IN C // - тут завершаем ; // X
Завершать определение ОБЯЗАТЕЛЬНО, через FinishDefinitionOfWord !!!
Чтобы правильно Runner создать.
Ну и НЕ ЗАБЫТЬ про ПОВТОРНЫЕ вызовы, чтобы ТАМ не создавать ДУБЛИКАТОВ.
Да! Не забыть про AddedParameters, Опять же. Чтобы НЕ БЫЛО дубликатов.
Комментариев нет:
Отправить комментарий