mirror of
https://github.com/ProgramSnail/Lama.git
synced 2025-12-05 22:38:44 +00:00
Fixed paths
This commit is contained in:
parent
0553fc764d
commit
09810470fc
86 changed files with 152 additions and 670 deletions
|
|
@ -21,7 +21,7 @@ let () =
|
|||
let found =
|
||||
if Sys.file_exists !lama_file then (
|
||||
cram_printfn
|
||||
" $ LAMA=../runtime ../src/Driver.exe -i test%03d.lama < \
|
||||
"../src/Driver.exe -i test%03d.lama < \
|
||||
test%03d.input"
|
||||
i i;
|
||||
true)
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test001.lama < test001.input
|
||||
> > 90
|
||||
../src/Driver.exe -i test001.lama < test001.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test002.lama < test002.input
|
||||
> > 41
|
||||
../src/Driver.exe -i test002.lama < test002.input
|
||||
|
|
|
|||
|
|
@ -1,4 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test003.lama < test003.input
|
||||
> > 7
|
||||
3
|
||||
1
|
||||
../src/Driver.exe -i test003.lama < test003.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test004.lama < test004.input
|
||||
> > 10
|
||||
../src/Driver.exe -i test004.lama < test004.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test005.lama < test005.input
|
||||
> > 11
|
||||
../src/Driver.exe -i test005.lama < test005.input
|
||||
|
|
|
|||
|
|
@ -1,7 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test006.lama < test006.input
|
||||
> > 1
|
||||
1
|
||||
0
|
||||
1
|
||||
0
|
||||
0
|
||||
../src/Driver.exe -i test006.lama < test006.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test007.lama < test007.input
|
||||
-4
|
||||
../src/Driver.exe -i test007.lama < test007.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test008.lama < test008.input
|
||||
-45
|
||||
../src/Driver.exe -i test008.lama < test008.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test009.lama < test009.input
|
||||
1024
|
||||
../src/Driver.exe -i test009.lama < test009.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test010.lama < test010.input
|
||||
499950
|
||||
../src/Driver.exe -i test010.lama < test010.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test011.lama < test011.input
|
||||
2
|
||||
../src/Driver.exe -i test011.lama < test011.input
|
||||
|
|
|
|||
|
|
@ -1,9 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test012.lama < test012.input
|
||||
> 0
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
0
|
||||
1
|
||||
1
|
||||
../src/Driver.exe -i test012.lama < test012.input
|
||||
|
|
|
|||
|
|
@ -1,9 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test013.lama < test013.input
|
||||
> 10
|
||||
11
|
||||
10
|
||||
11
|
||||
3
|
||||
2
|
||||
1
|
||||
0
|
||||
../src/Driver.exe -i test013.lama < test013.input
|
||||
|
|
|
|||
|
|
@ -1,32 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test014.lama < test014.input
|
||||
> 1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
../src/Driver.exe -i test014.lama < test014.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test015.lama < test015.input
|
||||
> 7919
|
||||
../src/Driver.exe -i test015.lama < test015.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test016.lama < test016.input
|
||||
> 3628800
|
||||
../src/Driver.exe -i test016.lama < test016.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test017.lama < test017.input
|
||||
> 6765
|
||||
../src/Driver.exe -i test017.lama < test017.input
|
||||
|
|
|
|||
|
|
@ -1,15 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test018.lama < test018.input
|
||||
> 2
|
||||
0
|
||||
3
|
||||
4
|
||||
5
|
||||
0
|
||||
7
|
||||
0
|
||||
11
|
||||
0
|
||||
13
|
||||
0
|
||||
17
|
||||
2
|
||||
../src/Driver.exe -i test018.lama < test018.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test019.lama < test019.input
|
||||
499950
|
||||
../src/Driver.exe -i test019.lama < test019.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test020.lama < test020.input
|
||||
> 7919
|
||||
../src/Driver.exe -i test020.lama < test020.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test021.lama < test021.input
|
||||
> 3628800
|
||||
../src/Driver.exe -i test021.lama < test021.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test022.lama < test022.input
|
||||
> 6765
|
||||
../src/Driver.exe -i test022.lama < test022.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test023.lama < test023.input
|
||||
> > > > > > 35
|
||||
../src/Driver.exe -i test023.lama < test023.input
|
||||
|
|
|
|||
|
|
@ -1,3 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test024.lama < test024.input
|
||||
> 3
|
||||
8
|
||||
../src/Driver.exe -i test024.lama < test024.input
|
||||
|
|
|
|||
|
|
@ -1,13 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test025.lama < test025.input
|
||||
> 1
|
||||
100
|
||||
200
|
||||
300
|
||||
2
|
||||
100
|
||||
200
|
||||
300
|
||||
3
|
||||
100
|
||||
200
|
||||
300
|
||||
../src/Driver.exe -i test025.lama < test025.input
|
||||
|
|
|
|||
|
|
@ -1,22 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test026.lama < test026.input
|
||||
> 1
|
||||
100
|
||||
200
|
||||
300
|
||||
100
|
||||
200
|
||||
300
|
||||
2
|
||||
100
|
||||
200
|
||||
300
|
||||
100
|
||||
200
|
||||
300
|
||||
3
|
||||
100
|
||||
200
|
||||
300
|
||||
100
|
||||
200
|
||||
300
|
||||
../src/Driver.exe -i test026.lama < test026.input
|
||||
|
|
|
|||
|
|
@ -1,36 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test027.lama < test027.input
|
||||
> 1
|
||||
100
|
||||
200
|
||||
300
|
||||
1
|
||||
2
|
||||
100
|
||||
200
|
||||
300
|
||||
3
|
||||
100
|
||||
200
|
||||
300
|
||||
3
|
||||
4
|
||||
100
|
||||
200
|
||||
300
|
||||
5
|
||||
100
|
||||
200
|
||||
300
|
||||
5
|
||||
100
|
||||
200
|
||||
300
|
||||
100
|
||||
200
|
||||
300
|
||||
100
|
||||
200
|
||||
300
|
||||
100
|
||||
200
|
||||
300
|
||||
../src/Driver.exe -i test027.lama < test027.input
|
||||
|
|
|
|||
|
|
@ -1,15 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test028.lama < test028.input
|
||||
> 7
|
||||
5040
|
||||
6
|
||||
720
|
||||
5
|
||||
120
|
||||
4
|
||||
24
|
||||
3
|
||||
6
|
||||
2
|
||||
2
|
||||
1
|
||||
1
|
||||
../src/Driver.exe -i test028.lama < test028.input
|
||||
|
|
|
|||
|
|
@ -1,19 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test029.lama < test029.input
|
||||
> 9
|
||||
55
|
||||
8
|
||||
34
|
||||
7
|
||||
21
|
||||
6
|
||||
13
|
||||
5
|
||||
8
|
||||
4
|
||||
5
|
||||
3
|
||||
3
|
||||
2
|
||||
2
|
||||
1
|
||||
1
|
||||
../src/Driver.exe -i test029.lama < test029.input
|
||||
|
|
|
|||
|
|
@ -1,17 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test034.lama < test034.input
|
||||
> 97
|
||||
98
|
||||
99
|
||||
100
|
||||
101
|
||||
102
|
||||
103
|
||||
104
|
||||
99
|
||||
100
|
||||
101
|
||||
102
|
||||
103
|
||||
104
|
||||
105
|
||||
106
|
||||
../src/Driver.exe -i test034.lama < test034.input
|
||||
|
|
|
|||
|
|
@ -1,17 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test036.lama < test036.input
|
||||
> 97
|
||||
98
|
||||
99
|
||||
100
|
||||
101
|
||||
102
|
||||
103
|
||||
104
|
||||
97
|
||||
97
|
||||
97
|
||||
97
|
||||
97
|
||||
97
|
||||
97
|
||||
97
|
||||
../src/Driver.exe -i test036.lama < test036.input
|
||||
|
|
|
|||
|
|
@ -1,5 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test040.lama < test040.input
|
||||
> 1
|
||||
2
|
||||
3
|
||||
4
|
||||
../src/Driver.exe -i test040.lama < test040.input
|
||||
|
|
|
|||
|
|
@ -1,3 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test041.lama < test041.input
|
||||
> 600
|
||||
1800
|
||||
../src/Driver.exe -i test041.lama < test041.input
|
||||
|
|
|
|||
|
|
@ -1,11 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test042.lama < test042.input
|
||||
> 0
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
../src/Driver.exe -i test042.lama < test042.input
|
||||
|
|
|
|||
|
|
@ -1,41 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test045.lama < test045.input
|
||||
> 49
|
||||
34
|
||||
97
|
||||
98
|
||||
99
|
||||
34
|
||||
91
|
||||
93
|
||||
91
|
||||
49
|
||||
44
|
||||
32
|
||||
50
|
||||
44
|
||||
32
|
||||
51
|
||||
93
|
||||
67
|
||||
111
|
||||
110
|
||||
115
|
||||
32
|
||||
40
|
||||
49
|
||||
44
|
||||
32
|
||||
67
|
||||
111
|
||||
110
|
||||
115
|
||||
32
|
||||
40
|
||||
50
|
||||
44
|
||||
32
|
||||
78
|
||||
105
|
||||
108
|
||||
41
|
||||
41
|
||||
../src/Driver.exe -i test045.lama < test045.input
|
||||
|
|
|
|||
|
|
@ -1,14 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test046.lama < test046.input
|
||||
> 3
|
||||
3
|
||||
3
|
||||
1
|
||||
2
|
||||
3
|
||||
5
|
||||
5
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
../src/Driver.exe -i test046.lama < test046.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test050.lama < test050.input
|
||||
> 2
|
||||
../src/Driver.exe -i test050.lama < test050.input
|
||||
|
|
|
|||
|
|
@ -1,14 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test054.lama < test054.input
|
||||
> 105
|
||||
105
|
||||
105
|
||||
230
|
||||
105
|
||||
105
|
||||
105
|
||||
230
|
||||
105
|
||||
250
|
||||
1
|
||||
2
|
||||
3
|
||||
../src/Driver.exe -i test054.lama < test054.input
|
||||
|
|
|
|||
|
|
@ -1,4 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test059.lama < test059.input
|
||||
> 0
|
||||
1
|
||||
2
|
||||
../src/Driver.exe -i test059.lama < test059.input
|
||||
|
|
|
|||
|
|
@ -1,3 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test063.lama < test063.input
|
||||
> 100
|
||||
200
|
||||
../src/Driver.exe -i test063.lama < test063.input
|
||||
|
|
|
|||
|
|
@ -1,19 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test072.lama < test072.input
|
||||
> 9
|
||||
55
|
||||
8
|
||||
34
|
||||
7
|
||||
21
|
||||
6
|
||||
13
|
||||
5
|
||||
8
|
||||
4
|
||||
5
|
||||
3
|
||||
3
|
||||
2
|
||||
2
|
||||
1
|
||||
1
|
||||
../src/Driver.exe -i test072.lama < test072.input
|
||||
|
|
|
|||
|
|
@ -1,15 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test073.lama < test073.input
|
||||
> 7
|
||||
5040
|
||||
6
|
||||
720
|
||||
5
|
||||
120
|
||||
4
|
||||
24
|
||||
3
|
||||
6
|
||||
2
|
||||
2
|
||||
1
|
||||
1
|
||||
../src/Driver.exe -i test073.lama < test073.input
|
||||
|
|
|
|||
|
|
@ -1,37 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test074.lama < test074.input
|
||||
> 1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
3
|
||||
5
|
||||
7
|
||||
9
|
||||
11
|
||||
13
|
||||
15
|
||||
17
|
||||
19
|
||||
5
|
||||
13
|
||||
29
|
||||
61
|
||||
125
|
||||
253
|
||||
509
|
||||
1021
|
||||
2045
|
||||
../src/Driver.exe -i test074.lama < test074.input
|
||||
|
|
|
|||
|
|
@ -1,7 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test077.lama < test077.input
|
||||
> 5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
../src/Driver.exe -i test077.lama < test077.input
|
||||
|
|
|
|||
|
|
@ -1,13 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test078.lama < test078.input
|
||||
> 1
|
||||
2
|
||||
3
|
||||
4
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
3
|
||||
4
|
||||
1
|
||||
2
|
||||
../src/Driver.exe -i test078.lama < test078.input
|
||||
|
|
|
|||
|
|
@ -1,7 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test079.lama < test079.input
|
||||
> 1
|
||||
1
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
../src/Driver.exe -i test079.lama < test079.input
|
||||
|
|
|
|||
|
|
@ -1,4 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test080.lama < test080.input
|
||||
> 0
|
||||
100
|
||||
300
|
||||
../src/Driver.exe -i test080.lama < test080.input
|
||||
|
|
|
|||
|
|
@ -1,7 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test081.lama < test081.input
|
||||
> 1
|
||||
2
|
||||
3
|
||||
100
|
||||
200
|
||||
300
|
||||
../src/Driver.exe -i test081.lama < test081.input
|
||||
|
|
|
|||
|
|
@ -1,18 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test082.lama < test082.input
|
||||
> 1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
2
|
||||
3
|
||||
100
|
||||
3
|
||||
2
|
||||
1
|
||||
6
|
||||
5
|
||||
4
|
||||
3
|
||||
2
|
||||
1
|
||||
../src/Driver.exe -i test082.lama < test082.input
|
||||
|
|
|
|||
|
|
@ -1,4 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test083.lama < test083.input
|
||||
> 7
|
||||
7
|
||||
28
|
||||
../src/Driver.exe -i test083.lama < test083.input
|
||||
|
|
|
|||
|
|
@ -1,4 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test084.lama < test084.input
|
||||
> 55
|
||||
310
|
||||
310
|
||||
../src/Driver.exe -i test084.lama < test084.input
|
||||
|
|
|
|||
|
|
@ -1,9 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test085.lama < test085.input
|
||||
> 0
|
||||
15
|
||||
15
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
../src/Driver.exe -i test085.lama < test085.input
|
||||
|
|
|
|||
|
|
@ -1,4 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test086.lama < test086.input
|
||||
> 1
|
||||
2
|
||||
3
|
||||
../src/Driver.exe -i test086.lama < test086.input
|
||||
|
|
|
|||
|
|
@ -1,3 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test088.lama < test088.input
|
||||
0
|
||||
3
|
||||
../src/Driver.exe -i test088.lama < test088.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test089.lama < test089.input
|
||||
> > > 8
|
||||
../src/Driver.exe -i test089.lama < test089.input
|
||||
|
|
|
|||
|
|
@ -1,4 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test090.lama < test090.input
|
||||
> 6
|
||||
7
|
||||
8
|
||||
../src/Driver.exe -i test090.lama < test090.input
|
||||
|
|
|
|||
|
|
@ -1,10 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test091.lama < test091.input
|
||||
> 1
|
||||
2
|
||||
3
|
||||
2
|
||||
3
|
||||
4
|
||||
3
|
||||
4
|
||||
5
|
||||
../src/Driver.exe -i test091.lama < test091.input
|
||||
|
|
|
|||
|
|
@ -1,6 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test092.lama < test092.input
|
||||
> 1
|
||||
1
|
||||
1
|
||||
1
|
||||
0
|
||||
../src/Driver.exe -i test092.lama < test092.input
|
||||
|
|
|
|||
|
|
@ -1,3 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test093.lama < test093.input
|
||||
> 11
|
||||
18
|
||||
../src/Driver.exe -i test093.lama < test093.input
|
||||
|
|
|
|||
|
|
@ -1,5 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test094.lama < test094.input
|
||||
> 5
|
||||
7
|
||||
12
|
||||
-2
|
||||
../src/Driver.exe -i test094.lama < test094.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test095.lama < test095.input
|
||||
> 5
|
||||
../src/Driver.exe -i test095.lama < test095.input
|
||||
|
|
|
|||
|
|
@ -1,3 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test096.lama < test096.input
|
||||
> 2
|
||||
1
|
||||
../src/Driver.exe -i test096.lama < test096.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test097.lama < test097.input
|
||||
> 35
|
||||
../src/Driver.exe -i test097.lama < test097.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test098.lama < test098.input
|
||||
> 12
|
||||
../src/Driver.exe -i test098.lama < test098.input
|
||||
|
|
|
|||
|
|
@ -1,4 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test099.lama < test099.input
|
||||
> 1
|
||||
800
|
||||
800
|
||||
../src/Driver.exe -i test099.lama < test099.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test100.lama < test100.input
|
||||
> 0
|
||||
../src/Driver.exe -i test100.lama < test100.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test101.lama < test101.input
|
||||
> 0
|
||||
../src/Driver.exe -i test101.lama < test101.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test102.lama < test102.input
|
||||
> 5
|
||||
../src/Driver.exe -i test102.lama < test102.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test103.lama < test103.input
|
||||
> > > 5
|
||||
../src/Driver.exe -i test103.lama < test103.input
|
||||
|
|
|
|||
|
|
@ -1,11 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test104.lama < test104.input
|
||||
> 0
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
../src/Driver.exe -i test104.lama < test104.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test105.lama < test105.input
|
||||
> 3
|
||||
../src/Driver.exe -i test105.lama < test105.input
|
||||
|
|
|
|||
|
|
@ -1,3 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test106.lama < test106.input
|
||||
> 1
|
||||
2
|
||||
../src/Driver.exe -i test106.lama < test106.input
|
||||
|
|
|
|||
|
|
@ -1,2 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test107.lama < test107.input
|
||||
> 0
|
||||
../src/Driver.exe -i test107.lama < test107.input
|
||||
|
|
|
|||
|
|
@ -1,7 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test110.lama < test110.input
|
||||
> 0
|
||||
0
|
||||
10
|
||||
0
|
||||
10
|
||||
100
|
||||
../src/Driver.exe -i test110.lama < test110.input
|
||||
|
|
|
|||
|
|
@ -1,3 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test111.lama < test111.input
|
||||
Error: undefined name "stringcat" at (11, 15)
|
||||
[255]
|
||||
../src/Driver.exe -i test111.lama < test111.input
|
||||
|
|
|
|||
|
|
@ -1,12 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test112.lama < test112.input
|
||||
1
|
||||
2
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
3
|
||||
../src/Driver.exe -i test112.lama < test112.input
|
||||
|
|
|
|||
|
|
@ -1,6 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test801.lama < test801.input
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
../src/Driver.exe -i test801.lama < test801.input
|
||||
|
|
|
|||
|
|
@ -1,11 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test802.lama < test802.input
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
../src/Driver.exe -i test802.lama < test802.input
|
||||
|
|
|
|||
|
|
@ -1,3 +1 @@
|
|||
$ LAMA=../runtime ../src/Driver.exe -i test803.lama < test803.input
|
||||
Fatal error: exception Failure("int value expected (Closure ([\"unit\"], <not supported>, <not supported>))\n")
|
||||
[2]
|
||||
../src/Driver.exe -i test803.lama < test803.input
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ let[@ocaml.warning "-32"] main =
|
|||
| `Default | `Compile -> (
|
||||
match cmd#march with
|
||||
| `X86_32 -> ignore @@ X86_32.build cmd prog
|
||||
| `AMD64 -> ignore @@ X86_64.build cmd prog)
|
||||
| `AMD64 -> ignore @@ X86_64.build cmd prog)
|
||||
| `BC -> SM.ByteCode.compile cmd (SM.compile cmd prog)
|
||||
| _ ->
|
||||
let rec read acc =
|
||||
|
|
|
|||
|
|
@ -8,7 +8,8 @@ class options args =
|
|||
let dump_sm = 0b010 in
|
||||
let dump_source = 0b100 in
|
||||
(* Kakadu: binary masks are cool for C code, but for OCaml I don't see any reason to save memory like this *)
|
||||
let runtime_path_ =
|
||||
(* DB: that's not to save memory, but to ease the check :^) *)
|
||||
let generic_runtime_path =
|
||||
match Sys.getenv_opt "LAMA" with Some s -> s | None -> Stdpath.path
|
||||
in
|
||||
let host_os =
|
||||
|
|
@ -22,20 +23,24 @@ class options args =
|
|||
"Lama compiler. (C) JetBrains Reserach, 2017-2024.\n"
|
||||
^ "Usage: lamac <options> <input file>\n\n"
|
||||
^ "When no options specified, builds the source file into executable.\n"
|
||||
^ "Options:\n" ^ " -c --- compile into object file\n"
|
||||
^ " -o <file> --- write executable into file <file>\n"
|
||||
^ " -I <path> --- add <path> into unit search path list\n"
|
||||
^ " -i --- interpret on a source-level interpreter\n"
|
||||
^ " -s --- compile into stack machine code and interpret on the \
|
||||
stack machine initerpreter\n"
|
||||
^ " -g --- add more debug info and runtime checks\n"
|
||||
^ " -dp --- dump AST (the output will be written into .ast file)\n"
|
||||
^ " -dsrc --- dump pretty-printed source code\n"
|
||||
^ " -ds --- dump stack machine code (the output will be written \
|
||||
into .sm file; has no\n"
|
||||
^ " effect if -i option is specfied)\n"
|
||||
^ " -b --- compile to a stack machine bytecode\n"
|
||||
^ " -v --- show version\n" ^ " -h --- show this help\n"
|
||||
^ "Options:\n"
|
||||
^ " -c --- compile into object file\n"
|
||||
^ " -o <file> --- write executable into file <file>\n"
|
||||
^ " -I <path> --- add <path> into unit search path list\n"
|
||||
^ " -i --- interpret on a source-level interpreter\n"
|
||||
^ " -s --- compile into stack machine code and interpret on the \
|
||||
stack machine initerpreter\n"
|
||||
^ " -g --- add more debug info and runtime checks\n"
|
||||
^ " -dp --- dump AST (the output will be written into .ast file)\n"
|
||||
^ " -dsrc --- dump pretty-printed source code\n"
|
||||
^ " -ds --- dump stack machine code (the output will be written \
|
||||
into .sm file; has no\n"
|
||||
^ " effect if -i option is specfied)\n"
|
||||
^ " -b --- compile to a stack machine bytecode\n"
|
||||
^ " -64 --- set native compiler target to X86_64 (default)\n"
|
||||
^ " -32 --- set native compiler target to X86_32\n"
|
||||
^ " -runtime <path> --- set a path to runtime explicitly\n"
|
||||
^ " -v --- show version\n" ^ " -h --- show this help\n"
|
||||
in
|
||||
object (self)
|
||||
val version = ref false
|
||||
|
|
@ -44,8 +49,9 @@ class options args =
|
|||
val infile = ref (None : string option)
|
||||
val outfile = ref (None : string option)
|
||||
val march = ref `AMD64
|
||||
val runtime_path = runtime_path_
|
||||
val paths = ref [ runtime_path_ ]
|
||||
val runtime_path = generic_runtime_path
|
||||
val explicit_runtime_path = ref None
|
||||
val paths = ref []
|
||||
val mode = ref (`Default : [ `Default | `Eval | `SM | `Compile | `BC ])
|
||||
val curdir = Unix.getcwd ()
|
||||
val debug = ref false
|
||||
|
|
@ -80,16 +86,23 @@ class options args =
|
|||
raise
|
||||
(Commandline_error "Path expected after '-I' specifier")
|
||||
| Some path -> self#add_include_path path)
|
||||
| "-march=x86_64" | "-march=amd64" -> march := `AMD64
|
||||
| "-march=x86" -> march := `X86_32
|
||||
| "-s" -> self#set_mode `SM
|
||||
| "-b" -> self#set_mode `BC
|
||||
| "-i" -> self#set_mode `Eval
|
||||
| "-ds" -> self#set_dump dump_sm
|
||||
| "-dsrc" -> self#set_dump dump_source
|
||||
| "-dp" -> self#set_dump dump_ast
|
||||
| "-h" -> self#set_help
|
||||
| "-v" -> self#set_version
|
||||
| "-64" -> march := `AMD64
|
||||
| "-32" -> march := `X86_32
|
||||
| "-s" -> self#set_mode `SM
|
||||
| "-b" -> self#set_mode `BC
|
||||
| "-i" -> self#set_mode `Eval
|
||||
| "-ds" -> self#set_dump dump_sm
|
||||
| "-dsrc" -> self#set_dump dump_source
|
||||
| "-dp" -> self#set_dump dump_ast
|
||||
| "-h" -> self#set_help
|
||||
| "-v" -> self#set_version
|
||||
| "-runtime" ->
|
||||
(match self#peek with
|
||||
| None ->
|
||||
raise
|
||||
(Commandline_error "Path expected after '-runtime' specifier")
|
||||
| Some path -> self#set_runtime_path path
|
||||
)
|
||||
| "-g" -> set_debug ()
|
||||
| _ ->
|
||||
if opt.[0] = '-' then
|
||||
|
|
@ -142,6 +155,8 @@ class options args =
|
|||
Some args.(j))
|
||||
else None
|
||||
|
||||
method private set_runtime_path path = explicit_runtime_path := Some path
|
||||
|
||||
method march : [ `AMD64 | `X86_32 ] = !march
|
||||
method get_debug = ""
|
||||
method get_mode = !mode
|
||||
|
|
@ -161,8 +176,12 @@ class options args =
|
|||
| Some name -> name
|
||||
|
||||
method get_help = !help
|
||||
method get_include_paths = !paths
|
||||
method get_runtime_path = runtime_path
|
||||
method get_include_paths = self#get_runtime_path :: !paths
|
||||
method get_runtime_path =
|
||||
match !explicit_runtime_path with
|
||||
| None ->
|
||||
runtime_path ^ (match self#march with `X86_32 -> "/x32" | _ -> "/x64")
|
||||
| Some p -> p
|
||||
|
||||
method basename =
|
||||
Filename.chop_suffix (Filename.basename self#get_infile) ".lama"
|
||||
|
|
|
|||
|
|
@ -807,11 +807,6 @@ let genasm cmd prog =
|
|||
code);
|
||||
Buffer.contents asm
|
||||
|
||||
let get_std_path () =
|
||||
match Sys.getenv_opt "LAMA" with
|
||||
| Some s -> s
|
||||
| None -> Stdpath.path
|
||||
|
||||
(* Builds a program: generates the assembler file and compiles it with the gcc toolchain *)
|
||||
let build cmd prog =
|
||||
let find_objects imports paths =
|
||||
|
|
@ -834,7 +829,7 @@ let build cmd prog =
|
|||
in
|
||||
cmd#dump_file "s" (genasm cmd prog);
|
||||
cmd#dump_file "i" (Interface.gen prog);
|
||||
let inc = get_std_path () in
|
||||
let inc = cmd#get_runtime_path in
|
||||
match cmd#get_mode with
|
||||
| `Default ->
|
||||
let objs = find_objects (fst @@ fst prog) cmd#get_include_paths in
|
||||
|
|
|
|||
|
|
@ -58,5 +58,5 @@
|
|||
"../../runtime32"
|
||||
(setenv
|
||||
LAMAC
|
||||
"../../src/Driver.exe -march=x86 -I ../runtime32"
|
||||
"../../src/Driver.exe -32 -I ../../runtime32"
|
||||
(run make -j2 -f ../Makefile all)))))))
|
||||
|
|
|
|||
|
|
@ -55,5 +55,5 @@
|
|||
"../../runtime"
|
||||
(setenv
|
||||
LAMAC
|
||||
"../../src/Driver.exe -march=amd64 -I ../runtime"
|
||||
"../../src/Driver.exe -64 -I ../../runtime"
|
||||
(run make -j2 -f ../Makefile all)))))))
|
||||
|
|
|
|||
|
|
@ -11,11 +11,11 @@
|
|||
"../runtime32"
|
||||
(run
|
||||
%{project_root}/src/Driver.exe
|
||||
-march=x86
|
||||
-32
|
||||
%{lama}
|
||||
-I
|
||||
../stdlib/x32
|
||||
-I
|
||||
-runtime
|
||||
../runtime32
|
||||
-o
|
||||
%{targets}))))
|
||||
|
|
@ -32,11 +32,11 @@
|
|||
"../runtime"
|
||||
(run
|
||||
%{project_root}/src/Driver.exe
|
||||
-march=x86_64
|
||||
-64
|
||||
%{lama}
|
||||
-I
|
||||
../stdlib/x64
|
||||
-I
|
||||
-runtime
|
||||
../runtime
|
||||
-o
|
||||
%{targets}))))
|
||||
|
|
@ -53,11 +53,11 @@
|
|||
"../runtime32"
|
||||
(run
|
||||
%{project_root}/src/Driver.exe
|
||||
-march=x86
|
||||
-32
|
||||
%{lama}
|
||||
-I
|
||||
../stdlib/x32
|
||||
-I
|
||||
-runtime
|
||||
../runtime32
|
||||
-o
|
||||
%{targets}))))
|
||||
|
|
@ -74,11 +74,11 @@
|
|||
"../runtime"
|
||||
(run
|
||||
%{project_root}/src/Driver.exe
|
||||
-march=x86_64
|
||||
-64
|
||||
%{lama}
|
||||
-I
|
||||
../stdlib/x64
|
||||
-I
|
||||
-runtime
|
||||
../runtime
|
||||
-o
|
||||
%{targets}))))
|
||||
|
|
@ -95,11 +95,11 @@
|
|||
"../runtime32"
|
||||
(run
|
||||
%{project_root}/src/Driver.exe
|
||||
-march=x86
|
||||
-32
|
||||
%{lama}
|
||||
-I
|
||||
../stdlib/x32
|
||||
-I
|
||||
-runtime
|
||||
../runtime32
|
||||
-o
|
||||
%{targets}))))
|
||||
|
|
@ -116,11 +116,11 @@
|
|||
"../runtime"
|
||||
(run
|
||||
%{project_root}/src/Driver.exe
|
||||
-march=x86_64
|
||||
-64
|
||||
%{lama}
|
||||
-I
|
||||
../stdlib/x64
|
||||
-I
|
||||
-runtime
|
||||
../runtime
|
||||
-o
|
||||
%{targets}))))
|
||||
|
|
@ -137,11 +137,11 @@
|
|||
"../runtime32"
|
||||
(run
|
||||
%{project_root}/src/Driver.exe
|
||||
-march=x86
|
||||
-32
|
||||
%{lama}
|
||||
-I
|
||||
../stdlib/x32
|
||||
-I
|
||||
-runtime
|
||||
../runtime32
|
||||
-o
|
||||
%{targets}))))
|
||||
|
|
@ -158,11 +158,11 @@
|
|||
"../runtime"
|
||||
(run
|
||||
%{project_root}/src/Driver.exe
|
||||
-march=x86_64
|
||||
-64
|
||||
%{lama}
|
||||
-I
|
||||
../stdlib/x64
|
||||
-I
|
||||
-runtime
|
||||
../runtime
|
||||
-o
|
||||
%{targets}))))
|
||||
|
|
@ -179,11 +179,11 @@
|
|||
"../runtime32"
|
||||
(run
|
||||
%{project_root}/src/Driver.exe
|
||||
-march=x86
|
||||
-32
|
||||
%{lama}
|
||||
-I
|
||||
../stdlib/x32
|
||||
-I
|
||||
-runtime
|
||||
../runtime32
|
||||
-o
|
||||
%{targets}))))
|
||||
|
|
@ -200,11 +200,11 @@
|
|||
"../runtime"
|
||||
(run
|
||||
%{project_root}/src/Driver.exe
|
||||
-march=x86_64
|
||||
-64
|
||||
%{lama}
|
||||
-I
|
||||
../stdlib/x64
|
||||
-I
|
||||
-runtime
|
||||
../runtime
|
||||
-o
|
||||
%{targets}))))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue