Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
verimag
synchrone
lutin
Commits
5e274bbc
Commit
5e274bbc
authored
Jun 18, 2010
by
Erwan Jahier
Browse files
Enhance the gnuplot-rif visualiser
parent
b8d06ba6
Changes
25
Expand all
Hide whitespace changes
Inline
Side-by-side
examples/xlurette/Gyro/test.rif.exp
View file @
5e274bbc
...
...
@@ -200,3 +200,4 @@
#step 50
1.1005 1.1065 1.0838 1.0901 1.0854 1.0888 1.0854 1.0790 F F F F F F F F F F #outs 1.0854 F F F F F F F F F F F F 1 1 1 1
#locs -0.0017 0.0066 0.0062 0.0078 0.0142 0.0036 -0.0117 -0.0062 1.0859 -0.1186
#
examples/xlurette/fault-tolerant-heater/test.rif.exp
View file @
5e274bbc
...
...
@@ -2015,3 +2015,9 @@
#step 500
6.42 6.45 7.41 7.97 #outs F
#locs 63 0.01 0.02 -0.06 -0.06
#
# ==> The test completed; no property has been violated.
#
##
# Coverage:
#
examples/xlurette/heater/Makefile
View file @
5e274bbc
...
...
@@ -32,8 +32,8 @@ test2:
grep
-v
"lurette chronogram"
test2.rif0 |
\
grep
-v
"The execution lasted"
|
sed
-e
"s/^M//"
\
>
test2.rif
&&
\
$(RM)
test
3
.res
&&
diff
-u
-i
test2.rif.exp test2.rif
\
>
test
3
.res
$(RM)
test
2
.res
&&
diff
-u
-i
test2.rif.exp test2.rif
\
>
test
2
.res
[
!
-s
test2.res
]
&&
make clean
test3
:
...
...
@@ -41,8 +41,8 @@ test3 :
$(LURETTETOP)
-l
100
-go
-seed
1
\
--do-not-show-step
-ns2c
-sut
heater_ctrl2.lus
-msn
heater_ctrl2
-o
test3.rif0 window.luc
&&
\
grep
-v
"lurette chronogram"
test3.rif0 |
\
grep
-v
"The execution lasted"
|
sed
-e
"s/^M//"
>
test3.rif
$(RM)
test3.res
&&
diff
-u
-i
test3.rif.exp test3.rif
>
test3.res
grep
-v
"The execution lasted"
|
sed
-e
"s/^M//"
>
test3.rif
&&
\
$(RM)
test3.res
&&
diff
-u
-i
test3.rif.exp test3.rif
>
test3.res
[
!
-s
test3.res
]
&&
make clean
...
...
examples/xlurette/heater/test1.rif.exp
View file @
5e274bbc
...
...
@@ -99,3 +99,4 @@
#step 30
10 #outs T
#locs -1 F
#
examples/xlurette/heater/test2.rif.exp
View file @
5e274bbc
...
...
@@ -98,3 +98,4 @@
#step 30
17.8512 #outs F
#locs -0.8882
#
examples/xlurette/heater/test3.rif.exp
View file @
5e274bbc
...
...
@@ -310,3 +310,4 @@
#step 100
16.04 #outs 10.00 T
#locs 0.18 0
#
examples/xlurette/heater/time-joly.res
deleted
100644 → 0
View file @
b8d06ba6
Command
being
timed
:
"/tmp/lurette0363a2/lurette 10000 1 10 10 0 --step-inside --draw-all-vertices -seed 1015403953 --precision 2 -v 0 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/examples/xlurette/heater/temp_float.luc"
User
time
(
seconds
)
:
1
.
93
System
time
(
seconds
)
:
0
.
04
Percent
of
CPU
this
job
got
:
96
%
Elapsed
(
wall
clock
)
time
(
h
:
mm
:
ss
or
m
:
ss
)
:
0
:
02
.
04
Average
shared
text
size
(
kbytes
)
:
0
Average
unshared
data
size
(
kbytes
)
:
0
Average
stack
size
(
kbytes
)
:
0
Average
total
size
(
kbytes
)
:
0
Maximum
resident
set
size
(
kbytes
)
:
0
Average
resident
set
size
(
kbytes
)
:
0
Major
(
requiring
I
/
O
)
page
faults
:
0
Minor
(
reclaiming
a
frame
)
page
faults
:
870
Voluntary
context
switches
:
18
Involuntary
context
switches
:
292
Swaps
:
0
File
system
inputs
:
0
File
system
outputs
:
0
Socket
messages
sent
:
0
Socket
messages
received
:
0
Signals
delivered
:
0
Page
size
(
bytes
)
:
4096
Exit
status
:
0
Command
being
timed
:
"/tmp/lurettec485d9/lurette 10 100 100 100 0 --step-inside --draw-all-formula --draw-all-vertices -seed 1015403953 --precision 2 -v 0 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/examples/xlurette/heater/temp_float.luc"
User
time
(
seconds
)
:
1
.
28
System
time
(
seconds
)
:
0
.
02
Percent
of
CPU
this
job
got
:
95
%
Elapsed
(
wall
clock
)
time
(
h
:
mm
:
ss
or
m
:
ss
)
:
0
:
01
.
37
Average
shared
text
size
(
kbytes
)
:
0
Average
unshared
data
size
(
kbytes
)
:
0
Average
stack
size
(
kbytes
)
:
0
Average
total
size
(
kbytes
)
:
0
Maximum
resident
set
size
(
kbytes
)
:
0
Average
resident
set
size
(
kbytes
)
:
0
Major
(
requiring
I
/
O
)
page
faults
:
0
Minor
(
reclaiming
a
frame
)
page
faults
:
6796
Voluntary
context
switches
:
9
Involuntary
context
switches
:
311
Swaps
:
0
File
system
inputs
:
0
File
system
outputs
:
0
Socket
messages
sent
:
0
Socket
messages
received
:
0
Signals
delivered
:
0
Page
size
(
bytes
)
:
4096
Exit
status
:
0
Command
being
timed
:
"/tmp/lurette4e5041/lurette 10000 1 10 10 0 --step-inside --draw-all-vertices -seed 1015403953 --precision 2 -v 0 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/examples/xlurette/heater/temp_float.luc"
User
time
(
seconds
)
:
1
.
97
System
time
(
seconds
)
:
0
.
03
Percent
of
CPU
this
job
got
:
95
%
Elapsed
(
wall
clock
)
time
(
h
:
mm
:
ss
or
m
:
ss
)
:
0
:
02
.
10
Average
shared
text
size
(
kbytes
)
:
0
Average
unshared
data
size
(
kbytes
)
:
0
Average
stack
size
(
kbytes
)
:
0
Average
total
size
(
kbytes
)
:
0
Maximum
resident
set
size
(
kbytes
)
:
0
Average
resident
set
size
(
kbytes
)
:
0
Major
(
requiring
I
/
O
)
page
faults
:
0
Minor
(
reclaiming
a
frame
)
page
faults
:
870
Voluntary
context
switches
:
18
Involuntary
context
switches
:
255
Swaps
:
0
File
system
inputs
:
0
File
system
outputs
:
0
Socket
messages
sent
:
0
Socket
messages
received
:
0
Signals
delivered
:
0
Page
size
(
bytes
)
:
4096
Exit
status
:
0
Command
being
timed
:
"/tmp/luretteb9c9dc/lurette 10 100 100 100 0 --step-inside --draw-all-formula --draw-all-vertices -seed 1015403953 --precision 2 -v 0 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/examples/xlurette/heater/temp_float.luc"
User
time
(
seconds
)
:
1
.
28
System
time
(
seconds
)
:
0
.
04
Percent
of
CPU
this
job
got
:
96
%
Elapsed
(
wall
clock
)
time
(
h
:
mm
:
ss
or
m
:
ss
)
:
0
:
01
.
38
Average
shared
text
size
(
kbytes
)
:
0
Average
unshared
data
size
(
kbytes
)
:
0
Average
stack
size
(
kbytes
)
:
0
Average
total
size
(
kbytes
)
:
0
Maximum
resident
set
size
(
kbytes
)
:
0
Average
resident
set
size
(
kbytes
)
:
0
Major
(
requiring
I
/
O
)
page
faults
:
0
Minor
(
reclaiming
a
frame
)
page
faults
:
6797
Voluntary
context
switches
:
8
Involuntary
context
switches
:
188
Swaps
:
0
File
system
inputs
:
0
File
system
outputs
:
0
Socket
messages
sent
:
0
Socket
messages
received
:
0
Signals
delivered
:
0
Page
size
(
bytes
)
:
4096
Exit
status
:
0
Command
being
timed
:
"/tmp/luretteaddc17/lurette 10000 1 10 10 0 --step-inside --draw-all-vertices -seed 1015403953 --precision 2 -v 0 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/examples/xlurette/heater/temp_int.luc"
User
time
(
seconds
)
:
2
.
17
System
time
(
seconds
)
:
0
.
04
Percent
of
CPU
this
job
got
:
97
%
Elapsed
(
wall
clock
)
time
(
h
:
mm
:
ss
or
m
:
ss
)
:
0
:
02
.
27
Average
shared
text
size
(
kbytes
)
:
0
Average
unshared
data
size
(
kbytes
)
:
0
Average
stack
size
(
kbytes
)
:
0
Average
total
size
(
kbytes
)
:
0
Maximum
resident
set
size
(
kbytes
)
:
0
Average
resident
set
size
(
kbytes
)
:
0
Major
(
requiring
I
/
O
)
page
faults
:
0
Minor
(
reclaiming
a
frame
)
page
faults
:
868
Voluntary
context
switches
:
16
Involuntary
context
switches
:
423
Swaps
:
0
File
system
inputs
:
0
File
system
outputs
:
0
Socket
messages
sent
:
0
Socket
messages
received
:
0
Signals
delivered
:
0
Page
size
(
bytes
)
:
4096
Exit
status
:
0
Command
being
timed
:
"/tmp/lurettefd2051/lurette 10 100 100 100 0 --step-inside --draw-all-formula --draw-all-vertices -seed 1015403953 --precision 2 -v 0 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/examples/xlurette/heater/temp_int.luc"
User
time
(
seconds
)
:
1
.
09
System
time
(
seconds
)
:
0
.
04
Percent
of
CPU
this
job
got
:
95
%
Elapsed
(
wall
clock
)
time
(
h
:
mm
:
ss
or
m
:
ss
)
:
0
:
01
.
19
Average
shared
text
size
(
kbytes
)
:
0
Average
unshared
data
size
(
kbytes
)
:
0
Average
stack
size
(
kbytes
)
:
0
Average
total
size
(
kbytes
)
:
0
Maximum
resident
set
size
(
kbytes
)
:
0
Average
resident
set
size
(
kbytes
)
:
0
Major
(
requiring
I
/
O
)
page
faults
:
0
Minor
(
reclaiming
a
frame
)
page
faults
:
7152
Voluntary
context
switches
:
8
Involuntary
context
switches
:
169
Swaps
:
0
File
system
inputs
:
0
File
system
outputs
:
0
Socket
messages
sent
:
0
Socket
messages
received
:
0
Signals
delivered
:
0
Page
size
(
bytes
)
:
4096
Exit
status
:
0
Command
being
timed
:
"/tmp/lurette3d7c0f/lurette 10000 1 10 10 0 --step-inside --draw-all-vertices -seed 1015403953 --precision 2 -v 0 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/examples/xlurette/heater/temp_float.luc"
User
time
(
seconds
)
:
1
.
92
System
time
(
seconds
)
:
0
.
07
Percent
of
CPU
this
job
got
:
96
%
Elapsed
(
wall
clock
)
time
(
h
:
mm
:
ss
or
m
:
ss
)
:
0
:
02
.
06
Average
shared
text
size
(
kbytes
)
:
0
Average
unshared
data
size
(
kbytes
)
:
0
Average
stack
size
(
kbytes
)
:
0
Average
total
size
(
kbytes
)
:
0
Maximum
resident
set
size
(
kbytes
)
:
0
Average
resident
set
size
(
kbytes
)
:
0
Major
(
requiring
I
/
O
)
page
faults
:
0
Minor
(
reclaiming
a
frame
)
page
faults
:
870
Voluntary
context
switches
:
18
Involuntary
context
switches
:
463
Swaps
:
0
File
system
inputs
:
0
File
system
outputs
:
0
Socket
messages
sent
:
0
Socket
messages
received
:
0
Signals
delivered
:
0
Page
size
(
bytes
)
:
4096
Exit
status
:
0
Command
being
timed
:
"/tmp/luretteece10a/lurette 10 100 100 100 0 --step-inside --draw-all-formula --draw-all-vertices -seed 1015403953 --precision 2 -v 0 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/examples/xlurette/heater/temp_float.luc"
User
time
(
seconds
)
:
1
.
27
System
time
(
seconds
)
:
0
.
05
Percent
of
CPU
this
job
got
:
96
%
Elapsed
(
wall
clock
)
time
(
h
:
mm
:
ss
or
m
:
ss
)
:
0
:
01
.
37
Average
shared
text
size
(
kbytes
)
:
0
Average
unshared
data
size
(
kbytes
)
:
0
Average
stack
size
(
kbytes
)
:
0
Average
total
size
(
kbytes
)
:
0
Maximum
resident
set
size
(
kbytes
)
:
0
Average
resident
set
size
(
kbytes
)
:
0
Major
(
requiring
I
/
O
)
page
faults
:
0
Minor
(
reclaiming
a
frame
)
page
faults
:
6796
Voluntary
context
switches
:
8
Involuntary
context
switches
:
190
Swaps
:
0
File
system
inputs
:
0
File
system
outputs
:
0
Socket
messages
sent
:
0
Socket
messages
received
:
0
Signals
delivered
:
0
Page
size
(
bytes
)
:
4096
Exit
status
:
0
Command
being
timed
:
"/tmp/lurette1dc61b/lurette 10000 1 10 10 0 --step-inside --draw-all-vertices -seed 1015403953 --precision 2 -v 0 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/examples/xlurette/heater/temp_int.luc"
User
time
(
seconds
)
:
2
.
18
System
time
(
seconds
)
:
0
.
04
Percent
of
CPU
this
job
got
:
97
%
Elapsed
(
wall
clock
)
time
(
h
:
mm
:
ss
or
m
:
ss
)
:
0
:
02
.
28
Average
shared
text
size
(
kbytes
)
:
0
Average
unshared
data
size
(
kbytes
)
:
0
Average
stack
size
(
kbytes
)
:
0
Average
total
size
(
kbytes
)
:
0
Maximum
resident
set
size
(
kbytes
)
:
0
Average
resident
set
size
(
kbytes
)
:
0
Major
(
requiring
I
/
O
)
page
faults
:
0
Minor
(
reclaiming
a
frame
)
page
faults
:
869
Voluntary
context
switches
:
16
Involuntary
context
switches
:
294
Swaps
:
0
File
system
inputs
:
0
File
system
outputs
:
0
Socket
messages
sent
:
0
Socket
messages
received
:
0
Signals
delivered
:
0
Page
size
(
bytes
)
:
4096
Exit
status
:
0
Command
being
timed
:
"/tmp/luretted8b71a/lurette 10 100 100 100 0 --step-inside --draw-all-formula --draw-all-vertices -seed 1015403953 --precision 2 -v 0 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/examples/xlurette/heater/temp_int.luc"
User
time
(
seconds
)
:
1
.
10
System
time
(
seconds
)
:
0
.
04
Percent
of
CPU
this
job
got
:
95
%
Elapsed
(
wall
clock
)
time
(
h
:
mm
:
ss
or
m
:
ss
)
:
0
:
01
.
20
Average
shared
text
size
(
kbytes
)
:
0
Average
unshared
data
size
(
kbytes
)
:
0
Average
stack
size
(
kbytes
)
:
0
Average
total
size
(
kbytes
)
:
0
Maximum
resident
set
size
(
kbytes
)
:
0
Average
resident
set
size
(
kbytes
)
:
0
Major
(
requiring
I
/
O
)
page
faults
:
0
Minor
(
reclaiming
a
frame
)
page
faults
:
7153
Voluntary
context
switches
:
8
Involuntary
context
switches
:
320
Swaps
:
0
File
system
inputs
:
0
File
system
outputs
:
0
Socket
messages
sent
:
0
Socket
messages
received
:
0
Signals
delivered
:
0
Page
size
(
bytes
)
:
4096
Exit
status
:
0
Command
being
timed
:
"/tmp/lurette8a9f87/lurette 10000 1 10 10 0 --step-inside --draw-all-vertices -seed 1015403953 --precision 2 -v 0 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/examples/xlurette/heater/temp_float.luc"
User
time
(
seconds
)
:
1
.
96
System
time
(
seconds
)
:
0
.
03
Percent
of
CPU
this
job
got
:
96
%
Elapsed
(
wall
clock
)
time
(
h
:
mm
:
ss
or
m
:
ss
)
:
0
:
02
.
07
Average
shared
text
size
(
kbytes
)
:
0
Average
unshared
data
size
(
kbytes
)
:
0
Average
stack
size
(
kbytes
)
:
0
Average
total
size
(
kbytes
)
:
0
Maximum
resident
set
size
(
kbytes
)
:
0
Average
resident
set
size
(
kbytes
)
:
0
Major
(
requiring
I
/
O
)
page
faults
:
0
Minor
(
reclaiming
a
frame
)
page
faults
:
870
Voluntary
context
switches
:
18
Involuntary
context
switches
:
284
Swaps
:
0
File
system
inputs
:
0
File
system
outputs
:
0
Socket
messages
sent
:
0
Socket
messages
received
:
0
Signals
delivered
:
0
Page
size
(
bytes
)
:
4096
Exit
status
:
0
Command
being
timed
:
"/tmp/luretteb4861b/lurette 10 100 100 100 0 --step-inside --draw-all-formula --draw-all-vertices -seed 1015403953 --precision 2 -v 0 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/examples/xlurette/heater/temp_float.luc"
User
time
(
seconds
)
:
1
.
24
System
time
(
seconds
)
:
0
.
05
Percent
of
CPU
this
job
got
:
94
%
Elapsed
(
wall
clock
)
time
(
h
:
mm
:
ss
or
m
:
ss
)
:
0
:
01
.
38
Average
shared
text
size
(
kbytes
)
:
0
Average
unshared
data
size
(
kbytes
)
:
0
Average
stack
size
(
kbytes
)
:
0
Average
total
size
(
kbytes
)
:
0
Maximum
resident
set
size
(
kbytes
)
:
0
Average
resident
set
size
(
kbytes
)
:
0
Major
(
requiring
I
/
O
)
page
faults
:
0
Minor
(
reclaiming
a
frame
)
page
faults
:
6797
Voluntary
context
switches
:
8
Involuntary
context
switches
:
406
Swaps
:
0
File
system
inputs
:
0
File
system
outputs
:
0
Socket
messages
sent
:
0
Socket
messages
received
:
0
Signals
delivered
:
0
Page
size
(
bytes
)
:
4096
Exit
status
:
0
Command
being
timed
:
"/tmp/lurettef482c2/lurette 10000 1 10 10 0 --step-inside --draw-all-vertices -seed 1015403953 --precision 2 -v 0 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/examples/xlurette/heater/temp_int.luc"
User
time
(
seconds
)
:
2
.
16
System
time
(
seconds
)
:
0
.
06
Percent
of
CPU
this
job
got
:
97
%
Elapsed
(
wall
clock
)
time
(
h
:
mm
:
ss
or
m
:
ss
)
:
0
:
02
.
28
Average
shared
text
size
(
kbytes
)
:
0
Average
unshared
data
size
(
kbytes
)
:
0
Average
stack
size
(
kbytes
)
:
0
Average
total
size
(
kbytes
)
:
0
Maximum
resident
set
size
(
kbytes
)
:
0
Average
resident
set
size
(
kbytes
)
:
0
Major
(
requiring
I
/
O
)
page
faults
:
0
Minor
(
reclaiming
a
frame
)
page
faults
:
870
Voluntary
context
switches
:
16
Involuntary
context
switches
:
318
Swaps
:
0
File
system
inputs
:
0
File
system
outputs
:
0
Socket
messages
sent
:
0
Socket
messages
received
:
0
Signals
delivered
:
0
Page
size
(
bytes
)
:
4096
Exit
status
:
0
Command
being
timed
:
"/tmp/lurette2fa2d0/lurette 10 100 100 100 0 --step-inside --draw-all-formula --draw-all-vertices -seed 1015403953 --precision 2 -v 0 --no-oracle -o lurette.rif -ns2c -nlv /home/jahier/lurette/examples/xlurette/heater/temp_int.luc"
User
time
(
seconds
)
:
1
.
11
System
time
(
seconds
)
:
0
.
03
Percent
of
CPU
this
job
got
:
95
%
Elapsed
(
wall
clock
)
time
(
h
:
mm
:
ss
or
m
:
ss
)
:
0
:
01
.
20
Average
shared
text
size
(
kbytes
)
:
0
Average
unshared
data
size
(
kbytes
)
:
0
Average
stack
size
(
kbytes
)
:
0
Average
total
size
(
kbytes
)
:
0
Maximum
resident
set
size
(
kbytes
)
:
0
Average
resident
set
size
(
kbytes
)
:
0
Major
(
requiring
I
/
O
)
page
faults
:
0
Minor
(
reclaiming
a
frame
)
page
faults
:
7153
Voluntary
context
switches
:
8
Involuntary
context
switches
:
155
Swaps
:
0
File
system
inputs
:
0
File
system
outputs
:
0
Socket
messages
sent
:
0
Socket
messages
received
:
0
Signals
delivered
:
0
Page
size
(
bytes
)
:
4096
Exit
status
:
0
examples/xlurette/tram/test1.rif.exp
View file @
5e274bbc
...
...
@@ -416,3 +416,9 @@ T F T F T T #outs F F F T F
#step 100
T F T T T F #outs F F F T F
#locs
#
# ==> The test completed; no property has been violated.
#
##
# Coverage:
#
examples/xlurette/tram/test2.rif.exp
View file @
5e274bbc
...
...
@@ -416,3 +416,9 @@ F T F F F F #outs F F F F F
#step 100
F F F F T F #outs T F F F F
#locs
#
# ==> The test completed; no property has been violated.
#
##
# Coverage:
#
source/Makefile
View file @
5e274bbc
...
...
@@ -344,6 +344,7 @@ lib_prof:liblurette_prof.a
##############################################################################"
.PHONY
:
gnuplot-rif
gnuplot-rif
:
make
-k
nc
-f
Makefile.gnuplot-rif
...
...
source/Makefile.lucky
View file @
5e274bbc
...
...
@@ -47,7 +47,7 @@ SOURCES_C = \
$(HERE)
/liblutin.idl
\
$(HERE)
/Ezdl_c.c
\
SOURCES_OCAML
:=
\
SOURCES_OCAML
0
:=
\
$(HERE)
/Ezdl.ml
\
$(HERE)
/Ezdl.mli
\
$(HERE)
/error.ml
\
...
...
@@ -89,8 +89,6 @@ SOURCES_OCAML := \
$(HERE)
/lucParse.mli
\
$(HERE)
/lucParse.ml
\
$(HERE)
/lucParse.mli
\
$(HERE)
/lucProg.mli
\
$(HERE)
/lucProg.ml
\
$(HERE)
/polyhedron.mli
\
$(HERE)
/polyhedron.ml
\
$(HERE)
/formula_to_bdd.mli
\
...
...
@@ -107,6 +105,8 @@ SOURCES_OCAML := \
$(HERE)
/solver.ml
\
$(HERE)
/show_env.mli
\
$(HERE)
/show_env.ml
\
$(HERE)
/lucProg.mli
\
$(HERE)
/lucProg.ml
\
$(HERE)
/prog.mli
\
$(HERE)
/prog.ml
\
$(HERE)
/fGen.mli
\
...
...
@@ -129,8 +129,9 @@ SOURCES_OCAML := \
./luc4ocaml_nolbl.ml
ifdef
MLONLY
SOURCES_OCAML
=
$(
filter
%.ml,
$(SOURCES_OCAML)
)
SOURCES_OCAML
=
$(
filter
%.ml,
$(SOURCES_OCAML
0
)
)
endif
SOURCES_OCAML
=
$(SOURCES_OCAML0)
SOURCES
=
$(SOURCES_C)
$(SOURCES_OCAML)
...
...
source/fGen.ml
View file @
5e274bbc
...
...
@@ -16,7 +16,7 @@ open Var
open
Type
open
List
open
Util
open
Prog
open
Prog
(****************************************************************************)
...
...
@@ -31,20 +31,20 @@ open Prog
type
t
=
|
Cont
of
(
unit
->
t
*
Exp
.
formula
*
LucParse
.
node
list
)
|
Finish
(* no more solutions *)
|
RStop
of
string
(* Normal Termination (for Lutin) *)
(** wt is traversed using continuations *)
type
wt_cont
=
|
WCont
of
(
unit
->
wt_cont
*
Exp
.
formula
*
LucParse
.
node
)
|
WFinish
(* no more solutions *)
|
WStop
of
string
(* ditto, but stop at once raising an exception *)
(****************************************************************************)
(* Exported *)
exception
NoMoreFormula
exception
NormalStop
of
string
let
(
call_cont
:
t
->
t
*
formula
*
LucParse
.
node
list
)
=
fun
cont
->
...
...
@@ -52,13 +52,16 @@ let (call_cont : t -> t * formula * LucParse.node list) =
match
cont
with
|
Cont
f
->
f
()
|
Finish
->
raise
NoMoreFormula
|
RStop
str
->
raise
(
NormalStop
str
)
let
(
call_wt_cont
:
wt_cont
->
wt_cont
*
formula
*
LucParse
.
node
)
=
fun
cont
->
let
_
=
if
debug
then
(
print_string
"XXX call_wt_cont
\n
"
;
flush
stdout
)
in
match
cont
with
|
WCont
f
->
f
()
|
WFinish
->
WFinish
,
False
,
""
|
WFinish
->
WFinish
,
False
,
""
(* dummy *)
|
WStop
msg
->
cont
,
True
(* dummy *)
,
""
(* dummy *)
(* exported *)
let
(
choose_one_formula
:
t
->
t
*
Exp
.
formula
*
Prog
.
ctrl_state
)
=
...
...
@@ -81,8 +84,7 @@ let (get_all_formula: t -> formula list) =
(****************************************************************************)
let
rec
(
wt_list_to_cont
:
Var
.
env_in
->
Prog
.
state
->
wt_cont
list
->
let
rec
(
wt_list_to_cont
:
Var
.
env_in
->
Prog
.
state
->
wt_cont
list
->
formula
->
LucParse
.
node
list
->
t
->
t
)
=
fun
input
state
wtl
facc
nl
fgen
->
(* [nl] is the list of nodes that correspond to [facc] *)
...
...
@@ -90,12 +92,14 @@ let rec (wt_list_to_cont : Var.env_in -> Prog.state -> wt_cont list ->
match
wtl
with
|
[]
->
Cont
(
fun
()
->
(
fgen
,
facc
,
nl
))
|
wt
::
wtl'
->
if
wt
=
WFinish
then
if
wt
=
WFinish
then
fgen
else
match
choose_one_formula_atomic
input
state
facc
wt
with
|
WFinish
,
False
,
""
->
fgen
|
WStop
str
,
_
,
""
->
RStop
str
|
wt2
,
f2
,
n
->
let
fgen'
=
Cont
(
fun
()
->
...
...
@@ -109,6 +113,9 @@ and
let
_
=
if
debug
then
(
print_string
"XXX choose_one_formula_atomic
\n
"
;
flush
stdout
)
in
if
cont
=
WFinish
then
WFinish
,
False
,
""
else
if
cont
=
WStop
str
then
WStop
str
,
True
,
""
else
let
(
cont'
,
f
,
n
)
=
call_wt_cont
cont
in
let
_
=
if
debug
then
(
print_string
(
"XXX "
^
n
^
"
\n
"
);
flush
stdout
)
in
...
...
@@ -133,7 +140,8 @@ and (wt_to_cont : Var.env_in -> Prog.state -> wt -> wt_cont -> wt_cont) =
let
_
=
if
debug
then
(
print_string
(
"XXX wt_to_cont "
^
n
^
"
\n
"
);
flush
stdout
)
in
let
children
=
Util
.
StringMap
.
find
n
tbl
in
match
children
with
|
Leave
f
->
WCont
(
fun
()
->
(
cont
,
f
,
LucProg
.
get_original_name
n
))
|
Prog
.
Stop
str
->
WStop
str
|
Leave
(
f
,
nstate
)
->
WCont
(
fun
()
->
(
cont
,
f
,
nstate
))
|
Children
l
->
if
l
=
[]
then
cont
...
...
source/fGen.mli
View file @
5e274bbc
...
...
@@ -68,6 +68,9 @@ val get : Var.env_in -> Prog.state -> t list
(** Raised by choose_one_formula no more transitions can be taken *)
exception
NoMoreFormula
(** Raised by choose_one_formula when a Prog.Stop is chosen (For Lutin) *)
exception
NormalStop
of
string
val
choose_one_formula
:
t
->
t
*
Exp
.
formula
*
Prog
.
ctrl_state
(** [choose_one_formula run_aut] draws a formula accessible from
...
...
source/gnuplot-rif.ml
View file @
5e274bbc
...
...
@@ -20,7 +20,7 @@ open Genlex
let
usage
=
" gnuplot-rif [-x11|-ps|-cps|-eps|-latex] <f>.rif
" gnuplot-rif [-x11|-
xxt|-
ps|-cps|-eps|-latex] <f>.rif
Generates two files, <f>.gp and <f>.plot, in a format suitable for gnuplot.
...
...
@@ -93,50 +93,52 @@ let (print_debug : string -> tok -> unit) =
(********************************************************************************)
(* get var type in the rif file *)
type
vtypes_tbl
=
(
string
*
string
)
list
(* name, type, position (starting from 0) *)
type
vtypes_tbl
=
(
string
*
(
string
*
int
))
list
let
(
get_var_types
:
string
->
vtypes_tbl
)
=
fun
rif_file
->
let
_
=
debug_msg
"get_var_types
\n
"
in
let
tbl
=
ref
[]
in
let
rec
aux
s
=
let
rec
aux
pos
s
=
let
_
=
debug_msg
(
"aux "
^
(
string_of_int
(
Stream
.
count
s
))
^
"
\n
"
)
in
match
s
with
parser
|
[
<
'
String
(
_
,
id
)
>
]
->
aux2
id
s
|
[
<
'
Ident
(
_
,_
)
>
]
->
aux
s
|
[
<
'
Int
(
_
,_
)
>
]
->
aux
s
|
[
<
'
Float
(
_
,_
)
>
]
->
aux
s
|
[
<
'
Kwd
(
_
,_
)
>
]
->
aux
s
|
[
<
'
Char
(
_
,_
)
>
]
->
aux
s
|
[
<
'
String
(
_
,
id
)
>
]
->
aux2
pos
id
s
|
[
<
'
Ident
(
_
,_
)
>
]
->
aux
pos
s
|
[
<
'
Int
(
_
,_
)
>
]
->
aux
pos
s
|
[
<
'
Float
(
_
,_
)
>
]
->
aux
pos