================================================================================ Simple shape ================================================================================ foo bar -------------------------------------------------------------------------------- (source_file (shape_key) (shape_key) ) ================================================================================ Complex identifier ================================================================================ Foo bar -Biz-baz- -------------------------------------------------------------------------------- (source_file (shape_key) (shape_key) ) ================================================================================ Declare a shape inside a container ================================================================================ foo.baz -------------------------------------------------------------------------------- (source_file (shape_key) (dot) (shape_key) ) ================================================================================ Use quoted string as a shape key ================================================================================ 'foo'.'baz' -------------------------------------------------------------------------------- (source_file (shape_key (string)) (dot) (shape_key (string)) ) ================================================================================ Define multiple shapes using semicolons ================================================================================ a;b;c -------------------------------------------------------------------------------- (source_file (shape_key) (shape_key) (shape_key) ) ================================================================================ Aliased shapes ================================================================================ a: Foo Bar a: Foo Bar; b: Biz Baz -------------------------------------------------------------------------------- (source_file (shape_key) (label) (shape_key) (label) (shape_key) (label) ) ================================================================================ It should skip white spaces ================================================================================ foo bar : Foo Bar; baz -------------------------------------------------------------------------------- (source_file (shape_key) (shape_key) (label) (shape_key) ) ================================================================================ Shape block ================================================================================ foo: { bar: { baz: { biz } } } -------------------------------------------------------------------------------- (source_file (shape_key) (block (shape_key) (block (shape_key) (block (shape_key) ) ) ) ) ================================================================================ Aliased shape block ================================================================================ foo: Foo { bar: Bar { baz: Baz { biz: Biz } } } -------------------------------------------------------------------------------- (source_file (shape_key) (label) (block (shape_key) (label) (block (shape_key) (label) (block (shape_key) (label) ) ) ) )