loom

Форк
0
/
test-interpret-simodo-script-debug.out 
99 строк · 2.2 Кб
1
Тест работы отладчика SBL ====================================
2
Утилита отладки ПОЯ. Проект SIMODO.
3
Формат запуска:
4
    simodo-debug [<параметры>] <файл>
5
Параметры:
6
    -h | --help                  - отображение подсказки по запуску программы
7
    -v | --version               - отображение версии программы
8
    -d | --loom-directory <путь> - путь к каталогу установки SIMODO/loom (по умолчанию: .)
9
    -A | --need-prompt-avoid     - не выводить приглашения на ввод команды
10
    -S | --engine-status-notification - выводить сообщение о статусе движка
11
--- test/source/engine/debug/asynch-01.s-script :
12
import "../import/asynch.s-script"
13
    : async
14

15
def auto : factor = fn [factor] (int : x) -> int 
16
{
17
    if x <= 1 return 1 
18

19
    return x*factor(x-1)
20
}
21

22

23
def auto : future = async.future( fn [factor] () { return factor(3) } )
24
def int  : f = factor(3)
25

26
print f
27
print f == future.get()
28
 --- interpret :
29
6
30
true
31
The work is stopped
32
The work is completed
33
--- test/source/engine/debug/divide-by-zero.s-script :
34
fn div(int : x, int : y) -> int
35
{
36
    return x/y 
37
}
38
    
39
print div(4, 0)
40
--- interpret :
41
Ошибка: Произошло исключение при обработке оператора: {semantics : "", code : 64, param : "/"}
42
Описание исключения: Деление на ноль
43
Позиция разбора: test/source/engine/debug/divide-by-zero.s-script:3:13[3,14]
44
Source: test/source/engine/debug/divide-by-zero.s-script
45
[ 1]fn div(int : x, int : y) -> int
46
[ 2]{
47
[ 3]    return x/y 
48
                ^
49
[ 4]}
50
[ 5]    
51

52
Calls:
53
0. 	fn div(int x, int y) -> int
54
	Called from (f:1, l:6, h:, o:4):
55
	Locals:
56
		y = 0
57
		x = 4
58

59
	<root module>
60
	Call point is out
61
	Locals:
62
		div = <function>
63

64
The work is paused
65
The work is completed
66
--- test/source/engine/debug/fiber-01-primes-100.s-script :
67
import "../import/primes.s-script" type Primes : p1
68

69
make fiber p1
70
flow fiber p1.prime(1,100)
71
wait fiber p1
72
--- interpret :
73
1
74
3
75
5
76
7
77
11
78
13
79
17
80
19
81
23
82
29
83
31
84
37
85
41
86
43
87
47
88
53
89
59
90
61
91
67
92
71
93
73
94
79
95
83
96
89
97
97
98
The work is stopped
99
The work is completed
100

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

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

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

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