Содержание
- 2. Что это такое DSL? Предметно-ориентированный язык (Domain Specific Language) – это язык программирования ограниченной выразительности, фокусирующийся
- 3. Пример программы на DSL Set camera size: 400 by 300 pixels. Set camera position: 100, 100.
- 4. Пример программы на DSL Computer: processor: cores -- 2 type -- i386 disk: size -- 75
- 5. Семантическая модель Представление языка 26
- 6. DSL и eDSL Внешний DSL Реализуется средствами создания ЯП. Произвольный синтаксис. Чужой по отношению к основному
- 7. eDSL средствами java и ruby computer() .processor() .cores(2) .speed(2500) .i386() .disk() .size(150) .disk() .size(75) .speed(7200) .sata()
- 8. Другой пример DSL на ruby [:computer, [:processor, [:cores, 2], [:type, :i386]], [:disk, [:size, 75], [:speed, 7200],
- 9. Как добавить сюда управляющие конструкции? computer() . . . .disk() .size(75) .speed(7200) .sata() .end(); [:computer, .
- 10. Как добавить сюда управляющие конструкции? computer() . . . .times(2) .disk() .size(75) .speed(7200) .sata() .end_times() .end();
- 11. Мы, программисты, представляем себя волшебниками, повелителями кода 20
- 12. A + B * C A + * B C Дерево разбора выражения 19
- 13. A + B * C A + * B C Дерево разбора выражения ( ( )
- 14. A + B * C A + * B C Дерево разбора выражения ( ( )
- 15. Computer: processor: cores -- 2 type -- i386 (Computer (processor (cores 2) (type i386))) c =
- 16. 15
- 17. Unless == not if (unless (= a b) (do something)) (if (not (= a b) (do
- 18. Unless == not if (defmacro unless [cond body] `(if (not ~cond) ~body)) Шаблон: unless Параметры: cond,
- 19. Порядок выполнения функций и макросов 12 Компиляция Макросы Исполнение Функции
- 20. Инфиксная нотация 11 (defmacro infix [arg1 op arg2] (list op arg1 arg2)) (infix 2 + 5)
- 21. (for (i = 0, i (defmacro for [args & body] (let [a1 (nth args 0) a2
- 22. I’ll be back! 09
- 23. Анафорический макрос (defmacro not-nil ([expr then & else] (let [result (symbol "result")] `(let [~result ~expr] (if
- 24. В C# 4.0 мы добавили новую фантастическую возможность: бла-бла-бла! Программисты C# 07
- 25. Пример М.Фаулера SVCLFOWLER 10101MS0120050313 SVCLHOHPE 10201DX0320050315 SVCLTWO x10301MRP220050329 USGE103 x50214..7050329 Как все это распарсить? 06
- 26. Разные типы – разные поля SVCLFOWLER 4-18: CustomerName 19-23: CustomerID 24-27 : CallTypeCode 28-35 : DateOfCallString
- 27. Расставим скобочки… (def-reader SVCLFOWLER [4 18 CustomerName] [19 23 CustomerID] [24 27 CallTypeCode] [28 35 DateOfCallString])
- 28. (defmacro def-reader [class-name & fields] (let [method-names (map #(vector (symbol (nth % 2)) '[] 'String) fields)
- 29. (def-reader fowler.core.ThirdClass [2 7 field1] [9 15 field2] [17 20 field3]) 02
- 30. Почувствуй силу!.. 01
- 32. Скачать презентацию






![Другой пример DSL на ruby [:computer, [:processor, [:cores, 2], [:type, :i386]], [:disk,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/425883/slide-7.jpg)









![Unless == not if (defmacro unless [cond body] `(if (not ~cond) ~body))](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/425883/slide-17.jpg)

![Инфиксная нотация 11 (defmacro infix [arg1 op arg2] (list op arg1 arg2))](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/425883/slide-19.jpg)
![(for (i = 0, i (defmacro for [args & body] (let [a1](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/425883/slide-20.jpg)

![Анафорический макрос (defmacro not-nil ([expr then & else] (let [result (symbol "result")]](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/425883/slide-22.jpg)



![Расставим скобочки… (def-reader SVCLFOWLER [4 18 CustomerName] [19 23 CustomerID] [24 27](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/425883/slide-26.jpg)
![(defmacro def-reader [class-name & fields] (let [method-names (map #(vector (symbol (nth %](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/425883/slide-27.jpg)
![(def-reader fowler.core.ThirdClass [2 7 field1] [9 15 field2] [17 20 field3]) 02](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/425883/slide-28.jpg)

Структура документа Excel
Городской пляж ОАО «Оазис»
Компьютерные презентации
Презентация на тему Неправильное питание
Презентация проектов. Рекламное агентство Креативное бюро Секрет успеха
Михайлова Татьяна Николаевна
Today Learning language
Русская народная вышивка
Золотые руки
Обеспечение карьерного роста в образовательном учреждении
Kids Clothing Ramraj Cotton
Портфолио учителя
Опыт взаимодействия Педагогического STEM-парка и Курского государственного университета
Какую профессию выбрать?
Составление текста из предложений
Разработка модельного комплекта для изготовления отливки детали в песчано-глинистой форме
VoiceBase.com
6 grudnia Mikołaja
Калининград
Klassifikatsia_elektropotrebiteley_i_po_stepeni_ikh_nadyozhnosti
Об организации и объеме оказания лечебной и реабилитационной помощи в государственных наркологических учреждениях Санкт–Пе
Итоги второго (краевого) этапа ИСО
General anatomy of the опорно-impellent device
Место стратегического управления в общей системе менеджмента и управления предприятием
Пожары и взрывы
Инновационная политика в Европе: Опыт и уроки европейских инновационных проектов Trendchart и Scoreboard, задачи на будущее Клэр Наувелаер
Александровская колонна на Дворцовой площади
Татарский танец