iHDD.RU
Список форумов Форум iHDD.RU Форум iHDD.RU
Ремонт накопителей и восстановление информации
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

 
ЯЗЫК А.

 
Начать новую тему   Ответить на тему    Список форумов Форум iHDD.RU -> Двинянинов(tm) о винчестерах  Двинянинов(tm) о винчестерах
ЯЗЫК А.
Автор Сообщение
maysoft



Зарегистрирован: 27.09.2005
Сообщения: 666

СообщениеДобавлено: Пт, 27 Янв, 2006 22:13    Заголовок сообщения: ЯЗЫК А. Ответить с цитатой

Copyright (C) Dvinyaninov AB, Ru, 1990-2004
Freeware. Refer is require.
True Hi MAth & Hi Tech

Copyright (C) Двинянинов Андрей Борисович, Екатеринбург,
Россия, 1990-2004
Свободно. Ссылка обязательна.
Настоящая высшая математика и технология

ЯЗЫК А.

Компьютеры - самый сложный механизм созданный людьми. Он имеет искуственный интеллект. Он может обучаться.

Около 40 лет все народы Земли закладывают свои знания в компьютеры. Для этого созданы языки программирования.

Среди всех языков только один создан на научной основе. Были взяты и изучены языки программирования. Была взята научная основа - математика, ее принципы ортогональности, единообразия и чего-то еще. Был создан язык Алгол 68.

Автор языка, голландец Ван Вангартен, собрал группу и они лет 15 его дорабатывали. Язык сложный. Недовольный участник группы ушел от нее и создал простой и понятный язык - Паскаль, потом Модулу, Оберон. Этот тот самый Вирт. Потом Автор языка Алгол 68 скончался и все закончилось.

В мире есть несколько реализаций компилятора Алгол 68. Плохо то, что все думают, что там все хорошо и это законченный вариант. Там многое нехорошо, сам язык - это не стандарт. Это 1-ое приближение к нормальному языку программирования.

Все остальные языки тут и рядом не стояли. Потому у програмеров более правильное название - кодировщики. Их языки программирования примитивны, ошибок навалом и в компиляторе и в программах. Реализация - исходные тексты программы, не похожи на постановку задачи. Кодировщики вносят искажения в задачу. Когда кодировщики начинают сразу создавать программу из головы они не могут сделать нормальную постановку и нормально работающую программу. Примитивная технология рождает примитивные вещи. Хакеры могут спокойно обманывать эти примитивные программы. Эти программы сложны только своим обьемом.

Сейчас язык Алгол 68 практически заглох и умирает. Паровоз, типа Автор языка, умер. Кто остался - частью простые служащие, частью торговые работники. Они подумали что вот верняк, что эту корову они могут доить до конца жизни.Чтобы эту корову доить в нее надо вкладываться. Без денег это не сделать, но надо еще соображать. В настоящем виде язык Алгол 68 не может быть рекомендован для применения и просто вреден.


Я использую измененный Алгол 68. Изменения сделаны по тем же законам, что и сам Алгол 68.

ПРЕПРОЦЕССОР

Препроцессор должен работать по принципу ортогональности с самим языком. Язык является символьно ориентированным. Оператор можно рвать и продолжать на новой строке. Препроцессор должен тогда быть строчно ориентированным. Препроцессор рассматривает начало строки как признак является ли эта строка строкой для препроцессора или ее надо просто пропустить на вход компилятора. Все символьно-ориентированные препроцессоры для данного языка будут всегда хуже. Они опасны но могут работать только при явном включении режима типа для хакеров.

Сразу появляется выгода строчного препроцессора - любой оператор может быть быстро закомментирован. В начале строки ставится символ комментария. Символ закрытия - это конец строки.

Я ввел самый простой препроцессор. Его операторы:

$$# - символы комментария текущей строки

$$IFDEF ..
$$ELSE ..
$$ELIF ..
$$FI - стандартный условный оператор, переделанный для препроцессора.

^ Все это набрано одним шрифтом. Разница в шрифте - результат что даже внутри оператора HTML PRE IE меняет шрифт.




КОМПИЛЯТОР

В качестве компилятора я использую что удалось достать - WBC версии 1.4 Санкт-Петербургского у-та. Это 16-битная версия под ДОС. После нее была вроде бы 32-битная версия, но я ее до нее не смог добраться. Авторы компилятора :

организатор - Терехов,

исполнители. Без них этого компилятора не было бы :

- Васильев Миша. Это не тот Васильев который у нас в городе мусор, распространитель
наркотиков и чурекский пидераст. Это другой Васильев и вообще из Питера.

- Фоминых Боря

- Лаврова Юля

Я застал только окончание разработки компилятора. Основная часть язка Алгол 68 была сделана. Куда и как развивать его в Питер не знали. Кроме того есть модные языки. В немодный и сырой язык денег никто вкладывать не хотел. Были удачные попытки окучивать заказчиков на выделение денег со стороны разаработчиков Эльбруса. По договору со Штатами об ограничении ракет в Штатах средствами ПВО от стратегических ракет защищены 2 территории, в России только одна - это Москва. Для ракет ПВО вояк и раскрутили на деньги для развития Эльбруса. Это аппаратная реализация подмножества языка Алгол 68. Машина вроде работает. По России стоят или стояли еще несколько обрезанных Эльбрусов. Науки и развития языка там мало. Чисто техническая реализация части языка.

В компиляторе WBC удачно сделано запись операторов. Операторы начинаются с точки и заканчиваются пробелом. Условный оператор выглядит так :

.if .. .else .. .elif ..fi

Из неудач - неправильное использование стека. Исполняющая система начинает использовать стек до его определения. Потому всегда портится несколько байт на границе 64 кбайт исполняемого кода ( [CS:64K] ). Я потерял на этом несколько месяцев и одного заказчика, для которого пытался написать прогу на A68. Помогло мне только что часть исполняемой системы поставляетсяв исходниках и в составе WBC есть встроенный дизассемблер. Если бы у WBC было все путем оформлено и признавались бы Авторские права, я бы давно бы это все отдал в обмен на свои авторские права. А так WBC запускается, список Авторов при запуске отсутствует. Также компилятор и результирующая программа могут рассыпаться в любой момент.


ТИПЫ

Я ввел число в обозначение типа. Без этого были неуправляемы.

Математика - это числа. Создатели А68 не вложили числа в конструкции языка. Я вложил числа в конструкции языка. Сразу получается много хороших вещей. Вот так выглядит фундаментальная наука. Результат оптимальный и окончательный. Результат основывается на законах природы.

Работа оказалась тяжелой. Торговцы, системотехники и окучиватели пытались закладывать число бит в языки. Это не софтовый и неверный подход. Научный и софтовый подход был сделан когда-то давно еще в древней версии Фортрана. Это было сделано в Паскале при задании числа байт в длине строки. Надо задавать число байт.

Введение чисел в язык приводит к следующим типам :


Байтовые и битовые

- .b1 - тип 1 byte,
- .b2 - тип 2 bytes,
- .b4 - тип 4 bytes,
- .b8 - тип 8 bytes,
- .b256 - тип 256 bytes,
- .b4k - тип 4 Kbytes ~ 4'096 bytes.
- .b4decKb - тип 4'000 bytes, decKb ~ 1000 bytes
- .b4binKb - тип 4'096 bytes, binKb ~ 1024 bytes

Для энтузистов битов предлагается времянка
- .b1_8bit - тип 1 байт 8 байт
- .b4_32bit - тип 4 байт 32 бита
- .b4k_32768bit - тип 4k байт 32768 бит

Целые

- .i1 - целое 1 byte,
- .i2 - целое 2 byte,
- .i4 - целое 4 byte,
- .i8 - целое 8 byte.

Строковые

- .s - строка по умолчанию
- .s256 - строка 256 bytes,
- .s4k - строка 4 Kbytes ~ 4096 bytes.

Логические

- .L - логическое по умолчанию,
- .L1 - логическое 1 byte,
- .L4 - логическое 4 bytes.

Имя типа не зависит от регистра. Например типы .b2 и .B2 одинаковы. Точка перед именем типа применяется для отличия служебной конструкции.

Пока я не ввел эти типы мои проги были неуправляемы. Сейчас все работает. Только компилятор уже не выдерживает. Сам валится, готовые проги валятся. Давно надо менять компилятор. Начать надо с того что найти исходные тексты компилятора и переписать под эти типы. Работа сделана в 1995-1997 году. Пошла в инет в 1998 году. В Инете есть несколько исходных текстов компиляторов. Что имеется - WBC, придется выкинуть как коммерческий проект. И опираться на зарубежный опыт.

Сейчас в 2004 году мои проги никто повторить не может. Я за счет настоящей науки делаю вещи лучше и сложнее. И постановка оказывается правильной. Народ борется с языком чтобы заставить компилятор понимать закодированную конструкцию. То есть прога отличается от спецификации. У меня спецификация - это и есть прога. Язык и комп работают на меня. На меня работают и настоящая мировая наука и настоящий мировой опыт человечества.


УПАКОВКА

Прямо из стандарта вытекает желание рассмотреть байтовую упаковку чего-то в символы 0..9A..Z. Стандарт ADT - это пример как работают законы природы если их заметить. Для надежности, устойчивости регистр не различается - большие и малые буквы считаются одинаковыми. Спецсимволы не рассматриваются. Оставим их в резерв для специальных случаев и описания шаблонов и форматов. Спецсимволов мало. Они не расширят мощность упаковки.

EOF
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Форум iHDD.RU -> Двинянинов(tm) о винчестерах Часовой пояс: GMT + 3
Страница 1 из 1

 








Rambler's Top100 Рейтинг@Mail.ru

Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB