Здесь выкладываются достойные внимания работы Смагулова Азамата, посвящённые языку программирования Форт. Последнее обновление: 20 августа 2005
Как и предупреждал Андрей Черезов, это заняло много времени. И конца-края работе не видно… Ночное времяпрепровождение на ближайшее десятилетие я себе обеспечил. Но, тем не менее я написал браузер на Форте, местами он даже работает. Отдельные моменты его реализации, на мой взгляд, интересны и вроде бы даже оригинальны, особенно применение автоматов и таблиц переходов в сочетании с т. н. накопителями (которые на самом деле являются обычными строками со счётчиком, но об этом попозже) и наборами (которые тоже на самом деле словари). Ниже будет дано очень краткое описание алгоритма работы, интересующиеся могут заглянуть в пояснительную записку к дипломному проекту.
Чтобы проанализировать задачу, упростим требования. Предположим, что нужно сделать конвертор HTML-страниц в BMP. Для такой программы выделяем такие подзадачи:
Промежуточные структуры. Макет – набор команд для отрисовки страницы, обычно выглядит примерно так:
прямоугольник в (1,1)-(100,100)
надпись "Callahan" в (1,1).
Дерево тэгов:
Загружает в память исходные тексты страниц и сопутствующие картинки. Можно было бы и wget использовать.
Выделение в исходном тексте лексических единиц, создание узлов дерева тэгов, установка между ними родительских отношений. Кроме того, в текущей версии работают на других этапах ещё несколько сканеров: разбиение текста на слова, выделение значений атрибутов узла.
Выполняется проход по дереву, где в завимости от тэга узла в макет записываются нужные команды, причём обрабатывается и открытие и закрытие.
Выполняет команды макета по отрисовке страницы. Можно рисовать только видные в окне блоки.
Все заинтересованные могут прочитать более полный разбор программы в пояснительной записке этого дипломного проекта. Следует предупредить, что программа несколько продвинулась вперёд с момента защиты, однако, как для понимания принципов работы программы этого документа вполне достаточно.
На момент возможности мизерны, но тем не менее:
Распакованные исходники поместить в папку "devel\~profit". Запускать "prog\browser\browser.f". Проверено на 16 билде SPF 4. Глюков в программе ещё очень и очень много. В частности:
Сама программа выглядит так:
Всё в Rar-архивах.
Программа и библиотеки к ней
Скомпилированный файл
Пояснительная записка к диплому "Разработка браузера" в формате MS Word
Пояснительная записка в формате PDF
Связаться со мной можно по электронной почте: azekeProfit@gmail.com