loom

Форк
0
/
test-interpret-simodo-script-debug.out 
174 строки · 5.1 Кб
1
Тест работы отладчика SBL ====================================
2
--- test/source/simodo-script/debug/asynch-01.simodo-script :
3
import "../import/asynch.simodo-script"
4
    : async
5

6
def auto : factor = fn [factor] (int : x) -> int 
7
{
8
    if x <= 1 return 1 
9

10
    return x*factor(x-1)
11
}
12

13

14
def auto : future = async.future( fn [factor] () { return factor(3) } )
15
def int  : f = factor(3)
16

17
print f
18
print f == future.get()
19
 --- interpret :
20
6
21
true
22
Интерпретация выполнена успешно
23
--- test/source/simodo-script/debug/divide-by-zero.simodo-script :
24
def int : res
25

26
do
27
{
28
    def auto : div = fn (int : x, int : y) -> int
29
        {
30
            return x/y 
31
        }
32
    
33
    res =  div(4,0)
34
}
35
while res < 0
36
--- interpret :
37
Ошибка: Произошло исключение при обработке оператора SBL
38
Описание исключения: Деление на ноль
39
Позиция разбора: test/source/simodo-script/debug/divide-by-zero.simodo-script:7:21[7,22]
40
Остановка программы произошла из-за нити 2
41
Индексы исходных файлов:
42
0. data/grammar/contracts/initial-contracts.simodo-script
43
1. data/grammar/contracts/range.simodo-script
44
2. test/source/simodo-script/debug/divide-by-zero.simodo-script
45
Структура нитей (name/no, status, (file,line,host,op), need_delete, waiting_for_no, error? causer?):
46
> 2, Paused, (f:2, l:7, h:, o:64), no, -, error causer
47
	fn div(int x, int y) -> int
48
		y = 0
49
		x = 4
50
	called from (f:2, l:10, h:, o:4):
51
	<root module>
52
		div = <function>
53
		res = 0
54
Интерпретация прервана
55
--- test/source/simodo-script/debug/fiber-01-primes-100.simodo-script :
56
import "../import/primes.simodo-script" type Primes : p1
57

58
make_fiber p1
59
flow p1.prime(1,100)
60
wait p1
61
--- interpret :
62
1
63
3
64
5
65
7
66
11
67
13
68
17
69
19
70
23
71
29
72
31
73
37
74
41
75
43
76
47
77
53
78
59
79
61
80
67
81
71
82
73
83
79
84
83
85
89
86
97
87
Интерпретация выполнена успешно
88
Тест работы отладчика с точками останова =====================
89
--- test/source/simodo-script/debug/asynch-01.simodo-script :
90
import "../import/asynch.simodo-script"
91
    : async
92

93
def auto : factor = fn [factor] (int : x) -> int 
94
{
95
    if x <= 1 return 1 
96

97
    return x*factor(x-1)
98
}
99

100

101
def auto : future = async.future( fn [factor] () { return factor(3) } )
102
def int  : f = factor(3)
103

104
print f
105
print f == future.get()
106
 --- interpret :
107
Остановка программы произошла из-за нити 2
108
Индексы исходных файлов:
109
0. data/grammar/contracts/initial-contracts.simodo-script
110
1. data/grammar/contracts/range.simodo-script
111
2. test/source/simodo-script/debug/asynch-01.simodo-script
112
3. test/source/simodo-script/debug/../import/asynch.simodo-script
113
4. test/source/simodo-script/debug/../import/promise.simodo-script
114
5. test/source/simodo-script/debug/../import/future.simodo-script
115
Структура нитей (name/no, status, (file,line,host,op), need_delete, waiting_for_no, error? causer?):
116
> 2, Paused, (f:2, l:12, h:, o:2), no, - causer
117
	<root module>
118
		factor = <function>
119
		async = {Promise:{ret:<null>, func:<function>, remote_calling:<function>}, Future:{prom:{ret:<null>, func:<function>, remote_calling:<function>}, get:<function>}, future:<function>}
120
Интерпретация прервана
121
--- test/source/simodo-script/debug/divide-by-zero.simodo-script :
122
def int : res
123

124
do
125
{
126
    def auto : div = fn (int : x, int : y) -> int
127
        {
128
            return x/y 
129
        }
130
    
131
    res =  div(4,0)
132
}
133
while res < 0
134
--- interpret :
135
Остановка программы произошла из-за нити 2
136
Индексы исходных файлов:
137
0. data/grammar/contracts/initial-contracts.simodo-script
138
1. data/grammar/contracts/range.simodo-script
139
2. test/source/simodo-script/debug/divide-by-zero.simodo-script
140
Структура нитей (name/no, status, (file,line,host,op), need_delete, waiting_for_no, error? causer?):
141
> 2, Paused, (f:2, l:7, h:, o:2), no, - causer
142
	fn div(int x, int y) -> int
143
		y = 0
144
		x = 4
145
	called from (f:2, l:10, h:, o:4):
146
	<root module>
147
		div = <function>
148
		res = 0
149
Интерпретация прервана
150
--- test/source/simodo-script/debug/fiber-01-primes-100.simodo-script :
151
import "../import/primes.simodo-script" type Primes : p1
152

153
make_fiber p1
154
flow p1.prime(1,100)
155
wait p1
156
--- interpret :
157
1
158
Остановка программы произошла из-за нити primes/3
159
Индексы исходных файлов:
160
0. data/grammar/contracts/initial-contracts.simodo-script
161
1. data/grammar/contracts/range.simodo-script
162
2. test/source/simodo-script/debug/fiber-01-primes-100.simodo-script
163
3. test/source/simodo-script/debug/../import/primes.simodo-script
164
Структура нитей (name/no, status, (file,line,host,op), need_delete, waiting_for_no, error? causer?):
165
> 2, Delayed, (f:2, l:5, h:, o:112), no, primes/3
166
-> primes/3, Paused, (f:3, l:11, h:, o:1), yes, - causer
167
	fn check_prime(int no) -> bool
168
		i = 2
169
	call point is out, formal call location: (f:2, l:4):
170
	fn prime(int start, int end)
171
		i = 2
172
		end = 100
173
		start = 1
174
Интерпретация прервана
175

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

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

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

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