gudleifr писал(а):
Значит, ожидание от умных программ какой-то человекообразности имеет обоснование.
имхо, сейчас педалируется другой, явно более простой процесс - превращение человека в робота. То есть уменьшение человекообразности. (я уже маленько подзадолбался оформлять документы с маленькими клеточками маленькими печатными буквами без помарок. К тому же часто клеточек еще и не хватает..) Причем, учат сейчас быть роботом со школы (я про тесты, методики сдачи экзаменов 8( ).
gudleifr писал(а):
Рассмотрим вторую подзадачу. Она достаточно часто встречается при работе FORTH-системы, но решается некрасиво - приходится выдирать из универсального интерпретатора отдельные куски и применять их в нужной последовательности.
почему некрасиво?
gudleifr писал(а):
Какие источники слов возможны в принципе?1. строка, введенная с консоли;2. блок (строки), считанные из явно указанного файла;3. строка, считанная из файла, подменяющего стандартный поток ввода;4. строка, программно сформированная в каком-либо буфере;5. искусственно сформированное слово.
А зачем ограничиваться только текстовым представлением информации?
Вот, может быть токенезированный текст, к примеру, или последовательность нот (вспоминая с ностальгией Loom), последовательность иконок, да мало ли что еще.
gudleifr писал(а):
Из широко применяемых нюансов надо упомянуть разный способ обращения с отдельным словом:* поиск его в словаре;* поиск слова в специальных таблицах;* распознавание слова, как представления числа (или символьного литерала);* преобразование слова перед его поиском;* разбиение слова на отдельные фрагменты и обращение с каждым, как с отдельным словом.
Все свести к работе со словарями

(?)
кроме последнего, оно, последнее меня угнетает (в теме уже засветились ээ "комбинаторы").
gudleifr писал(а):
Как и в предыдущем случае, реализовать каждый из вариантов достаточно просто, но "серебрянной пули" опять нет. Более того, попытка унифицировать обработку случаев (1-3) породила избыточное количество переменных, которые приходится проанализировать, чтобы понять, откуда надо брать следующеее слово (особенно, если анализируемый поток вдруг иссякает).
Это утверждение опять не понятно совсем. Поясните пожалуйста.
gudleifr писал(а):
FORTH в этом случае оказывается не на высоте. Слова-синонимы, конечно, возможны, но сохранить их так, чтобы самому не запутаться вряд ли возможно. Кроме того необходим некоторый формализм меток блоков (как у Кнута). Блок должен быть явно помечен как, например: ОПИСАНИЕ, ПРЕДИКАТЫ, ЗАГЛУШКА, ЗАПРОС, ОТЛАДКА, РЕАЛИЗАЦИЯ и т.д. Необходимо так же хранить подобные блоки рядом, да еще с указанием применимости каждого из них в конкретном случае: самодокументирование, отладка, операционная система такая-то...
Где-то уже было: внутри словарной статьи были сделаны дополнительные поля, в которых размещались коментарии к слову, исходный текст слова, какие-то дополнительные метки. Что за форт-система не помню - это было еще в 16-битные времена.