Модераторы: diadiavova
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Парсер С\С++ для генерации xml, Преобразовать С/С++ в xml-дерево операци 
:(
    Опции темы
neosapient
Дата 8.7.2011, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Добрый день.

Существует мнение, что любой алгоритм написанный на одном языке можно записать на другом языке.
Предположу, что большенство языков программирования с точки зрения вложенности операций представляют дерево.

Есть C\C++ код  (или ему подобные, например, Lua, Php и Java). Хочу преобразовать его в JavaScript.
В голову напрашивается формальный подход в два преобразования:
 1) C\C++   ->    XML
 2) XML       ->    JavaScript


Для реализации второго преобразования буду использовать XSL Transformation.
А есть ли готовые парсеры С\С++, которые создают xml-дерево операций?


Особено интересуют opensource решения, например, на php-скрипт, который парсит С\С++ код и создает xml-дерево операций

Это сообщение отредактировал(а) neosapient - 8.7.2011, 13:55
PM MAIL   Вверх
diadiavova
Дата 8.7.2011, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 22
Всего: 142



Вообще-то этот вопрос совершенно не по разделу. Если бы у тебя была готовая схема документа, но вызывало бы затруднение само XSL- преобразование, то это сюда, а вопрос о том, где найти парсер C++ это совсем не сюда, даже не смотря на то, что в реализации идеи ты собираешься использовать хмл( где он только сейчас не используется).


Цитата(neosapient @  8.7.2011,  14:50 Найти цитируемый пост)
Есть C\C++ код  (или ему подобные, например, Lua, Php и Java). Хочу преобразовать его в JavaScript.

Если речь идет о любом языке, то подобные проекты есть, я встречал несколько реализаций для языков платформы .Net. Пара примеров:
ScriptSharp
Содержит несколько шаблонов проектов для Visual Studio, собственный набор библиотек и транслятор кода. Код пишется на C# и транслируется в яваскрипт.

JSC
Шикарный инструмент, является рекомпилятором нет-сборок. То есть сборка сначала компилируется штатными средствами, потом декомпилируется JSC, строится дерево и из него может создаваться код на разных языках. Благодаря использованию штатных компиляторов, поддерживаются все фичи языков и все языки дотнета. Хороший набор библиотек и трансляция в несколько языков.

Думаю для других технологий что-то подобное тоже должно существовать.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
neosapient
Дата 8.7.2011, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



diadiavova, спасибо за ответ.

Сложно подобрать подходящую ветку форума для этого вопроса. Написал сюда, так как предположил, что встретить специалиста с нужными мне ответами будет проще именно в разделе XML-форума.

На самом деле в первом посте я упростил задачу. Полностью она звучит так:
 - есть мало известный скриптовый язык с С-подобной нотацией. 
 - надо преобразовать функциональность, которую несут скрипты на этом языке 
 - в функциональность на web страничке, т.е. сгенерировать javascript'ы, которые будут делать то же самое


Изобрать велосипед не хочу, но судя по всему, придеться прописать всё руками. 


PM MAIL   Вверх
diadiavova
Дата 8.7.2011, 15:19 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 22
Всего: 142



Цитата(neosapient @  8.7.2011,  15:52 Найти цитируемый пост)
 надо преобразовать функциональность, которую несут скрипты на этом языке 

Честно говоря никогда не встречал сколько-нибудь приличный средств миграции кода. Обычно потом все равно многое приходится доводить до ума руками, да и не факт, что будет работать правильно. Все-таки в тех проектах, о которых я написал, целью было дать возможность использования богатого набора инструментов Visual Studio для разработки на яваскрипт, и там код уже заранее пишется с учетом того, что будет преобразован, а вот готовые скрипты на одном языке превратить в точно так же работающие на другом - это задача несколько иная и я сомневаюсь, что автоматическое преобразование кода с последующей ручной догонкой окажется задачей намного более простой, нежели написание с нуля. ИМХО конечно.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
DRUID3
  Дата 13.7.2011, 08:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 463
Регистрация: 20.6.2005
Где: Kyyiv

Репутация: нет
Всего: 9



Тогда уж C++ -> HTML -> JavaScript  smile ...  smile 


--------------------
Every time if you use Linux, you are joined to the communism...
практика - критерий истины ... отделенной от нас пропастью субъективного восприятия...
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась.

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | XML, XSL | Следующая тема »


 




[ Время генерации скрипта: 0.0676 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.