work in progress: macros rule-trans-set
This commit is contained in:
parent
d42d574bf6
commit
3e19944116
|
@ -23,7 +23,7 @@
|
||||||
;;; RULE-SET
|
;;; RULE-SET
|
||||||
;;;
|
;;;
|
||||||
;;; (make-empty-rule-set) ---> rule-set
|
;;; (make-empty-rule-set) ---> rule-set
|
||||||
;;; (rule-set-add! rule rule-set) ---> rule-set
|
;;; (rule-set-add rule rule-set) ---> rule-set
|
||||||
;;;
|
;;;
|
||||||
(define-record-type :rule-set
|
(define-record-type :rule-set
|
||||||
(make-rule-set rules)
|
(make-rule-set rules)
|
||||||
|
|
41
makefile.scm
41
makefile.scm
|
@ -20,23 +20,30 @@
|
||||||
;;;
|
;;;
|
||||||
;;; (make (expand-file-name "skills.pdf" d) "this is an empty init-state")
|
;;; (make (expand-file-name "skills.pdf" d) "this is an empty init-state")
|
||||||
|
|
||||||
(makefile
|
(define rule-set
|
||||||
(makefile-rule "/home/bruegman/.tmp/skills.tex"
|
(makefile
|
||||||
()
|
(makefile-rule "/home/bruegman/.tmp/skills.tex"
|
||||||
(lambda ()
|
()
|
||||||
(with-cwd "/home/bruegman/.tmp"
|
(lambda ()
|
||||||
(display "Top: /home/bruegman/.tmp/skills.tex"))))
|
(with-cwd "/home/bruegman/.tmp"
|
||||||
(makefile-rule "/home/bruegman/.tmp/skills.dvi"
|
(display "Top: /home/bruegman/.tmp/skills.tex"))))
|
||||||
("/home/bruegman/.tmp/skills.tex")
|
(makefile-rule "/home/bruegman/.tmp/skills.dvi"
|
||||||
(lambda ()
|
("/home/bruegman/.tmp/skills.tex")
|
||||||
(with-cwd "/home/bruegman/.tmp"
|
(lambda ()
|
||||||
(run (latex ,"/home/bruegman/.tmp/skills.tex")))))
|
(with-cwd "/home/bruegman/.tmp"
|
||||||
(makefile-rule "/home/bruegman/.tmp/skills.pdf"
|
(run (latex ,"/home/bruegman/.tmp/skills.tex")))))
|
||||||
("/home/bruegman/.tmp/skills.dvi")
|
(makefile-rule "/home/bruegman/.tmp/skills.pdf"
|
||||||
(lambda ()
|
("/home/bruegman/.tmp/skills.dvi")
|
||||||
(with-cwd "/home/bruegman/.tmp"
|
(lambda ()
|
||||||
(run (dvipdfm -o ,"/home/bruegman/.tmp/skills.pdf"
|
(with-cwd "/home/bruegman/.tmp"
|
||||||
,"/home/bruegman/.tmp/skills.dvi"))))))
|
(run (dvipdfm -o ,"/home/bruegman/.tmp/skills.pdf"
|
||||||
|
,"/home/bruegman/.tmp/skills.dvi")))))))
|
||||||
|
(define-syntax make
|
||||||
|
(syntax-rules ()
|
||||||
|
((make ?fname ?state)
|
||||||
|
(rule-make (*fname->rule*-get ?fname)
|
||||||
|
?state
|
||||||
|
rule-set))))
|
||||||
|
|
||||||
(make "/home/bruegman/.tmp/skills.pdf" "this is an empty init-state...")
|
(make "/home/bruegman/.tmp/skills.pdf" "this is an empty init-state...")
|
||||||
|
|
||||||
|
|
148
packages.scm
148
packages.scm
|
@ -1,3 +1,104 @@
|
||||||
|
(define-interface jobd-interface
|
||||||
|
(export make-jobd
|
||||||
|
jobd?
|
||||||
|
version
|
||||||
|
execute
|
||||||
|
stop
|
||||||
|
continue
|
||||||
|
shutdown
|
||||||
|
set-jobbers!))
|
||||||
|
|
||||||
|
(define-structure jobd jobd-interface
|
||||||
|
(open scheme-with-scsh
|
||||||
|
formats
|
||||||
|
srfi-1
|
||||||
|
(with-prefix srfi-8 srfi-8/)
|
||||||
|
srfi-9
|
||||||
|
srfi-11
|
||||||
|
threads
|
||||||
|
threads-internal
|
||||||
|
(with-prefix rendezvous cml-rv/)
|
||||||
|
(with-prefix mcast-channels cml-mcast-ch/)
|
||||||
|
(with-prefix rendezvous-channels cml-sync-ch/)
|
||||||
|
(with-prefix rendezvous-async-channels cml-async-ch/)
|
||||||
|
finite-types
|
||||||
|
job
|
||||||
|
cml-pe)
|
||||||
|
(files jobd))
|
||||||
|
|
||||||
|
(define-interface cml-pe-interface
|
||||||
|
(export cml-fork
|
||||||
|
cml-fork-collecting))
|
||||||
|
|
||||||
|
(define-structure cml-pe cml-pe-interface
|
||||||
|
(open scheme-with-scsh
|
||||||
|
srfi-9
|
||||||
|
threads
|
||||||
|
(with-prefix rendezvous cml-rv/)
|
||||||
|
(with-prefix rendezvous-channels cml-sync-ch/))
|
||||||
|
(files cml-pe))
|
||||||
|
|
||||||
|
(define-interface mcast-channels-interface
|
||||||
|
(export make-mcast-channel
|
||||||
|
mcast-channel?
|
||||||
|
mcast-port?
|
||||||
|
mcast
|
||||||
|
mcast-port
|
||||||
|
mcast-port-receive
|
||||||
|
mcast-port-receive-rv))
|
||||||
|
|
||||||
|
(define-structure mcast-channels mcast-channels-interface
|
||||||
|
(open scheme
|
||||||
|
srfi-9
|
||||||
|
threads
|
||||||
|
finite-types
|
||||||
|
rendezvous
|
||||||
|
rendezvous-channels)
|
||||||
|
(files mcast-channels))
|
||||||
|
|
||||||
|
(define-interface job-interface
|
||||||
|
(export make-job-desc
|
||||||
|
job-desc?
|
||||||
|
job-desc-wd
|
||||||
|
job-desc-env
|
||||||
|
job-desc-cmd
|
||||||
|
make-job-res
|
||||||
|
job-res?
|
||||||
|
job-res-errno
|
||||||
|
job-res-stdout
|
||||||
|
job-res-stderr
|
||||||
|
display-job-output))
|
||||||
|
|
||||||
|
(define-structure job job-interface
|
||||||
|
(open scheme-with-scsh
|
||||||
|
srfi-9)
|
||||||
|
(files job))
|
||||||
|
|
||||||
|
(define-structure test-jobd
|
||||||
|
(export do-some-jobs)
|
||||||
|
(open scheme-with-scsh
|
||||||
|
locks
|
||||||
|
threads
|
||||||
|
threads-internal
|
||||||
|
srfi-1
|
||||||
|
(with-prefix rendezvous cml-rv/)
|
||||||
|
(with-prefix rendezvous-channels cml-sync-ch/)
|
||||||
|
(with-prefix rendezvous-async-channels cml-async-ch/)
|
||||||
|
cml-pe
|
||||||
|
job
|
||||||
|
(with-prefix jobd jobd/))
|
||||||
|
(files test-jobd))
|
||||||
|
|
||||||
|
(define-structure test-mcast-channels
|
||||||
|
(export test-it)
|
||||||
|
(open scheme
|
||||||
|
srfi-9
|
||||||
|
threads
|
||||||
|
rendezvous
|
||||||
|
rendezvous-channels
|
||||||
|
mcast-channels)
|
||||||
|
(files test-mcast-channels))
|
||||||
|
|
||||||
(define-interface collect-channels-interface
|
(define-interface collect-channels-interface
|
||||||
(export make-tagged-msg
|
(export make-tagged-msg
|
||||||
is-tagged-msg?
|
is-tagged-msg?
|
||||||
|
@ -30,9 +131,11 @@
|
||||||
(define-interface make-rule-interface
|
(define-interface make-rule-interface
|
||||||
(export make-rule
|
(export make-rule
|
||||||
is-rule?
|
is-rule?
|
||||||
rule-prereqs
|
make-empty-rule-set
|
||||||
rule-wants-build?
|
rule-set-add
|
||||||
rule-build-func
|
is-rule-set?
|
||||||
|
make-rule-result
|
||||||
|
is-rule-result?
|
||||||
rule-make))
|
rule-make))
|
||||||
|
|
||||||
(define-structure make-rule make-rule-interface
|
(define-structure make-rule make-rule-interface
|
||||||
|
@ -51,9 +154,11 @@
|
||||||
(define-interface make-rule-no-cml-interface
|
(define-interface make-rule-no-cml-interface
|
||||||
(export make-rule
|
(export make-rule
|
||||||
is-rule?
|
is-rule?
|
||||||
rule-prereqs
|
make-empty-rule-set
|
||||||
rule-wants-build?
|
rule-set-add
|
||||||
rule-build-func
|
is-rule-set?
|
||||||
|
make-rule-result
|
||||||
|
is-rule-result?
|
||||||
rule-make))
|
rule-make))
|
||||||
|
|
||||||
(define-structure make-rule-no-cml make-rule-no-cml-interface
|
(define-structure make-rule-no-cml make-rule-no-cml-interface
|
||||||
|
@ -73,5 +178,34 @@
|
||||||
(define-structure makros makros-interface
|
(define-structure makros makros-interface
|
||||||
(open scheme-with-scsh
|
(open scheme-with-scsh
|
||||||
srfi-1
|
srfi-1
|
||||||
make-rule)
|
make-rule-no-cml)
|
||||||
(files makros))
|
(files makros))
|
||||||
|
|
||||||
|
(define-interface rule-trans-set-interface
|
||||||
|
(export make-rule-trans-set
|
||||||
|
is-rule-trans-set?
|
||||||
|
make-empty-rule-trans-set
|
||||||
|
make-rule-trans-set
|
||||||
|
rule-trans-set-rule-candidates
|
||||||
|
rule-trans-set-known-rules
|
||||||
|
rule-trans-set-rule-set
|
||||||
|
rule-trans-set-add!))
|
||||||
|
|
||||||
|
(define-structure rule-trans-set rule-trans-set-interface
|
||||||
|
(open scheme-with-scsh
|
||||||
|
srfi-1
|
||||||
|
srfi-9
|
||||||
|
make-rule)
|
||||||
|
(files rule-trans-set))
|
||||||
|
|
||||||
|
(define-interface macros-interface
|
||||||
|
(export (makefile :syntax)
|
||||||
|
(makefile-rule :syntax)
|
||||||
|
(make-is-out-of-date? :syntax)))
|
||||||
|
|
||||||
|
(define-structure macros macros-interface
|
||||||
|
(open scheme-with-scsh
|
||||||
|
srfi-1
|
||||||
|
rule-trans-set)
|
||||||
|
(files macros))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue