LINUX.ORG.RU

Compiler Design Theory


0

0

Hi All!
Собственно сабж. Кто что может порекомендовать почитать, посмотреть, полистать...
Заранее благодарю.
anonymous

... ну и конeчно gradon book, eсли врeмeни полно

anonymous
()

А чего собственно хочешь написать ?
пиши на vahvarh@rbcmail.ru - помогу
(я просто сейчас сам язык программирования пишу)

я начал с info bison (man bison не подойдет)

vahvarh ★★★
()

Есть у меня еще (дома правда) ссылка на курс лекций по
написанию полновесного (что важно) языка программирования
(с множественным наследованием, виртуальными методами и тд)
Если нужно - пиши!
vahvarh@rbcmail.ru
Еще можешь по ICQ: 73038614

vahvarh ★★★
()

люди ну не нужен в языке крэп типа множественного наследования и виртуальных функций. Это дело макросов. Нужно просто препроцессор совершенствовать чтобы он более typesystem-aware был.

anonymous
()

Насчет множественного наследования согласен :) Этому маразму только на свалку... А вот насчет виртуальных функций - наоборот, все функции должны быть виртуальными, иначе концепции наследования (как в случае с C++) превращаются в бред.

Java forever!!! C++ sux.

Murr ★★
()
Ответ на: комментарий от anonymous

RE:

>Наследование - suxx. Нарушает инкапсуляцию. Каким образом, если не секрет? :)

Murr ★★
()

> Каким образом, если не секрет? :)

Ну хотя бы... Что есть твои любимые виртуальные функции, как не нарушение инкапсуляции?

anonymous
()

А чем они мои любимые? Может это они твои нелюбимые? ;)
И чем они нарушают инкапсуляцию? У объекта есть свойства и есть действия, с какого бодуна должно меняться действие, если мы рассматриваем объект как общую сущность (он что, меняется взависимости от нашего взгляда на него)?

А инкапсуляция есть разделение свойств и действий... каким образом виртуальные функцию нарушают это разделение?

Murr ★★
()

> У объекта есть свойства и есть действия,

А, понятно. Ты изучал ООД на военной кафедре - "куст есть совокупность веток и листьев, растущих из одного места".

Нету у объекта никаких свойствов и действиёв, объект может обмениваться сообщениями с другими объектами. И все.

> А инкапсуляция есть разделение свойств и действий... каким образом виртуальные функцию нарушают это разделение?

Ответь на простой вопрос. Является ли "свойством объекта" запись в его таблице виртуальных функций? Если нет, то почему.

anonymous
()
Ответ на: комментарий от anonymous

>А, понятно. Ты изучал ООД на военной кафедре
Я не изучал никакого ООД. У меня фундаментальное, а не техникумовское образование.

>объект может обмениваться сообщениями с другими объектами
Объект может обмениваться сообщениями с другими в Smalltalk. По отношению к Java или C++ это терминология неуместна, потому что в них никто не обменивается сообщениями, а вызывает методы объекта/класса, к тому же вызывает не объект (а может и класс или даже глобальная функция в C++). То есть звон ты слышал, а термины пока применять не научился ...

>Является ли "свойством объекта"
Является... врожденным и неотъемлимым.

Murr ★★
()

универсальностью образования с Анонимусом меряться не советую

anonymous
()

> Я не изучал никакого ООД. У меня фундаментальное, а не техникумовское образование.

Завидую. Ты наверное физик?

>объект может обмениваться сообщениями с другими объектами Объект может обмениваться сообщениями с другими в Smalltalk. По отношению к Java или C++ это терминология неуместна,

А какая уместна? "Объект - это совокупность свойств и действий, растущая из одного места"?

> потому что в них никто не обменивается сообщениями, а вызывает методы объекта/класса,

Что это, как не метод отправки сообщения?

> к тому же вызывает не объект (а может и класс или даже глобальная функция в C++).

Это на каком языке? Может я просто тупой, но фразу никак не могу понять.

> То есть звон ты слышал, а термины пока применять не научился ...

То и есть. Как жалко, что я не научился применять термины ...

> Является... врожденным и неотъемлимым.

Уря, признался! Дальше догадаешься сам, почему же наследование противоречит инкапсуляции?

anonymous
()

>Дальше догадаешься сам, почему же наследование противоречит инкапсуляции?
да ладно... я может и догадаюсь, но всё равно неправильно, я же ООД не изучал... объясни, пожалуйста, о мудрейший ;)

Murr ★★
()

> да ладно... я может и догадаюсь, но всё равно неправильно, я же ООД не изучал... объясни, пожалуйста, о мудрейший ;)

Ты все равно мне не поверишь. Java же forever же.

anonymous
()

anonymous: да ладно... не стесняйся.

по теме: тут товарищ, который этой байдой занимается подсказывает:
"основы - dragon book (ахо, сети, ульман)
потом - мучник (muchnick, advanced compiler design and implementation)
и отдельно есть по параллельным штукам"

Murr ★★
()

Благодарю всех за ответы и комментарии!

anonymous
()
Ответ на: комментарий от anonymous

не ставь все с ног на голову. это реализация наследования во многих популярных языках позволяет нарушать инкапсуляцию. так-то наследование -- одно из основных понятий в ОО. :)

Lucky ★★
()

Так же крайне полезно взглянуть на те готовые фреймворки, которые были по ссылкам с www.haskell.org, и на такую добренькую весч, как C-- (www.cminusminus.org). Ну и, конечно же, Mojave. Ко всему этому прилагается обширненькая библиография...

Antichrist
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.