File tree 1 file changed +17
-12
lines changed
1 file changed +17
-12
lines changed Original file line number Diff line number Diff line change @@ -109,34 +109,39 @@ func runProgram() {
109
109
110
110
func startRepl () {
111
111
scanner := bufio .NewScanner (os .Stdin )
112
- prompt ()
112
+ fmt .Print ("> " )
113
+
114
+ var (
115
+ err error
116
+ tree * parser.Tree
117
+ program * vm.Program
118
+ out interface {}
119
+ )
113
120
114
121
for scanner .Scan () {
115
122
line := scanner .Text ()
116
123
117
- tree , err : = parser .Parse (line )
124
+ tree , err = parser .Parse (line )
118
125
if err != nil {
119
126
fmt .Printf ("%v\n " , err )
120
- continue
127
+ goto prompt
121
128
}
122
129
123
- program , err : = compiler .Compile (tree )
130
+ program , err = compiler .Compile (tree )
124
131
if err != nil {
125
132
fmt .Printf ("%v\n " , err )
126
- continue
133
+ goto prompt
127
134
}
128
135
129
- out , err : = vm .Run (program , nil )
136
+ out , err = vm .Run (program , nil )
130
137
if err != nil {
131
138
fmt .Printf ("%v\n " , err )
132
- continue
139
+ goto prompt
133
140
}
134
141
135
142
fmt .Printf ("%v\n " , litter .Sdump (out ))
136
- prompt ()
137
- }
138
- }
139
143
140
- func prompt () {
141
- fmt .Print ("> " )
144
+ prompt:
145
+ fmt .Print ("> " )
146
+ }
142
147
}
You can’t perform that action at this time.
0 commit comments