201 lines
7.6 KiB
Text
201 lines
7.6 KiB
Text
---
|
|
source: src/parser/parser.rs
|
|
expression: result
|
|
---
|
|
Ok(
|
|
[
|
|
Definition {
|
|
mutable: false,
|
|
name: Name(
|
|
"init",
|
|
),
|
|
expr: Func(
|
|
Fn {
|
|
args: [],
|
|
body: Block(
|
|
[
|
|
Return(
|
|
Some(
|
|
Record(
|
|
{
|
|
Label(
|
|
"player",
|
|
): Record(
|
|
{
|
|
Label(
|
|
"position",
|
|
): Record(
|
|
{
|
|
Label(
|
|
"x",
|
|
): Value(
|
|
Int(
|
|
10,
|
|
),
|
|
),
|
|
Label(
|
|
"y",
|
|
): Value(
|
|
Int(
|
|
20,
|
|
),
|
|
),
|
|
},
|
|
),
|
|
},
|
|
),
|
|
},
|
|
),
|
|
),
|
|
),
|
|
],
|
|
),
|
|
},
|
|
),
|
|
},
|
|
Definition {
|
|
mutable: false,
|
|
name: Name(
|
|
"update",
|
|
),
|
|
expr: Func(
|
|
Fn {
|
|
args: [
|
|
Arg {
|
|
name: Name(
|
|
"state",
|
|
),
|
|
},
|
|
Arg {
|
|
name: Name(
|
|
"events",
|
|
),
|
|
},
|
|
],
|
|
body: Block(
|
|
[
|
|
Return(
|
|
Some(
|
|
Var(
|
|
Name(
|
|
"state2",
|
|
),
|
|
),
|
|
),
|
|
),
|
|
],
|
|
),
|
|
},
|
|
),
|
|
},
|
|
Definition {
|
|
mutable: false,
|
|
name: Name(
|
|
"draw",
|
|
),
|
|
expr: Func(
|
|
Fn {
|
|
args: [
|
|
Arg {
|
|
name: Name(
|
|
"frame",
|
|
),
|
|
},
|
|
Arg {
|
|
name: Name(
|
|
"state",
|
|
),
|
|
},
|
|
],
|
|
body: Block(
|
|
[
|
|
Expr(
|
|
FunCall {
|
|
func: Access {
|
|
expr: Var(
|
|
Name(
|
|
"frame",
|
|
),
|
|
),
|
|
field: Label(
|
|
"clear",
|
|
),
|
|
},
|
|
args: [
|
|
Value(
|
|
Int(
|
|
0,
|
|
),
|
|
),
|
|
Value(
|
|
Int(
|
|
0,
|
|
),
|
|
),
|
|
Value(
|
|
Int(
|
|
0,
|
|
),
|
|
),
|
|
],
|
|
},
|
|
),
|
|
],
|
|
),
|
|
},
|
|
),
|
|
},
|
|
Definition {
|
|
mutable: false,
|
|
name: Name(
|
|
"migrate",
|
|
),
|
|
expr: Func(
|
|
Fn {
|
|
args: [
|
|
Arg {
|
|
name: Name(
|
|
"state",
|
|
),
|
|
},
|
|
],
|
|
body: Block(
|
|
[
|
|
Return(
|
|
Some(
|
|
Record(
|
|
{
|
|
Label(
|
|
"player",
|
|
): Record(
|
|
{
|
|
Label(
|
|
"pos",
|
|
): Access {
|
|
expr: Access {
|
|
expr: Var(
|
|
Name(
|
|
"state",
|
|
),
|
|
),
|
|
field: Label(
|
|
"player",
|
|
),
|
|
},
|
|
field: Label(
|
|
"position",
|
|
),
|
|
},
|
|
},
|
|
),
|
|
},
|
|
),
|
|
),
|
|
),
|
|
],
|
|
),
|
|
},
|
|
),
|
|
},
|
|
],
|
|
)
|