Вот (http://caesar.ics.uci.edu/juice/) то, что Вы ищете. Я не был причастен к решению архитекторов .NET-а использовать байткоды, а не деревья, но у него могут быть несколько объяснений - хотя бы то, что байткоды суть tried and tested technology.
native-compiling Lisp/Smalltalk systems существуют уже пёс знает сколько лет. а код на Лиспе или Смаллтоке -- это же фактически деревья, нет?
(обратите внимание, как забавно выходит. предположим, Вы отвечаете (вполне легитимно, кстати): "нихрена подобного, это не деревья". на это я отвечаю: вот видите, а пользователи вроде на скорость компиляции не очень-то жалуются. когда у меня в споре выходит такое, обычно это означает что я не понял проблемы. чего же я не понял?)
Смоллтока не знаю, а Lisp - деревья, деревья. Я просто всегда думаю об Algol family languages, на котором написано подавляющее большинство существующего кода, и имеющих наибольшую developer mindshare.
голый парсинг, при наличии достаточно регулярной грамматики (LALR, к примеру) -- очень, очень быстрая вещь. интересные фишки начинаются только после этого.
Перевод с машинного языка на машинный действительно проблем не составляет: существуют всякие flex-ы, которые помогают решить эту задачу.
Но вот вопрос о самоидентификации кода (чтобы код служил подписью к себе) напоминает задачу о программе, пишущей самою себя. Не в том смысле, как её обычно решают, а в смысле эволюции. Лучшее, что известно из этой области -- всякие Компьютерные Войны, черви и вирусы. Пока процесс без участия человека не идёт.
Re: sawa;)
Date: 2002-06-17 09:25 am (UTC)Re: sawa;)
Date: 2002-06-17 09:38 am (UTC)забавно, спасибо. (я это ищу? :))
> байткоды суть tried and tested technology
native-compiling Lisp/Smalltalk systems существуют уже пёс знает сколько лет. а код на Лиспе или Смаллтоке -- это же фактически деревья, нет?
(обратите внимание, как забавно выходит. предположим, Вы отвечаете (вполне легитимно, кстати): "нихрена подобного, это не деревья". на это я отвечаю: вот видите, а пользователи вроде на скорость компиляции не очень-то жалуются. когда у меня в споре выходит такое, обычно это означает что я не понял проблемы. чего же я не понял?)
Re: sawa;)
Date: 2002-06-17 09:47 am (UTC)Re: sawa;)
Date: 2002-06-17 09:54 am (UTC)Re: sawa;)
Date: 2002-06-17 10:04 am (UTC)sawa :(
Date: 2002-06-18 12:21 am (UTC)Но вот вопрос о самоидентификации кода (чтобы код служил подписью к себе) напоминает задачу о программе, пишущей самою себя. Не в том смысле, как её обычно решают, а в смысле эволюции. Лучшее, что известно из этой области -- всякие Компьютерные Войны, черви и вирусы. Пока процесс без участия человека не идёт.
Не говоря уж о безопасности кода...