generate atomic blocks, avoid spin keywords

This commit is contained in:
Sam Caldwell 2020-06-15 12:07:11 -04:00
parent 2cdb894728
commit fc4413ec7a
1 changed files with 6 additions and 5 deletions

View File

@ -1,8 +1,6 @@
#lang racket
;; TODO - syntax for LTL
;; TODO - atomic blocks
;; TODO - mark acceptable end states
(require "proto.rkt")
@ -403,7 +401,7 @@
(gen-assignment init)
(for ([a asserts])
(gen-spin (assert a)))
(indent) (displayln "do")
(indent) (displayln "end: do")
(with-indent
(for ([st states])
(gen-spin st)))
@ -426,8 +424,11 @@
(indent) (printf ":: ~a ->\n" (predicate-for event))
;; TODO - make the body atomic
(with-indent
(for ([act actions])
(gen-spin act)))]
(indent) (displayln "atomic {")
(with-indent
(for ([act actions])
(gen-spin act)))
(indent) (displayln "}"))]
[(assert x)
(indent) (printf "ASSERT(~a);\n" x)]
[(retract x)