plan9fox/sys/src/cmd/spin/mkfile
cinap_lenrek 28e9566dc5 spin: Update to most recent version. (thanks Ori_B)
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
2017-11-22 21:09:31 +01:00

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