Intellipad в Осло:Как настроить MGrammarMode из трех столбцов?
-
23-08-2019 - |
Вопрос
Я использую Осло для MSchema.Прекрасно работает.Я могу написать схему M для проектирования базы данных, и она генерирует T-SQL для построения всей базы данных с PK, FK, проверками целостности и т. д.Я создал файл .bat для компиляции .m в .mx, затем загрузил его в базу данных, затем запустил SqlMetal в свой проект и через 30 секунд приступаю к внесению изменений.Я люблю это.
Хорошо, теперь я перехожу к mGrammar.Я не совсем уверен, как включу это в свое приложение, но я разберусь с этим.Прежде всего мне нужно настроить Intellipad, чтобы он давал мне триптих ввода/грамматики/вывода.Я в тупике.Я не могу придумать, как настроить поток.Да, я, вероятно, могу взять проект song.mg и переименовать его, но это не дает мне никакого представления о том, как он работает.Есть идеи?
Решение
Вот шаги, которые вам нужно предпринять
- Откройте «Intellipad (образцы включены)».
- Файл->Откройте файл DSL (Example.song)
- CTRL+SHIFT+D, введите «SetMode('MGMode')»
- Из меню:Режим MGrammar->Предварительный просмотр дерева
- Выберите файл грамматики (Song.mg)
Это откроет три вида предварительного просмотра.Левое окно — это пример кода, среднее — ваша грамматика, а правое — древовидная структура вашего вывода.
Другие советы
Как сказал @Just-in-case, но проще, если вы просто:
(1) CTRL – SHIFT – T
(2) Откройте файл MG.
То есть из лабораторного документа:
- Откройте Intellipad (с включенными образцами) либо из меню «Пуск», либо введя следующую команду (из «c:\Program Files\Microsoft Oslo SDK 1.0\Bin»):
«c:\program files\Microsoft Oslo SDK 1.0\bin\Intellipad\ipad.exe» /c:ipad-vs-samples.xaml
Примечание:«ipad-vs-samples.xaml» — это конфигурация, которая включает дополнительные функции, включая режим редактирования динамического анализа, который мы собираемся использовать.
В Intellipad используйте CONTROL-SHIFT-T, чтобы открыть Intellipad в режиме динамического анализатора.
- Выберите файл Movies.mg в папке IntroToM\Example02-MovieDSL\begin.
Возможно, вы заметили, что MSchema и MGrammar еще не так хорошо интегрированы.Подробнее об этом читайте здесь: http://tinyfinger.blogspot.com/2009/01/mgrammar-mschema-example.html