Dmitriy Pleshevskiy
be8db7ca48
![image](/attachments/5bf879cc-b94c-414e-b69b-92cbc018671e) Co-authored-by: Dmitriy Pleshevskiy <dmitriy@ideascup.me> Reviewed-on: #1
226 lines
4.4 KiB
Text
226 lines
4.4 KiB
Text
================================================================================
|
|
Declare a shape inside a container
|
|
================================================================================
|
|
foo.baz
|
|
foo.bar.biz
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(source_file
|
|
(container
|
|
(container_key) (dot)
|
|
(shape (shape_key))
|
|
)
|
|
(container
|
|
(container_key) (dot)
|
|
(container
|
|
(container_key) (dot)
|
|
(shape (shape_key))
|
|
)
|
|
)
|
|
)
|
|
|
|
================================================================================
|
|
Use quoted string as keys
|
|
================================================================================
|
|
'foo'.'baz'
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(source_file
|
|
(container
|
|
(container_key (string)) (dot)
|
|
(shape (shape_key (string)))
|
|
)
|
|
)
|
|
|
|
================================================================================
|
|
Declare container inside a container using block
|
|
================================================================================
|
|
|
|
foo: {
|
|
bar: {
|
|
baz: {
|
|
biz
|
|
}
|
|
}
|
|
}
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(source_file
|
|
(container
|
|
(container_key)
|
|
(block
|
|
(container
|
|
(container_key)
|
|
(block
|
|
(container
|
|
(container_key)
|
|
(block
|
|
(shape (shape_key))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
================================================================================
|
|
Declare labeled container inside a labeled container using block
|
|
================================================================================
|
|
|
|
foo: Foo {
|
|
bar: Bar {
|
|
baz: Baz {
|
|
biz: Biz
|
|
}
|
|
}
|
|
}
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(source_file
|
|
(container
|
|
(container_key)
|
|
(label)
|
|
(block
|
|
(container
|
|
(container_key)
|
|
(label)
|
|
(block
|
|
(container
|
|
(container_key)
|
|
(label)
|
|
(block
|
|
(shape (shape_key) (label))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
================================================================================
|
|
Declare many shapes inside a container
|
|
================================================================================
|
|
|
|
foo: {
|
|
bar
|
|
biz
|
|
baz
|
|
}
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(source_file
|
|
(container
|
|
(container_key)
|
|
(block
|
|
(shape (shape_key))
|
|
(shape (shape_key))
|
|
(shape (shape_key))
|
|
)
|
|
)
|
|
)
|
|
|
|
|
|
================================================================================
|
|
Declare a container with complex keys
|
|
================================================================================
|
|
|
|
Foo biz bar: {
|
|
bar biz baz: {
|
|
-biz-baz-Baz-: {
|
|
Helo world
|
|
}
|
|
}
|
|
}
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(source_file
|
|
(container
|
|
(container_key)
|
|
(block
|
|
(container
|
|
(container_key)
|
|
(block
|
|
(container
|
|
(container_key)
|
|
(block
|
|
(shape (shape_key))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
================================================================================
|
|
Declare a container with complex keys and labels
|
|
================================================================================
|
|
|
|
Foo biz bar: Biz biz Bar {
|
|
bar biz baz: baz baz biz {
|
|
-biz-baz-Baz-: Biz buz Baz {
|
|
Helo world
|
|
}
|
|
}
|
|
}
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(source_file
|
|
(container
|
|
(container_key)
|
|
(label)
|
|
(block
|
|
(container
|
|
(container_key)
|
|
(label)
|
|
(block
|
|
(container
|
|
(container_key)
|
|
(label)
|
|
(block
|
|
(shape (shape_key))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
================================================================================
|
|
Declare shapes sparsely in a container
|
|
================================================================================
|
|
|
|
Foo: Baz {
|
|
|
|
biz
|
|
|
|
baz
|
|
|
|
bar
|
|
|
|
|
|
}
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(source_file
|
|
(container
|
|
(container_key)
|
|
(label)
|
|
(block
|
|
(shape (shape_key))
|
|
(shape (shape_key))
|
|
(shape (shape_key))
|
|
)
|
|
)
|
|
)
|