loom

Форк
0
/
test-interpret-simodo-script-probe.out 
366 строк · 4.9 Кб
1
Тест работы интерпретатора SBL ====================================
2
--- test/source/simodo-script/probe/bubble.simodo-script :
3
// Пузырьковая сортировка массива
4

5
def auto : a = [1,2,3,4,5,6,7,8,9,10]
6

7
print a
8

9
for int : i in Range(0,9)
10
    for int : j in Range(i+1,9)
11
        if a[i] < a[j] {
12
            def auto : v = a[i]
13
            a[i] = a[j]
14
            a[j] = v
15
        }
16

17
print a
18
--- interpret :
19
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
20
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
21
Интерпретация выполнена успешно
22
--- test/source/simodo-script/probe/function1.simodo-script :
23
def auto : check_prime = function (int : no) -> int
24
{
25
    def int : i
26
    def int : d = no / i
27
    print no + " / " + i + " = "  + d
28
    return d
29
}
30

31
def int : i = 200
32

33
call check_prime(i)
34
--- interpret :
35
Ошибка: Произошло исключение при обработке оператора SBL
36
Описание исключения: Деление на ноль
37
Позиция разбора: test/source/simodo-script/probe/function1.simodo-script:4:22[4,23]
38
Интерпретация прервана
39
--- test/source/simodo-script/probe/primes.simodo-script :
40
/*  Простейший алгоритм определения простых чисел
41

42
    Демонстрирует основные возможности семантического анализатора и интерпретатора,
43
    а также отображение семантической информации в SIMODO IDE.
44
*/
45

46
fn check_prime(int : no) -> bool
47
{
48
    for int : i in Range(2, no/2+1)
49
        if no % i == 0
50
            return false
51
            
52
    return true
53
}
54

55
def int : start = 1
56
def int : end = 1500
57

58
print "Простые числа в интервале от " + start + " до " + end + ":"
59

60
for int : i in Range(start,end)
61
    if check_prime(i)
62
        print i
63
--- interpret :
64
Простые числа в интервале от 1 до 1500:
65
1
66
3
67
5
68
7
69
11
70
13
71
17
72
19
73
23
74
29
75
31
76
37
77
41
78
43
79
47
80
53
81
59
82
61
83
67
84
71
85
73
86
79
87
83
88
89
89
97
90
101
91
103
92
107
93
109
94
113
95
127
96
131
97
137
98
139
99
149
100
151
101
157
102
163
103
167
104
173
105
179
106
181
107
191
108
193
109
197
110
199
111
211
112
223
113
227
114
229
115
233
116
239
117
241
118
251
119
257
120
263
121
269
122
271
123
277
124
281
125
283
126
293
127
307
128
311
129
313
130
317
131
331
132
337
133
347
134
349
135
353
136
359
137
367
138
373
139
379
140
383
141
389
142
397
143
401
144
409
145
419
146
421
147
431
148
433
149
439
150
443
151
449
152
457
153
461
154
463
155
467
156
479
157
487
158
491
159
499
160
503
161
509
162
521
163
523
164
541
165
547
166
557
167
563
168
569
169
571
170
577
171
587
172
593
173
599
174
601
175
607
176
613
177
617
178
619
179
631
180
641
181
643
182
647
183
653
184
659
185
661
186
673
187
677
188
683
189
691
190
701
191
709
192
719
193
727
194
733
195
739
196
743
197
751
198
757
199
761
200
769
201
773
202
787
203
797
204
809
205
811
206
821
207
823
208
827
209
829
210
839
211
853
212
857
213
859
214
863
215
877
216
881
217
883
218
887
219
907
220
911
221
919
222
929
223
937
224
941
225
947
226
953
227
967
228
971
229
977
230
983
231
991
232
997
233
1009
234
1013
235
1019
236
1021
237
1031
238
1033
239
1039
240
1049
241
1051
242
1061
243
1063
244
1069
245
1087
246
1091
247
1093
248
1097
249
1103
250
1109
251
1117
252
1123
253
1129
254
1151
255
1153
256
1163
257
1171
258
1181
259
1187
260
1193
261
1201
262
1213
263
1217
264
1223
265
1229
266
1231
267
1237
268
1249
269
1259
270
1277
271
1279
272
1283
273
1289
274
1291
275
1297
276
1301
277
1303
278
1307
279
1319
280
1321
281
1327
282
1361
283
1367
284
1373
285
1381
286
1399
287
1409
288
1423
289
1427
290
1429
291
1433
292
1439
293
1447
294
1451
295
1453
296
1459
297
1471
298
1481
299
1483
300
1487
301
1489
302
1493
303
1499
304
Интерпретация выполнена успешно
305
Тест работы анализатора SBL ====================================
306
--- test/source/simodo-script/probe/bubble.simodo-script :
307
// Пузырьковая сортировка массива
308

309
def auto : a = [1,2,3,4,5,6,7,8,9,10]
310

311
print a
312

313
for int : i in Range(0,9)
314
    for int : j in Range(i+1,9)
315
        if a[i] < a[j] {
316
            def auto : v = a[i]
317
            a[i] = a[j]
318
            a[j] = v
319
        }
320

321
print a
322
--- interpret :
323
Интерпретация выполнена успешно
324
--- test/source/simodo-script/probe/function1.simodo-script :
325
def auto : check_prime = function (int : no) -> int
326
{
327
    def int : i
328
    def int : d = no / i
329
    print no + " / " + i + " = "  + d
330
    return d
331
}
332

333
def int : i = 200
334

335
call check_prime(i)
336
--- interpret :
337
Ошибка: Произошло исключение при обработке оператора SBL
338
Описание исключения: Деление на ноль
339
Позиция разбора: test/source/simodo-script/probe/function1.simodo-script:4:22[4,23]
340
Интерпретация прервана
341
--- test/source/simodo-script/probe/primes.simodo-script :
342
/*  Простейший алгоритм определения простых чисел
343

344
    Демонстрирует основные возможности семантического анализатора и интерпретатора,
345
    а также отображение семантической информации в SIMODO IDE.
346
*/
347

348
fn check_prime(int : no) -> bool
349
{
350
    for int : i in Range(2, no/2+1)
351
        if no % i == 0
352
            return false
353
            
354
    return true
355
}
356

357
def int : start = 1
358
def int : end = 1500
359

360
print "Простые числа в интервале от " + start + " до " + end + ":"
361

362
for int : i in Range(start,end)
363
    if check_prime(i)
364
        print i
365
--- interpret :
366
Интерпретация выполнена успешно
367

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.