Здравствуйте!

Эта страница о программах и о том, как они создаются. Ее содержание связано с моей профессией, но не прямо. Наверное, здесь не будет материалов о том, как сделать действие A в N-й версии программы B, хотелось бы ограничить содержание вещами более общими. У меня нет программистского образования, учиться мне пришлось самому и я обнаружил что многие сложные вещи на самом деле просты, но вот понять их не всегда просто ...

Здесь вы найдете описания алгоритмов, исходные тексты программ и комментарии к ним. Вы можете прочитать о том, как создать язык программирования и транслятор (Язык Context).

English version


14.07.2003

Новые результаты тестов компиляторов. Более двадцати процессоров от 286/12 до P4/2400.

03.03.2003

Context 2.0 для Windows.

Обновлены некоторые страницы документации, в том числе страница рекурсивных функциях. Добавлен еще один пример компилятора.

Если Вы зашли сюда не случайно, пожалуйста ответьте на мои вопросы об устройстве языков программирования.

02.12.2002

Если Вы зашли сюда не случайно, пожалуйста ответьте на мой вопрос.

18.11.2002

Еще один пример - компилятор context.bin. Это минимальная версия компилятора для DOS, сразу создающая COM-файл и поддерживающая два набора ключевых слов. Около года назад я думал о замене части слов (if/then/elseif/else вместо select/case, do ... end вместо неестественного while TRUE do ... end, const вместо define, := вместо = для присваивания, пустой оператор null) и почти все отклонил - в версии для Windows будут только do ... end, null и, может быть, второй оператор присваивания. Встроенный ассемблер распознает только команду db. Структура context.bin сходна со структурой базовой версии, но она несколько более запутана - не было смысла вносить большие изменения в старый текст, версия для Windows будет проще...

Полностью переписано описание устройства компилятора. Помимо собственно описания в нем содержится текст упрощенного компилятора.

10.06.2002

Обновлены компилятор, ассемблер и примеры программ. Базовая версия компилятора заменена минимальной, для компиляции примеров следует использовать ОО-версию (context.sim). Многопроходный ассемблер более недоступен, возможности однопроходного ассемблера теперь достаточны для компиляции всех примеров. Незначительно изменена структура компилятора, исправлены обнаруженные ошибки:

23.04.2002

Обновлены все страницы, касающиеся алгоритмов сортировки и поиска.

14.02.2002

Еще раз обновлены результаты тестов.

27.12.2001

Обновлены результаты тестов. Теперь есть результаты P4/1500. К сожалению, тест до сих пор не выполнен IBM PC (XT) - может у кого сохранилась такая машина?

28.09.2001

В архив программ добавлена объектно-ориентированная версия компилятора и демонстрационный пример. Упрощенная версия компилятора несколько уменьшена. Все изменения здесь (english page - updated). Также имеется краткое описание изменений в компиляторе и примера

31.07.2001

Обновлен архив с примерами программ:

В описание языка добавлено объектно-ориентированное расширение. Все изменения здесь (english page - updated). Соответсвующая версия компилятора (1.2) будет доступна в сентябре.

29.04.2001

Еще одна страница - Алгоритмы сортировки. На странице Усовершенствование компилятора обновлены результаты тестов - теперь на процессорах Athlon и PentiumIII. Тест на Duron/600 выполнил в феврале некто, скрывающийся под псевдонимом 8086. Результаты показались мне странными, но на Athlon они повторились...

08.02.2001

В начале февраля что-то произошло и несколько файлов (в том числе все *.zip) потерялись. Обнаружил я это только сегодня, файлы загружены повторно...

18.10.2000

В компиляторе Context исправлена ошибка и несколько погрешностей (ошибка не влияла на сам компилятор). Несколько изменен ассемблер. Все исправления в архиве context.zip. Добавлены примеры программ на языке Context (samples.zip) в том числе более качественный компилятор. Необходимая информация для его сборки на странице Усовершенствование компилятора. Там же приведены результаты некоторых тестов, выполненных на ПЭВМ с процессорами от 286 до PentiumII.

18.07.2000

Глава о сжатии данных дополнена описанием алгоритма Хаффмана.

26.06.2000

Описание языка Context изменилось, надеюсь в лучшую сторону-смотрите Содержание, но старый вариант сохранен. Также появилась первая часть главы о сжатии данных (Алгоритм LZSS).

05.06.2000

Страница стала немного более упорядоченной. Добавлена глава о рекурсивных функциях.

26.05.2000

Моя страница размещена на сервере narod.ru. Форма пока очень простая, содержание раздела "Язык Context" почти не отличается от размещенного на Куличках (Компиляторы: принципы, методы и средства разработки). В описании исправлены несколько опечаток.

Сайт создан в системе uCoz