Чем AST отличается от объектной модели ?
От: barn_czn  
Дата: 14.03.11 08:55
Оценка:
Вот смотрите, возмем на рассмотрение XAML, HTML, SVG.
Все эти языки пораждают графическое изображение. Все имеют AST.

Теперь предположим что я начинаю писать графическую либо для рисования. Таких великое множество, взять хотя бы репорт генераторы.
Тогда я начинаю, следуя традиции, создавать объектную модель:

Page
Page.Background,
Rectangle,
.. и т.д и т.п.

Вопрос собств. в чем — где начинается принципиальное отличие просто объектной модели от АСТ языка ?
Оно вообще есть?
Re: Чем AST отличается от объектной модели ?
От: adontz Грузия http://adontz.wordpress.com/
Дата: 14.03.11 09:04
Оценка: 12 (1)
Здравствуйте, barn_czn, Вы писали:

Вообще-то есть три сущности: AST, DOM и FS (formatting structure в терминах CSS).
В AST узел Rectangle описывает просто прямоугольник, его положение, размеры, толщину и цвет линий.
В DOM узел Rectangle не только описывает прямоугольник, но и позволяет им манипулировать
В FS может вообще не быть ни узла Rectangle, ник акой либо иерархии, а только 4 прямые линии и 4 кривые Безье (для скругления углов).
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[2]: Чем AST отличается от объектной модели ?
От: barn_czn  
Дата: 14.03.11 09:24
Оценка: -2
Здравствуйте, adontz, Вы писали:

A>Здравствуйте, barn_czn, Вы писали:


A>Вообще-то есть три сущности: AST, DOM и FS (formatting structure в терминах CSS).

A>В AST узел Rectangle описывает просто прямоугольник, его положение, размеры, толщину и цвет линий.
A>В DOM узел Rectangle не только описывает прямоугольник, но и позволяет им манипулировать

не принципиально. AST тоже можно манипулировать. пример — кодогенерация.

A>В FS может вообще не быть ни узла Rectangle, ник акой либо иерархии, а только 4 прямые линии и 4 кривые Безье (для скругления углов).


FS — вообще можно рассматривать как часть AST, тоже не принципиально
Re: Чем AST отличается от объектной модели ?
От: samius Япония http://sams-tricks.blogspot.com
Дата: 14.03.11 09:45
Оценка: +1
Здравствуйте, barn_czn, Вы писали:

_>Page

_>Page.Background,
_>Rectangle,
_>.. и т.д и т.п.

_>Вопрос собств. в чем — где начинается принципиальное отличие просто объектной модели от АСТ языка ?

_>Оно вообще есть?
Отличаются они тем, что моделирую принципиально разные вещи. Предметная область одной модели — сами графические примитивы (страницы, прямоугольники и т.п.), другой — синтаксис языка (термы, выражения).

Можно обойтись как без той, так и без другой модели. По большому счету они нужны лишь для удобства
То есть если будет удобно работать с графическими примитивами в терминах синтаксисического разбора языка, то и ладно.
Re: Чем AST отличается от объектной модели ?
От: Кодёнок  
Дата: 14.03.11 11:00
Оценка:
Здравствуйте, barn_czn, Вы писали:

_>Вопрос собств. в чем — где начинается принципиальное отличие просто объектной модели от АСТ языка ?


Где кончается атмосфера и начинается космос? С какова количества выпавших волос начинается лысина?

Для произвольного XML документа — отличия нет.

А вот в прикладных применениях они могут различаться сильно. Например <button X=500> и <button.X>500</> могут означать одно и то же — задание значения свойства X. Тогда на уровне AST будет два разных представления, на уровне модели — одно.
Re: Чем AST отличается от объектной модели ?
От: hardcase Пират http://nemerle.org
Дата: 14.03.11 14:22
Оценка:
Здравствуйте, barn_czn, Вы писали:

_>Вопрос собств. в чем — где начинается принципиальное отличие просто объектной модели от АСТ языка ?


AST порождается парсером языка — успешным применением правил грамматики.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[2]: Чем AST отличается от объектной модели ?
От: Sinclair Россия https://github.com/evilguest/
Дата: 15.03.11 04:13
Оценка:
Здравствуйте, hardcase, Вы писали:

H>AST порождается парсером языка — успешным применением правил грамматики.

Ага. А ещё AST может содержать некорректные узлы — если парсер умеет восстанавливаться после ошибки. А объектная модель таких содержать не должна.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Чем AST отличается от объектной модели ?
От: barn_czn  
Дата: 15.03.11 05:30
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Здравствуйте, barn_czn, Вы писали:


_>>Вопрос собств. в чем — где начинается принципиальное отличие просто объектной модели от АСТ языка ?


H>AST порождается парсером языка — успешным применением правил грамматики.


не согласен. под готовый AST можно подогнать множество грамматик, на вкус и цвет.
Re[3]: Чем AST отличается от объектной модели ?
От: hardcase Пират http://nemerle.org
Дата: 15.03.11 08:57
Оценка:
Здравствуйте, barn_czn, Вы писали:

_>не согласен. под готовый AST можно подогнать множество грамматик, на вкус и цвет.


Но в конечном счете успешное применение правил этих грамматик будет строить AST. Я не говорю что каждое правило будет порождать некий объект — оно может порождать а может и нет: например пробелы и комментарии могут игнорироваться и правила для пробелов и комментариев будут такие строки просто проглатывать (допускать, говоря в терминах парсера). Я говорю о том, что AST — это, как правило, выхлоп парсера.
/* иЗвиНите зА неРовнЫй поЧерК */
Re: Чем AST отличается от объектной модели ?
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 17.03.11 20:40
Оценка:
_>Вопрос собств. в чем — где начинается принципиальное отличие просто объектной модели от АСТ языка ?
_>Оно вообще есть?

в общем случае, AST шире чем объектная модель.
в AST-е обычно есть полный аналог объектной модели (для ее порождения), но еще плюс есть конструкции, которые позволяют описывать ссылки между объектами (в объектной модели ссылка уже просто ссылка), в AST-е могут появляться конструкции уменьшающие дублирование информации и т.д.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.