AtomSTAT

 

Границы моего языка означают границы моего мира. 

 Л. Карнап, Л. Витгенштейн. Логическая семантика.  

                            

                       

"Зачем вам это, батенька. Лучше б водки выпили...."
© Н. В. Гоголь

 

                                    

"То, что интересует меня - это некая живая тема темноты внутри человека"
© Х.Мураками

 

 

 

 

Существует миф о том, что для достижения переносимости исполняемый код обязательно должен быть представлен в Java-формате

 

Альтернативу для Java-платформы не так уж и сложно обеспечить за счет использования механизма подключаемых модулей (plug-in), поддерживаемого большинством коммерческих Web-браузеров.

 

Принципы создания переносимых компиляторов.  

Чтобы  понять  откуда ноги растут  у понятия  переносимых компиляторов смотри   

В генетике есть понятие фазовый полиморфизм, и имплантация его на уровне структур компиляции еще более расширяет наши возможности.  Фазовый полиморфизм абстрагированный на принципы создания переносимых компиляторов, позволят говорить о коммутации классов или программных компонентов. Интерфейс между анализатором и генератором - половина успеха создания технологии построения переносимых компиляторов.

 

Заметки из биологиии: Для общественных насекомых характерен полиморфизм,  связанный с разделением функций разных особей в семье или колонии (матка и рабочие особи у медоносных пчёл; матки и разные формы «рабочих», а также «солдаты» у муравьев и термитов). Фазовый полиморфизм в генетики связан с изменением плотности популяции в различии окраске, пропорциях тела и в поведении у саранчовых (фазовая изменчивость) и гусениц некоторых бабочек.

Если говорить более упрошенным языком компилятор,  состоит из двух фаз: анализа и синтеза. На фазе синтаксического анализа компилятор "понимает" программу, написанную на входном языке, и если есть в ней ошибки, то на этом его работа завершается. На фазе синтеза порождается программа на другом языке, например на языке ассемблера или в машинных кодах (т. е. на языке процессора).

 

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

 

 

Многие современные языки программирования перегружены функциональными возможностями, из которых обычно используется процентов 20, а то и меньше.

 

 

 

 

            

© Тимур Юнусов

e-mail: dll99@mail.ru


 

Используются технологии uCoz