28e9566dc5
from Ori_B: There were a small number of changes needed from the tarball on spinroot.org: - The mkfile needed to be updated - Memory.h needed to not be included - It needed to invoke /bin/cpp instead of gcc -E - It depended on `yychar`, which our yacc doesn't provide. I'm still figuring out how to use spin, but it seems to do the right thing when testing a few of the examples: % cd $home/src/Spin/Examples/ % spin -a peterson.pml % pcc pan.c -D_POSIX_SOURCE % ./6.out (Spin Version 6.4.7 -- 19 August 2017) + Partial Order Reduction Full statespace search for: never claim - (none specified) assertion violations + acceptance cycles - (not selected) invalid end states + State-vector 32 byte, depth reached 24, errors: 0 40 states, stored 27 states, matched 67 transitions (= stored+matched) 0 atomic steps hash conflicts: 0 (resolved) Stats on memory usage (in Megabytes): 0.002 equivalent memory usage for states (stored*(State-vector + overhead)) 0.292 actual memory usage for states 128.000 memory used for hash table (-w24) 0.534 memory used for DFS stack (-m10000) 128.730 total actual memory usage unreached in proctype user /tmp/Spin/Examples/peterson.pml:20, state 10, "-end-" (1 of 10 states) pan: elapsed time 1.25 seconds pan: rate 32 states/second
57 lines
707 B
Makefile
57 lines
707 B
Makefile
</$objtype/mkfile
|
|
|
|
TARG=spin
|
|
|
|
SPIN_OS=\
|
|
dstep.$O\
|
|
flow.$O\
|
|
guided.$O\
|
|
main.$O\
|
|
mesg.$O\
|
|
msc_tcl.$O\
|
|
pangen1.$O\
|
|
pangen2.$O\
|
|
pangen3.$O\
|
|
pangen4.$O\
|
|
pangen5.$O\
|
|
pangen6.$O\
|
|
pangen7.$O\
|
|
reprosrc.$O\
|
|
run.$O\
|
|
sched.$O\
|
|
spinlex.$O\
|
|
structs.$O\
|
|
sym.$O\
|
|
vars.$O\
|
|
y.tab.$O\
|
|
|
|
TL_OS=\
|
|
tl_buchi.$O\
|
|
tl_cache.$O\
|
|
tl_lex.$O\
|
|
tl_main.$O\
|
|
tl_mem.$O\
|
|
tl_parse.$O\
|
|
tl_rewrt.$O\
|
|
tl_trans.$O\
|
|
|
|
OFILES=$SPIN_OS $TL_OS
|
|
|
|
YFILES=spin.y
|
|
|
|
HFILES=y.tab.h
|
|
|
|
BIN=/$objtype/bin
|
|
</sys/src/cmd/mkone
|
|
|
|
CC=pcc -c
|
|
CFLAGS=-B -D_POSIX_SOURCE -D_PLAN9
|
|
YFLAGS=-S -d
|
|
|
|
$SPIN_OS: spin.h
|
|
$TL_OS: tl.h
|
|
|
|
main.$O pangen2.$O ps_msc.$O: version.h
|
|
pangen1.$O: pangen1.h pangen3.h
|
|
pangen2.$O: pangen2.h pangen4.h pangen5.h
|