Недостатками система программирования FORTH являются:
1. Наличие только простых типов данных, с которыми работает виртуальная машина;
2. Бесконтекстное употребление слов.
Изменим структуру словарной статьи:
Рис. 5.8. Структура словарной статьи
Контекст слова – это последовательность слов – объектов, после которых употребляется слово – имя. Результат – это тот контекст, который это слово формирует.
Рис. 5.9. Вычислительный механизм
В стеке операндов уже хранятся не слова, а объекты.
Традиционная система программирования FORTH не имеет контекста в указанном смысле. У нее все объекты одного типа. При компиляции проверяется, только наличие достаточной глубины стека операндов, т.е. чтобы реализовать FORTH – систему необходимо оставить, только, слово и код, и удалить контекст и результат, причем никакой привязки слова к типам объектам на вершине стека не происходит. Поэтому при написании программ на языке FORTH существует большая возможность сделать ошибки.
В объектно-ориентированной системе FORTH используются дополнительные поля в словаре: контекст и результат. Контекст определяет типы объектов и их последовательность, которые находятся в стеке, и при наличии которых может быть применено слово – имя. В результате действия слова вместо объектов контекста в стеке появляются объекты, описываемые полем результата.
При наличии аппаратной поддержки операционного поиска слов, исполнения кода, работы со словарем, может быть получено эффективное техническое решение, в котором встроены возможности использования полу контекстных языков.