Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.02.2009, 20:36
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 1  
Ответить с цитированием
chingachgoog
Banned
[+4 01.02.09]
[+1 01.02.09]
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
По умолчанию Механизм реального наследования в AVM2

Буду рад любой информации по теме
(собственно, что делает компилятор, когда видит слово class?)

Что за управление наследованием через Класс наследований?

PS
Работа компилятора для AS2-кода описана тут
Соответственно механизм наследования основан на прототипах.
Подобный фундаментальный разбор наследования хочется получить и тут для AVM2.

Старый 17.02.2009, 21:00
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Информация для изучения:
Компилятор:
http://opensource.adobe.com/svn/open...k/modules/asc/
Немного полезной инфы по компилятору:
https://developer.mozilla.org/En/Tam..._Documentation
Спеки SWF:
http://www.adobe.com/devnet/swf/

В двух словах, примерно так: если в АС2 все пользовательские классы были функциями прописаными где-то в _global, то в AS3 - это "запечатанные" объекты - объекты изменеие набора свойств которых в процессе работы вызывает ошибку (это если классы не динамические - по умолчанию), и находяться они не в _global, а в неймспейсах-пакетах. Я думаю, что проще всего это представить через flash.utils.describeType() - это что-то вроде "побочного эффекта" внутренней валидации объектов, которую использует плеер - т.е. describeType представляет вам полный перечень того, с чем плеер будет сравнивать экземляр вашего класса.
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 17.02.2009 в 21:03.
Старый 17.02.2009, 22:42
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 3  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
@wvxvw
1. http://opensource.adobe.com/svn/open...k/modules/asc/ - это не комплятор, а парсеры байт- и исходного кодов.
2. https://developer.mozilla.org/En/Tam..._Documentation - тут инфа не по флэшовому компилятору. они оооочень по разному работают.
3. flash.utils.describeType - это далеко не полный перечень.

Старый 17.02.2009, 23:43
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 4  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Да, приватные методы / свойства не показываются, а предложи более полный перечень?
А что по твоему такое компилятор, если не парсер + упаковщик?
ASC в Тамарине и в флексовом SDK один и тот же... в этом как бы вся фишка... просто существуют пакеты flash.* которые компилируются во флешевые проекты, а в Тамарин, пожалуй что только builtin.abc, но наверняка вся задумка в том, чтобы можно было добавлять свои, но я не вникал, так что тут могу ошибаться... Ну и естественно, информацию по остальным флешевым / флексовым компиляторам нужно искать в другом месте Но по MXMLC / COMPC - легко найти, а по asc_authoring.jar кроме этого http://osflash.org/flashcoders/the_flash_9_compiler , пожалуй что ничего и нет...
Лишь бы спорить
__________________
Hell is the possibility of sanity

Старый 18.02.2009, 00:35
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 5  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
Олег, ты хоть бы для видя по сторонам посмотрел. там исходники анализаторов ( лексического и семантического ), которые является презервативами одеваемыми на компилятор, и в случаи чего могу быть сменены. компилятор занимается, в нашем случаии, сборкой в байт-код, а не парсингом в промежуточные данные. и он лежит в соседнем проекте. вместе с компилятором лежит и оптимизатор, который, почему-то, сменным презервативом не является.

что касается тамарина, то хотя бы код сравнил бы. чего с тобой спорить, если ты совсем не в теме?

P.S: про describeType ... на http://livedocs.adobe.com/flex/3/lan...ge-detail.html - развивайся.

Старый 18.02.2009, 16:09
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 6  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Смотри, я согласен с тем, что ты говоришь, но вопрос был такой:
"что делает компилятор, когда видит слово class?" Тогда, по-твоему ответ будет: ничего, потому что он его не видит, а получает эту информацию от анализатора? Правильно? Ну и чем такая информация поможет?
А по поводу Тамарина - я действительно не в курсе, сорь, из того, что читал, я понял, что задумка как раз таки была в том, чтобы использовать один и тот же компилятор.

ЗЫ. Спасибо за ссылку, действительно не знал.
__________________
Hell is the possibility of sanity

Старый 18.02.2009, 16:48
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 7  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
wvxvw, ну так, то он же её и получает но чуть позже, и совсем не в том проекте, что ты дал. а вообще он создаёт дефинишен-описание в байт-коде. кстати .. на самом деле, классы лежат в глобале просто к нему доступа нету.

Старый 18.02.2009, 19:50
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 8  
Ответить с цитированием
chingachgoog
Banned
[+4 01.02.09]
[+1 01.02.09]
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
Actionscript 3.0 and Performance Tuning
Адобовцы пишут:
Код:
class A {
	var a:Number = 3.14;
	var b:String = 'a string';
	var c:int = -1;
	
	public function A() {
		trace('Constructor');
	}
	
	public function method(){
		trace('A.method');
	}
}
What that compiles to in AS2...
Код:
_global.A = function () {
	this.a = 3.14;
	this.b = 'a string';
	this.c = -1;
	trace('Constructor');
}
_global.A.prototype.method = function () {
	trace('A.method');
}
Ну почти верно (не указано, что это из инитклипа записывается), вот тут бы адобовцам и рассказать (показать) что тот же самый код в AS3 на самом деле делает, но вместо этого непонятная картинка:
Изображения
 

Старый 18.02.2009, 21:06
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 9  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
А классы они как бы в АС3 не создаются в рантайме... =/ они уже компилируются готовыми, так что кода аналогичному примеру на АС2 быть вообще не может. Картинка только показывает как и откуда компилятор на этапе создания класса будет искать его методы и свойства.
__________________
Hell is the possibility of sanity

Старый 18.02.2009, 21:21
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 10  
Ответить с цитированием
chingachgoog
Banned
[+4 01.02.09]
[+1 01.02.09]
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
Цитата:
Сообщение от wvxvw Посмотреть сообщение
Картинка только показывает как и откуда компилятор на этапе создания класса будет искать его методы и свойства.
Жаль, адобовцы не удосужились расписать эту схему, что какая буква означает и т.д.

Цитата:
Сообщение от wvxvw Посмотреть сообщение
А классы они как бы в АС3 не создаются в рантайме... =/ они уже компилируются готовыми, так что кода аналогичному примеру на АС2 быть вообще не может.
Ну хорошо: они сразу записываются в бинарный массив .abc
Но как тогда действует оператор new()?
И можно ли поиметь доступ к .abc как к обычному бинарному массиву (наверное, что-то вроде "прочитать самого себя")?
Изображения
 

Создать новую тему Ответ Часовой пояс GMT +4, время: 17:14.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:14.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.