Показать сообщение отдельно
Старый 03.07.2009, 21:52
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 19  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Всем спасибо за внимание, все понятно.

Upd. Вот стало интересно с Flasm-ом немного поиграться, интересно ж... Наваял такой незатейливый код:
Код AS1/AS2:
foo(0,200);
function foo(s, e) {
	this.txt.text += s+", ";//txt - InstanceName вручную созданного текстового поля
	if (s<e) {
		foo(s+1,e);
	}
}
После использования проги:
Код:
C:\Flasm>flasm -d rec.swf > rec.flm
В результате получаю такой код:
Код:
movie 'rec.swf' compressed // flash 9, total frames: 1, frame rate: 12 fps, 550x400 px

  frame 0
    constants 'txt', 'text', ', ', 'foo'  
    function2 foo (r:2='s', r:3='e') (r:1='this')
      push r:this, 'txt'
      getMember
      push 'text', r:this, 'txt'
      getMember
      push 'text'
      getMember
      push r:s, ', '
      add
      add
      setMember
      push r:s, r:e
      lessThan
      not
      branchIfTrue label1
      push r:e, r:s, 1
      add
      push 2, 'foo'
      callFunction
      pop
     label1:
    end // of function foo

    push 200, 0.0, 2, 'foo'
    callFunction
    pop
  end // of frame 0
end
Изменение значения с 200 на любое другое работает в пределах установленным по умолчанию, а где находится тот заветный кусок кода, в котором прописывается собственно ограничение на глубину рекурсии, для по прежнему остается загадкой. Поиск тоже не привел ни к чему путному (искал именно на счет рекурсии, в отношении оптимизации информация, хоть и мало, но есть). Если кто не против малость заморочиться (или просто знает) - спасибо.

ЗЫ. и я так понимаю, что под ас3 прога работать не будет?
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!