2022-11-30 01:43:37 +01:00
|
|
|
[
|
|
|
|
Function {
|
|
|
|
name: Identifier {
|
2022-12-05 17:53:41 +01:00
|
|
|
start: (
|
|
|
|
3,
|
|
|
|
10,
|
|
|
|
),
|
2022-11-30 01:43:37 +01:00
|
|
|
name: "fib",
|
2022-12-05 17:53:41 +01:00
|
|
|
end: (
|
|
|
|
3,
|
|
|
|
13,
|
|
|
|
),
|
2022-11-30 01:43:37 +01:00
|
|
|
},
|
2022-12-04 16:12:23 +01:00
|
|
|
attributes: [],
|
2022-11-30 01:43:37 +01:00
|
|
|
params: [
|
|
|
|
Param {
|
|
|
|
name: Variable {
|
2022-12-05 17:53:41 +01:00
|
|
|
start: (
|
|
|
|
3,
|
|
|
|
14,
|
|
|
|
),
|
2022-11-30 01:43:37 +01:00
|
|
|
name: "n",
|
2022-12-05 17:53:41 +01:00
|
|
|
end: (
|
|
|
|
3,
|
|
|
|
16,
|
|
|
|
),
|
2022-11-30 01:43:37 +01:00
|
|
|
},
|
2022-12-04 16:12:23 +01:00
|
|
|
attributes: [],
|
2022-11-30 01:43:37 +01:00
|
|
|
type: None,
|
|
|
|
variadic: false,
|
|
|
|
default: None,
|
|
|
|
flags: [],
|
|
|
|
by_ref: false,
|
|
|
|
},
|
|
|
|
],
|
|
|
|
body: [
|
|
|
|
If {
|
|
|
|
condition: Infix {
|
2022-12-05 17:53:41 +01:00
|
|
|
lhs: Variable(
|
|
|
|
Variable {
|
|
|
|
start: (
|
|
|
|
4,
|
|
|
|
9,
|
|
|
|
),
|
|
|
|
name: "n",
|
|
|
|
end: (
|
|
|
|
4,
|
|
|
|
12,
|
|
|
|
),
|
|
|
|
},
|
|
|
|
),
|
2022-11-30 01:43:37 +01:00
|
|
|
op: LessThan,
|
|
|
|
rhs: LiteralInteger {
|
|
|
|
i: 2,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
then: [
|
|
|
|
Return {
|
|
|
|
value: Some(
|
2022-12-05 17:53:41 +01:00
|
|
|
Variable(
|
|
|
|
Variable {
|
|
|
|
start: (
|
|
|
|
5,
|
|
|
|
16,
|
|
|
|
),
|
|
|
|
name: "n",
|
|
|
|
end: (
|
|
|
|
5,
|
|
|
|
18,
|
|
|
|
),
|
|
|
|
},
|
|
|
|
),
|
2022-11-30 01:43:37 +01:00
|
|
|
),
|
|
|
|
},
|
|
|
|
],
|
|
|
|
else_ifs: [],
|
|
|
|
else: None,
|
|
|
|
},
|
|
|
|
Return {
|
|
|
|
value: Some(
|
|
|
|
Infix {
|
|
|
|
lhs: Call {
|
2022-12-05 17:53:41 +01:00
|
|
|
target: Identifier(
|
|
|
|
Identifier {
|
|
|
|
start: (
|
|
|
|
8,
|
|
|
|
12,
|
|
|
|
),
|
|
|
|
name: "fib",
|
|
|
|
end: (
|
|
|
|
8,
|
|
|
|
15,
|
|
|
|
),
|
|
|
|
},
|
|
|
|
),
|
2022-11-30 01:43:37 +01:00
|
|
|
args: [
|
|
|
|
Arg {
|
|
|
|
name: None,
|
|
|
|
value: Infix {
|
2022-12-05 17:53:41 +01:00
|
|
|
lhs: Variable(
|
|
|
|
Variable {
|
|
|
|
start: (
|
|
|
|
8,
|
|
|
|
16,
|
|
|
|
),
|
|
|
|
name: "n",
|
|
|
|
end: (
|
|
|
|
8,
|
|
|
|
19,
|
|
|
|
),
|
|
|
|
},
|
|
|
|
),
|
2022-11-30 01:43:37 +01:00
|
|
|
op: Sub,
|
|
|
|
rhs: LiteralInteger {
|
|
|
|
i: 1,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
unpack: false,
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
|
|
|
op: Add,
|
|
|
|
rhs: Call {
|
2022-12-05 17:53:41 +01:00
|
|
|
target: Identifier(
|
|
|
|
Identifier {
|
|
|
|
start: (
|
|
|
|
8,
|
|
|
|
26,
|
|
|
|
),
|
|
|
|
name: "fib",
|
|
|
|
end: (
|
|
|
|
8,
|
|
|
|
29,
|
|
|
|
),
|
|
|
|
},
|
|
|
|
),
|
2022-11-30 01:43:37 +01:00
|
|
|
args: [
|
|
|
|
Arg {
|
|
|
|
name: None,
|
|
|
|
value: Infix {
|
2022-12-05 17:53:41 +01:00
|
|
|
lhs: Variable(
|
|
|
|
Variable {
|
|
|
|
start: (
|
|
|
|
8,
|
|
|
|
30,
|
|
|
|
),
|
|
|
|
name: "n",
|
|
|
|
end: (
|
|
|
|
8,
|
|
|
|
33,
|
|
|
|
),
|
|
|
|
},
|
|
|
|
),
|
2022-11-30 01:43:37 +01:00
|
|
|
op: Sub,
|
|
|
|
rhs: LiteralInteger {
|
|
|
|
i: 2,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
unpack: false,
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
|
|
|
},
|
|
|
|
),
|
|
|
|
},
|
|
|
|
],
|
|
|
|
return_type: None,
|
|
|
|
by_ref: false,
|
|
|
|
},
|
|
|
|
]
|