Skip to content

mamaria-k/dsl-makrobot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Makrobot DSL

Демонстрация возможностей Kotlin для создания DSL на примере DSL для сценариев детского робота.

DSL определен в пакете csc.makrobot.dsl отдельно от основного API.

Описание:

Реализован DSL для описания и создания робота, позволяющий использовать такой синтаксис:

    val робот = робот("Wall-E") {
        голова {
            пластик толщиной 2

            глаза {
                лампы {
                    количество = 2
                    яркость = 10
                }
                диоды {
                    количество = 1
                    яркость = 3
                }
            }

            рот {
                динамик {
                    мощность = 3
                }
            }
        }

        туловище {
            металл толщиной 1

            надпись {
                +"I don't want to survive."
                +"I want live."
            }
        }

        руки {
            пластик толщиной 3
            нагрузка = легкая - средняя
        }

        шасси = гусеницы шириной 10
    }

Другие поддерживаемые варианты для шасси:

   шасси = ноги
   
   шасси = колеса {
        диаметр = 4
        количество = 2
   }

Детали реализации

Весь API находится в пакете csc.makrobot.api. DSL находится в пакете csc.makrobot.dsl, см. MakroBotDsl.kt

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages