![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
||
|
unicuum |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
Что такое xml наверное и без меня знают. Всякие отступы нужны лишь для формализации. Вот возьмём для примера программу "привет мир". На разных языка она будет выглядеть по разному: C++
C#
Java
Но с учётом генерации общая её особенность лишь в строке "Hello, world!". Это как бы самый примитивный пример использования. Далее углубляясь в процесс могли бы вывести, что существуют различные понятия, та же точка вхождения в программу (entry point) и так далее. В общем, размышляем... Вот конкретный вопрос, как по вашему выглядит программа "привет мир" на языке xml? Причём не в конкретном формате как здесь. В общем, не нужно что-то оборачивать, нужно именно напечатать привет мир в консоли. Это сообщение отредактировал(а) unicuum - 5.11.2009, 17:53 -------------------- ![]() обычный день на винграде |
||||||||
|
|||||||||
NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин |
unicuum, я не совсем понял суть твоей идеи.
Ты хочешь разработать парсер xml, который будет преобразовывать написаный специальным образом xml-код в любой язык программирования? |
|||
|
||||
sTa1kEr |
|
|||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 |
unicuum, ну что, зачет автоматом будет? ![]() |
|||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich |
Товарищ mkizub на RSDN носится со своей SymADE. Это к нему надо с идеей универсального семантического представления, транслируемого во что угодно.
Упрощает ли это представление формальные рассуждения о программе? Повышает ли уровень абстракции? Если преобразования между гипотетическим универсальным представлением и «обычным языком» несимметричны, то мы имеем просто ещё один язык высокого уровня. Это само по себе не плохо, но пока я прозреваю рождение XML-представления для AST, от которого можно разве что проблеваться.
Метапрограммирование на практике — это code is data (рефлексия) и DSL, внешние и внутренние. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re |
unicuum узнал о существовании xslt
![]() |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте |
unicuum, не хочется тебя расстраивать, но такого языка как XML в природе не существует, а стало быть написать на нём что бы то ни было невозможно. XML - это просто свод синтаксических правил, являющихся основой для других языков(метаязык).
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 |
XML = eXtensible Markup Language ~ расширяемый язык разметки -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте |
Zloxa, может тогда напишешь что-нибудь на чистом XML? Так просто чтобы посмотреть как это должно выглядеть. Хэлоуворлд какой-нибудь что ли.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
sTa1kEr |
|
|||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 |
||||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте |
Нельзя, конечно исключать, что под метапрограммированием он имел в виду именно использование метаязыков, но мне чойт кажется, что в прошлой "умной" теме это уже обсуждалось.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 |
Я не думаю тебе не нужен пример XML, думаю ты вполне себе представлешь как оно должно выглядить. Для хеловордов тут соседняя тема есть. Ну а даже если на ХМЛ нельзя его сделать нельзя же ведь говорить что это не язык. Может не программирования, но таки язык. Если на SQL нельзя организовать диалога с пользователем, то что, ему тоже отказать в возможности именоваться языком? -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте |
Zloxa, нееееее. Ты не понял. Давай разберёмся что такое язык в принципе. Не компьютерный и даже не программирования, поскольку они являются частными случаями понятия языка.
Возьмём определние из википедии, оно хоть и не раскрывает понятие полностью но вполне корректно
И потом, почему XML нельзя считать языком программирования? Существуют языки программирования, основанные на синтаксисе XML. В частности - XSLT. Мало того, есть возможность создать полноценный язык программирования и даже не один на основе XML, но сам XML языком не является, в силу отсутствия в нём собственной семантики, а семантика - это основная составляющая любого языка. Синтаксис служит лишь для того, чтобы в потоке данных можно было безошибочно выявить все семантические единицы. Вся проблема в том, что любой XML-документ фактически написан на другом языке, а XML-документом он называется только потому, что в нём соблюдены синтаксические нормы этого формата. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
unicuum |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
Парсеров уже много, одним из них я и воспользовался, и языки преобразования давно созданы. Как-то на форуме обсуждал тему про шаблоны проектирования. Взять хотя бы интерфейс, путём согласования были выведены два идеальных образца для языка C++. Однако то, что кто-то подразумевает идеальную сущность и знает как она выглядит для конкретного примера не гарантирует, что она будет правильно написана в коде. Чем сложнее согласование того о чём мы думаем и то что надо написать, тем больше код будет подвержен ошибкам. А в идеале нужно привязать собственное мышление к языку.
Рефлексия (от позднелат. reflexio — обращение назад) — обращение субъекта на себя самого, на свое знание или на свое собственное состояние. Предметно-ориентированный язык программирования (англ. domain-specific programming language, domain-specific language, DSL) — язык программирования, специально разработанный для решения определённого круга задач, в отличие от языков программирования общего назначения, таких, как Си, или языков моделирования общего назначения наподобие UML, Postscript, SQL и др.
http://symade.tigris.org/ http://mkizub.livejournal.com/ Хорошо, один вариант уже есть. Вероятно нужно попробовать вывести массу примеров для сравнения.
Алгоритм - это набор инструкций исполнителю на определённом языке для работы в некой среде. Исполнитель - исполняющий набор инструкций (алгоритм) для некой среды. Язык - формальная запись инструкций для описания среды (не обязательно исполнителю). Среда - окружение в котором производятся видоизменения (не обязательно исполнителем). XML это язык разметки, для него существуют исполнители. Они понимают данный язык, то есть как нужно производить разметку и могут выполнить по ней некие действия. Вот эта программа запросто может быть исполнена в современном браузере:
По правилам программа "привет мир" должна с помощью исполнителя вывести это сообщение на устройство вывода (экран (консоль, графическая оболочка), принтер и т.д.). Иными словами исполнитель должен уметь считывать инструкции, потому что если он не соответствует программе ничего не получится. Но повторюсь, синтаксис языка XML, это в первую очередь синтаксис разметки данных. -------------------- ![]() обычный день на винграде |
||||||||
|
|||||||||
diadiavova |
|
||||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте |
Вопрос только в том, что он размечает.
А ты уверен, что она написана на чистом XML? Что-то я не припомню, чтобы в спецификации XML были описаны элементы text или string
По правилам, если существует набор дополнительных правил, которые воспринимаются некой исполняющей средой как руководство к действию, то это уже не чистый XML, а новый язык, построенный на основе XML-ловского синтаксиса. Как только ты определил хотябы один элемент и присвоил ему определённое значение - ты создал новый язык на базе XML. Собственно для того этот формат и придумали, чтобы с его помощью можно было легко разрабатывать собственные языки для решения частных задач. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
||||||
|
|||||||
unicuum |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
![]() -------------------- ![]() обычный день на винграде |
||||
|
|||||
![]() ![]() ![]() |
Правила раздела «Флейм» | |
|
Добро пожаловать в «Флейм». В разделе не действуют многие правила:
Строго запрещено:
Напоминаем о существовании волшебной кнопочки "Репорт". Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джина-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт. Глас Винграда:
Глас Философии:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Флейм | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |