================================================================================ Simple Structure ================================================================================ struct { x y } -------------------------------------------------------------------------------- (root (statement (expression (value (type_definition (structure (identifier) (type_specification (type)) (identifier) (type_specification (type)))))))) ================================================================================ Complex Structure ================================================================================ Foo = struct { x y = 0.0 bar = new Bar { baz = 42 } } -------------------------------------------------------------------------------- (root (statement (assignment (identifier) (assignment_operator) (statement (expression (value (type_definition (structure (identifier) (type_specification (type)) (identifier) (type_specification (type)) (statement (expression (value (float)))) (identifier) (type_specification (type (identifier))) (statement (expression (new (identifier) (identifier) (statement (expression (value (integer)))))))))))))))