Нужен макроязык
От: DSblizzard Россия  
Дата: 08.04.10 10:11
Оценка:
В последнее время часто переписываю программы с одного языка на другой. Работа тупая, можно легко автоматизировать — взять язык с простейшим синтаксисом и задать правила перевода. Сложные плохо переводимые конструкции стараюсь не использовать. Какой язык, библиотеку или инструмент можете посоветовать для такой задачи? Расскажите об опыте практического применения, если перед вами стояла подобная задача.
Программировать сложно. Но не программировать еще сложнее.
Re: Нужен макроязык
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 08.04.10 10:13
Оценка: 2 (1)
Здравствуйте, DSblizzard, Вы писали:

TXL?
... << RSDN@Home 1.2.0 alpha 4 rev. 1469 on Windows 7 6.1.7600.0>>
AVK Blog
Re: Нужен макроязык
От: DSblizzard Россия  
Дата: 08.04.10 10:18
Оценка:
Неясно написал. Я хочу писать на этом макроязыке, а с него уже автоматически переводить на другие. Впрочем, и прямой перевод не помешает.
Программировать сложно. Но не программировать еще сложнее.
Re[2]: Нужен макроязык
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 08.04.10 10:24
Оценка: 5 (2)
Здравствуйте, DSblizzard, Вы писали:

DS>Неясно написал. Я хочу писать на этом макроязыке, а с него уже автоматически переводить на другие. Впрочем, и прямой перевод не помешает.

XML + XSLT?
Re: Нужен макроязык
От: elmal  
Дата: 08.04.10 10:28
Оценка: 2 (1)
Здравствуйте, DSblizzard, Вы писали:

DS>В последнее время часто переписываю программы с одного языка на другой. Работа тупая, можно легко автоматизировать — взять язык с простейшим синтаксисом и задать правила перевода. Сложные плохо переводимые конструкции стараюсь не использовать. Какой язык, библиотеку или инструмент можете посоветовать для такой задачи? Расскажите об опыте практического применения, если перед вами стояла подобная задача.

JetBrains MPS смотрел?
Re[2]: Нужен макроязык
От: DSblizzard Россия  
Дата: 08.04.10 10:32
Оценка:
Здравствуйте, elmal, Вы писали:

E>JetBrains MPS смотрел?


Смотрел, только давно и просто из любопытства. Спасибо, посмотрю еще раз.
Программировать сложно. Но не программировать еще сложнее.
Re: Нужен макроязык
От: Anton V. Kolotaev  
Дата: 08.04.10 10:36
Оценка: 2 (1)
Здравствуйте, DSblizzard, Вы писали:

Stratego/XT
Re[2]: Нужен макроязык
От: FR  
Дата: 08.04.10 10:59
Оценка: +1
Здравствуйте, DSblizzard, Вы писали:

DS>Неясно написал. Я хочу писать на этом макроязыке, а с него уже автоматически переводить на другие. Впрочем, и прямой перевод не помешает.


Лисп, наверно лучше его ограниченное подмножество.
Re[3]: Нужен макроязык
От: SE Украина  
Дата: 08.04.10 11:56
Оценка: 2 (1)
Здравствуйте, gandjustas, Вы писали:

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


DS>>Неясно написал. Я хочу писать на этом макроязыке, а с него уже автоматически переводить на другие. Впрочем, и прямой перевод не помешает.

G>XML + XSLT?
XSLT штука мощная, но сопровождать потом километры темплейтов удовольствие не из приятных.
Re[3]: Нужен макроязык
От: DSblizzard Россия  
Дата: 08.04.10 12:03
Оценка:
Здравствуйте, FR, Вы писали:

FR>Лисп, наверно лучше его ограниченное подмножество.


Я тоже об этом думал, только не могу сообразить, как его использовать. Как Лисп сможет облегчить задачу?
Программировать сложно. Но не программировать еще сложнее.
Re[4]: Нужен макроязык
От: FR  
Дата: 08.04.10 13:38
Оценка: 1 (1)
Здравствуйте, DSblizzard, Вы писали:

DS>Я тоже об этом думал, только не могу сообразить, как его использовать. Как Лисп сможет облегчить задачу?


Так с него легче всего генерировать, практически готовый язык описания и при этом одновременно и полноценный исполняемый код.
Re[4]: Нужен макроязык
От: MasterZiv СССР  
Дата: 11.04.10 07:01
Оценка: 1 (1)
DSblizzard wrote:

> Я тоже об этом думал, только не могу сообразить, как его использовать.

> Как Лисп сможет облегчить задачу?

0) Пишешь программу на лиспе.
1) Задаёшь выходной язык и загружаешь твою программу (можно было бы сказать
запускаешь, но думаю именно запускать
тебе её уже не придётся, хотя тут все сложно, кто знает, тот поймёт ).

2) получаешь код на целевом языке.

Собственно, программа у тебя будет состоять из:
-- программы на метаязыке, записанной в виде S-выражений лиспа, т.е. на лиспе.
Но сама программа будет при этом не программой, а данными.

-- набора макросов и функций, которые тебе будут транслировать программу с
метаязыка на целевой.

Хочу однако тебя предупредить, что никакой секретной магии тут нет,
и трансляторы придётся писать самому, естественно. Лисп тут ничем не
отличается от других языков программирования. Просто на лиспе гораздо
легче всё это сделать: описать какой-то язык и написать транслятор
с него. В лиспе код и данные -- это почти одно и то же.
Posted via RSDN NNTP Server 2.1 beta
Re[5]: Нужен макроязык
От: Lazytech Ниоткуда  
Дата: 03.05.10 08:03
Оценка:
Здравствуйте, MasterZiv, Вы писали:

MZ>Хочу однако тебя предупредить, что никакой секретной магии тут нет,

MZ>и трансляторы придётся писать самому, естественно. Лисп тут ничем не
MZ>отличается от других языков программирования. Просто на лиспе гораздо
MZ>легче всё это сделать: описать какой-то язык и написать транслятор
MZ>с него. В лиспе код и данные -- это почти одно и то же.

Я, правда, не программист и языков программирования знаю очень мало, но упомяну еще Форт.

The mistery of Yoda’s speech uncovered is: Just an old Forth programmer Yoda was.

Или не подходит?
Re[6]: Нужен макроязык
От: FR  
Дата: 03.05.10 16:21
Оценка:
Здравствуйте, Lazytech, Вы писали:

L>Я, правда, не программист и языков программирования знаю очень мало, но упомяну еще Форт.


Форт да как мета язык хорош, но для данной задачи lisp лучше, у него уже готовый язык описания в виде s-выражений.
Re: Нужен макроязык
От: batu Украина  
Дата: 09.05.10 19:30
Оценка:
Здравствуйте, DSblizzard, Вы писали:

DS>В последнее время часто переписываю программы с одного языка на другой. Работа тупая, можно легко автоматизировать — взять язык с простейшим синтаксисом и задать правила перевода. Сложные плохо переводимые конструкции стараюсь не использовать. Какой язык, библиотеку или инструмент можете посоветовать для такой задачи? Расскажите об опыте практического применения, если перед вами стояла подобная задача.

Есть такой язык. А цена вопроса? И, минимальный набор средств какой требуется? Потому как с языка на язык не все переведется.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.