Открыть список
Как стать автором
Обновить

Комментарии 17

Самое интересное в погоде — ее предсказание. Расскажите, пожалуйста, будут ли у Вас свои модели, или данные будут браться из доступных «чужих» данных, NOAA, например?

Я не хочу делать предсказания осмысленными — цель уроков задеть как можно больше актуальных тем в MPS, а не написать готовый продукт.

Вы пишете в комменте под первым постом:

> Например, потому что можно будет не переписывать код на другой ЯП в зависимости от платформы (на JavaScript, например, а писать на 1 языке и писать для него языки -расширения, которые будут переводить AST Weather в AST другого языка.

Т.е. вот то, что мы написали, это можно автоматически транслировать в другой язык? Я правильно понимаю?

Да, если модель языка описана в MPS.Например, уже описана Java, она называется baseLanguage

Мне вот одно интересно, я один считаю, что MPS в текущем виде пользоваться практически невозможно? Ибо текст программы по существу графический, хоть и выглядит текстовым. Банально невозможно скопипастить текст чтоб спросить на форуме. Даже в этой статье в качестве примеров идут картинки, хотя Java класс Temperature идет текстом.

Скопировать текст можно без проблем, а вот со вставлением могут возникнуть небольшие проблемы: нужно будет вручную все dependencies зарезолвить. Я прикрепляю картинки чтобы читатель был в контексте MPS, а текстовая форма это как то… Отдаленно.

Пользоваться им и правда не всегда удобно. Только это проблема не MPS, а устаревших прочих инструментов.

Вообще, если покодить в нормальном режиме(не в режиме разработки нового языка, а в режиме разработки программ на языке из MPS), то через недельку шпилишь уже как в обычном текстовом редакторе.

Можно спросить, как мне скопипастить? Только что я поставил MPS 2017.1.2. У меня при старте открылся класс Main с тестовым примером. Я мечтаю его текст вставить сюда. И я не могу даже выделение сделать. Единственное что я смог сделать — это нажать preview generated text, но это не совсем то, что мне хочется.

Используйте хоткей ctrl + w для выделения. Каждое новое нажатие ctrl + w выделяет текущий узел AST и родительский.

Weather prediction rules for Saint Petersburg
[ 21 : 23 ] {
temperature = 23.3 °C
}
[ 22 : 15 ] {
temperature = 80.2 °F
}

Да ужжж. Конечно радует, что это можно сделать. Но очень не интуитивно, без подсказки я б точно не догадался. А мышкой это никак нельзя сделать?

Я думаю, это сделано специально в силу того, что при копировании куска AST и вставления в другой редактор не было «пропавших кусков AST». То есть можно выделить только узлы. Ну и еще есть такая штука как кастомная проекция(Например, в sample проекте multipleProjections)
image
Я думаю не все текстовые редакторы поддерживают таблицы, но вот, как выглядел бы текст этой программы, если бы Вы его скопировали:
@export(namespace = fdfd)
workflow container org.jetbrains.workflow
tabular workflow simpleIssueTracking
event Close; event Reopen;

structural workflow advancedIssueTracking
event Close; event Verify; event Reopen;

state Open; -> Closed
state Open; -> Open

state Closed; -> Open
state WaitingVerification; -> Closed
-> Open

state Closed; -> Open

У меня работает только с ctrl + ↑ :c

Вверх — расширение выделения, вниз — наоборот.

И действительно, спасибо.
Не могли бы вы перелинковать статьи для более удобной навигации. Спасибо.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.