at the same stage as before the opertor and improved compilation took place

parent 96220047
......@@ -203,7 +203,6 @@ vars_in_term(T,VarsIn, VarList) :-
% The variable Var is in the list VarList
%
already_appears(Var, [V1 | _Vlist] ) :-
Var == V1.
already_appears(Var, [_V1 | Vlist] ) :-
......
......@@ -622,14 +622,16 @@
(define-guile-log <match>
(syntax-rules ()
((_ wc as ...)
(match0 (+ '<match>) wc as ...))))
(match0 (#f + '<match>) wc as ...))))
(define-syntax match0
(syntax-rules ()
((_ (m n) wc (#:mode m0 . u) . l)
(match0 (m0 n) wc u . l))
((_ (m n) wc (#:name n0 . u) . l)
(match0 (m 'n0) wc u . l))
((_ (m n dd) wc (#:dual . u) . l)
(match0 (m0 n #t) wc u . l))
((_ (m n dd) wc (#:mode m0 . u) . l)
(match0 (m0 n dd) wc u . l))
((_ (m n dd) wc (#:name n0 . u) . l)
(match0 (m 'n0 dd) wc u . l))
((_ meta wc () v . l)
(mk-syms 1 v () (find-last0 v wc meta l)))))
......@@ -688,11 +690,11 @@
((<S> <Cut> <CC> b ...)
(gp-gc)
(<with-guile-log> (<S> <Cut> <CC>)
(<match> (#:mode + #:name nm) (b ...)
(<match> (#:dual #:mode + #:name nm) (b ...)
(as ... codes)
...
(a ... (<cut> code)))))
; (m ... (<cut> <fail>)))))
(a ... (<cut> code))
(m ... (<cut> <fail>)))))
...))))))
......@@ -750,8 +752,8 @@
(define-syntax find-last**
(syntax-rules ()
((_ (m nm) (pr ...) args v ((a)) ((b) ...) (cut s p cc))
(umatch (#:mode m #:status s #:tag <next> #:name nm) ()
((_ (m nm dd) (pr ...) args v ((a)) ((b) ...) (cut s p cc))
(umatch (#:dual dd #:mode m #:status s #:tag <next> #:name nm) ()
((<with-guile-log> (cut s <next> cc) b))
...
((<with-guile-log> (cut s p cc) a))))
......@@ -760,9 +762,9 @@
(find-last** m pr args v (aa ...) (b ... a) wc))
((_ (m nm) (pr ...) args v ((as ...)) ((aas ...) ...) ((a)) ((b) ...)
((_ (m nm dd) (pr ...) args v ((as ...)) ((aas ...) ...) ((a)) ((b) ...)
(cut s p cc))
(umatch (#:mode m #:status s #:tag <next> #:name nm)
(umatch (#:dual dd #:mode m #:status s #:tag <next> #:name nm)
v
(aas ... (<with-guile-log> (cut s <next> cc) b))
...
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment