фических ссылках упоминаются издательские фирмы, они тоже были включены. Потом настал черед географических названий: страны и их столицы, штаты и их столицы, 100 крупнейших городов Соединенных Штатов и мира, океаны, планеты и звезды.
Он добавил также часто встречающиеся названия животных и растений, термины из химии, анатомии и (для местного употребления) вычислительной техники. Однако следил за тем, чтобы не включить слишком много слов: он не включал правильные слова, которые в обычном понимании похожи на ошибки (такие как геологический термин cwm), и включал только одно из нескольких возможных правильных написаний (поэтому traveling, но не travelling).
Трюк Макилроя состоял в проверке выходной информации, выдаваемой программой spell, на реальных примерах. Он выявил все проблемы и получил всеобъемлющий вариант решения. Результатом был прекрасный список из 75 000 слов, он включает большинство слов, которыми я пользуюсь в своих документах, кроме того, обнаруживает мои ошибки в написании слов.
Анализ аффиксов в программе spell как необходим, так и удобен. Он необходим, поскольку список слов в английском языке не существует; программа проверки правописания для большого количества слов должна либо уметь формировать, например, такие слова, как misrepresented, либо сообщать, что они сформированы ошибочно. Анализ аффиксов имеет полезный побочный эффект - уменьшается размер словаря.
Целью анализа аффиксов является сведение слова misrepresented к слову sent за счет отбрасывания mis-, re-, pre- и -ed. В таблицах программы spell содержится 40 правил для префиксов и 30 правил для суффиксов. Специальный список из 1300 исключений приостанавливает правильные, но неверные случаи применения этих правил, такие как сведение entend (неправильное написание слова intend) к en плюс -tend. Такой анализ сокращает список из 75 000 слов до 30 000 слов.
Программа Макилроя совпадает с программой Джонсона до момента поиска слов в словаре (программа common в предыдущем примере). Новая программа осуществляет цикл по каждому слову, отсекая аффиксы и производя поиск оставшейся части до тех пор, пока не будет найдено совпадение, либо пока аффиксов не останется (и слово будет объявлено ошибочным). Так как в результате обработки аффиксов может быть нарушена упорядоченность поступающих слов, доступ к словарю выполняется в произвольном порядке.
Оценка эффективности показывает важность хранения словаря в ОЗУ. Это было особенно тажело для Макилроя, который первоначально писал свою программу для компьютера PDP-11 с адресным пространством 64 Кбайт. В реферате его статьи так резюмируется экономия памяти:
020