82 lines
1.9 KiB
Plaintext
82 lines
1.9 KiB
Plaintext
================================================================================
|
|
Simple Structure
|
|
================================================================================
|
|
|
|
struct { answer = 42 }
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(root
|
|
(statement
|
|
(expression
|
|
(value
|
|
(structure
|
|
(identifier)
|
|
(statement
|
|
(expression
|
|
(value
|
|
(integer)))))))))
|
|
|
|
================================================================================
|
|
Structure with Types
|
|
================================================================================
|
|
|
|
struct {
|
|
answer <num> = 42
|
|
stuff <[str]> = [ "some" "stuff" ]
|
|
}
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(root
|
|
(statement
|
|
(expression
|
|
(value
|
|
(structure
|
|
(identifier)
|
|
(type_definition
|
|
(type))
|
|
(statement
|
|
(expression
|
|
(value
|
|
(integer))))
|
|
(identifier)
|
|
(type_definition
|
|
(type
|
|
(type)))
|
|
(statement
|
|
(expression
|
|
(value
|
|
(list
|
|
(expression
|
|
(value
|
|
(string)))
|
|
(expression
|
|
(value
|
|
(string))))))))))))
|
|
|
|
================================================================================
|
|
Nested Structures
|
|
================================================================================
|
|
|
|
struct {
|
|
bar <Bar>
|
|
baz <Baz>
|
|
}
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(root
|
|
(statement
|
|
(expression
|
|
(value
|
|
(structure
|
|
(identifier)
|
|
(type_definition
|
|
(type
|
|
(identifier)))
|
|
(identifier)
|
|
(type_definition
|
|
(type
|
|
(identifier))))))))
|