================================================================================ Simple Structure ================================================================================ struct Foo { x y } -------------------------------------------------------------------------------- (root (statement (type_definition (struct_definition (identifier) (identifier) (type_specification (type)) (identifier) (type_specification (type)))))) ================================================================================ Nested Structure ================================================================================ struct Foo { x y = 0.0 bar = new Bar { baz = 42 } } -------------------------------------------------------------------------------- (root (statement (type_definition (struct_definition (identifier) (identifier) (type_specification (type)) (identifier) (type_specification (type)) (statement (expression (value (float)))) (identifier) (type_specification (type (identifier))) (statement (expression (value (struct_instance (identifier) (map (identifier) (statement (expression (value (integer)))))))))))))