|
Представление программ
|
|||
---|---|---|---|
#18+
Хочу сделать в программе отображение примеров кода в зависимости от выбранного языка. Например пользователь выбирает C#, Java, Go, C++ и примеры отображаются на выбранном языке. Вопрос как хранить представление программ? Какой-то псевдокод, из которого генерится представление на выбранном языке? Типа: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
и шарповое представление у него такое Код: c# 1. 2. 3. 4.
Есть уже кем-то написанный велосипед который реализует такое? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2019, 17:03 |
|
Представление программ
|
|||
---|---|---|---|
#18+
Сложная это задачка. Кажется есть такой термин. Кросскомпилляция. Например фреймворк Java/GWT умеет собирать код под JavaScript. Разумеется с ограничениями. По поводу универсализма. Скорее всего не взлетит для некоторых специфичных кейсов. Например язык который поддерживает yield return скорее всего нельзя будет пересобрать под Java. Т.к. последний не поддерживает уступчивый возврат значения. Или например как поддержать обработку исключений в языке Go, в котом их нету. Можно зайти с другой стороны. Собрать код типа JVM/CLR/LLVM на любом из языков которые доступны. И заказать реверс инжинеринг из этого низкоуровневого кода обратно в целевой языке. Как вариант мы получим код но с сильной потерей смысла. И какие-то стандартные синтаксические конструкции могут быть разрушены. Например switch может исчезнуть и превратится в if-else. Кроме того есть языки-прадигмы которые в принципе никогда не собираются в другие формы. Например Lisp, или Prolog. Как их переносить - вообще вопрос непонятный. Поэтому наверное перенос программ можно гарантировать для очень ограниченного под-множества языков. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2019, 22:12 |
|
Представление программ
|
|||
---|---|---|---|
#18+
Eolt, ИМХО, ЯП настолько разные, что автоматизировать нереально. Скорее нужно честно хранить куски кода на разных ЯП. Начните со стандарта - "Hello World!". ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 09:53 |
|
Представление программ
|
|||
---|---|---|---|
#18+
Или псевдо-язык. Типичный сценарий. Пользователь бухгалтерии пишет запрос на псевдо-языке типа. Код: sql 1.
А двузвенка или трезвенка просто транслирует это в цепочку вызовов внешних сервисов и баз данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 11:23 |
|
|
start [/forum/topic.php?fid=16&msg=39889301&tid=1339875]: |
0ms |
get settings: |
12ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 146ms |
0 / 0 |