1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
---
source: src/syntax/library/functions/string/mid.rs
expression: tree
---
root:
kind: Root
children:
- kind: Newline
text: "\n"
- kind: Whitespace
text: " "
- kind: DoStatement
children:
- kind: DoKeyword
text: Do
- kind: Whitespace
text: " "
- kind: WhileKeyword
text: While
- kind: Whitespace
text: " "
- kind: BinaryExpression
children:
- kind: IdentifierExpression
children:
- kind: Identifier
text: i
- kind: Whitespace
text: " "
- kind: LessThanOrEqualOperator
text: "<="
- kind: Whitespace
text: " "
- kind: IdentifierExpression
children:
- kind: Identifier
text: recordCount
- kind: Newline
text: "\n"
- kind: StatementList
children:
- kind: Whitespace
text: " "
- kind: AssignmentStatement
children:
- kind: IdentifierExpression
children:
- kind: Identifier
text: customerID
- kind: Whitespace
text: " "
- kind: EqualityOperator
text: "="
- kind: Whitespace
text: " "
- kind: CallExpression
children:
- kind: MidKeyword
text: Mid
- kind: LeftParenthesis
text: (
- kind: ArgumentList
children:
- kind: Argument
children:
- kind: CallExpression
children:
- kind: Identifier
text: records
- kind: LeftParenthesis
text: (
- kind: ArgumentList
children:
- kind: Argument
children:
- kind: IdentifierExpression
children:
- kind: Identifier
text: i
- kind: RightParenthesis
text: )
- kind: Comma
text: ","
- kind: Whitespace
text: " "
- kind: Argument
children:
- kind: NumericLiteralExpression
children:
- kind: IntegerLiteral
text: "1"
- kind: Comma
text: ","
- kind: Whitespace
text: " "
- kind: Argument
children:
- kind: NumericLiteralExpression
children:
- kind: IntegerLiteral
text: "10"
- kind: RightParenthesis
text: )
- kind: Newline
text: "\n"
- kind: Whitespace
text: " "
- kind: AssignmentStatement
children:
- kind: IdentifierExpression
children:
- kind: Identifier
text: i
- kind: Whitespace
text: " "
- kind: EqualityOperator
text: "="
- kind: Whitespace
text: " "
- kind: BinaryExpression
children:
- kind: IdentifierExpression
children:
- kind: Identifier
text: i
- kind: Whitespace
text: " "
- kind: AdditionOperator
text: +
- kind: Whitespace
text: " "
- kind: NumericLiteralExpression
children:
- kind: IntegerLiteral
text: "1"
- kind: Newline
text: "\n"
- kind: Whitespace
text: " "
- kind: LoopKeyword
text: Loop
- kind: Newline
text: "\n"
- kind: Whitespace
text: " "