(module pict-test mzscheme (require "pict.ss" "loc-wrapper.ss" "term.ss" (lib "mrpict.ss" "texpict") (lib "class.ss") (lib "mred.ss" "mred")) #| (dc-for-text-size (make-object bitmap-dc%)) (define (tst . x) (build-lines '() (map loc-wrapper->tree x))) #; (define x (loc-wrapper->tree (to-loc-wrapper (in-hole P 1)))) (define y (loc-wrapper->tree (to-loc-wrapper (w ,(or (term x) (term y)))))) (define (m-s-t a b c) (make-string-token a b c 'roman)) (define (same? x y) (cond [(and (pair? x) (pair? y)) (and (same? (car x) (car y)) (same? (cdr x) (cdr y)))] [(and (pict-token? x) (pict-token? y)) (and (equal? (token-column x) (token-column y)) (equal? (token-span y) (token-span y)))] [else (equal? x y)])) #; (begin (printf "~s\n" (same? (tst (to-loc-wrapper (e f . g))) (list (list (make-spacer-token 0 3) (m-s-t 3 1 "g") (m-s-t 4 1 ")")) (list (m-s-t 0 1 "(") (m-s-t 1 1 "e") (m-s-t 2 1 " ") (m-s-t 3 1 "f") (m-s-t 4 2 " ."))))) (printf "~s\n" (same? (tst (to-loc-wrapper (e f . g))) (list (list (make-spacer-token 0 5) (m-s-t 5 1 "g") (m-s-t 6 1 ")")) (list (m-s-t 0 1 "(") (m-s-t 1 1 "e") (m-s-t 2 1 " ") (m-s-t 3 1 "f") (m-s-t 4 2 " ."))))) (printf "~s\n" (same? (tst (to-loc-wrapper (e 1 2))) (list (list (make-spacer-token 0 3) (m-s-t 3 1 "2") (m-s-t 4 1 ")")) (list (m-s-t 0 1 "(") (m-s-t 1 1 "e") (m-s-t 2 1 " ") (m-s-t 3 1 "1"))))) (printf "~s\n" (same? (tst (to-loc-wrapper (e 1))) (list (list (m-s-t 0 1 "(") (m-s-t 1 1 "e") (m-s-t 2 1 " ") (m-s-t 3 1 "1") (m-s-t 4 1 ")"))))) (printf "~s\n" (same? (tst (to-loc-wrapper (in-hole P Q))) (list (list (make-spacer-token 0 9) (make-pict-token 9 0 'ignored) (make-string-token 9 1 "Q" 'roman) (make-pict-token 10 0 'ignored)) (list (make-pict-token 0 9 'ignored) (make-string-token 9 1 "P" 'roman))))) (printf "~s\n" (same? (tst (to-loc-wrapper (a (b c)))) (list (list (make-spacer-token 0 2) (make-string-token 2 1 "c" 'roman) (make-string-token 3 1 ")" 'roman) (make-string-token 4 1 ")" 'roman)) (list (make-spacer-token 0 1) (make-string-token 1 1 "(" 'roman) (make-string-token 2 1 "b" 'roman)) (list (make-string-token 0 1 "(" 'roman) (make-string-token 1 1 "a" 'roman))))) (printf "~s\n" (same? (tst (to-loc-wrapper (in-hole x (y (in-hole z w))))) (list (list (make-spacer-token 0 12) (make-pict-token 12 9 'ignored) (make-string-token 21 1 "z" 'roman) (make-pict-token 22 1 'ignored) (make-string-token 23 1 "w" 'roman) (make-pict-token 24 1 'ignored) (make-string-token 25 1 ")" 'roman) (make-pict-token 26 0 'ignored)) (list (make-pict-token 0 9 'ignored) (make-string-token 9 1 "x" 'roman) (make-pict-token 10 1 'ignored) (make-string-token 11 1 "(" 'roman) (make-string-token 12 1 "y" 'roman))))) ) |# )