diff --git a/scsh/xanadu/b-tree.scm b/scsh/xanadu/b-tree.scm index 95f05bb..573b3c2 100644 --- a/scsh/xanadu/b-tree.scm +++ b/scsh/xanadu/b-tree.scm @@ -186,10 +186,10 @@ (else (display "b-tree : message not understood.")(newline)))) dispatch)) - -(define bt (make-b-tree 2)) -((bt 'add)"abc") -((bt 'add)"def") -((bt 'add)"hij") -((bt 'search)"abc") +;; test program +;;(define bt (make-b-tree 2)) +;;((bt 'add)"abc") +;;((bt 'add)"def") +;;((bt 'add)"hij") +;;((bt 'search)"abc") ;;((bt 'dump)) diff --git a/scsh/xanadu/xml-tree.scm b/scsh/xanadu/xml-tree.scm new file mode 100644 index 0000000..a9b23ed --- /dev/null +++ b/scsh/xanadu/xml-tree.scm @@ -0,0 +1,41 @@ +;;; xml-tree.scm - a xml tree for Xanadu +;;; +;;; Copyright (c) 2012 Johan Ceuppens +;;; +;;; All rights reserved. +;;; +;;; Redistribution and use in source and binary forms, with or without +;;; modification, are permitted provided that the following conditions +;;; are met: +;;; 1. Redistributions of source code must retain the above copyright +;;; notice, this list of conditions and the following disclaimer. +;;; 2. Redistributions in binary form must reproduce the above copyright +;;; notice, this list of conditions and the following disclaimer in the +;;; documentation and/or other materials provided with the distribution. +;;; 3. The name of the authors may not be used to endorse or promote products +;;; derived from this software without specific prior written permission. +;;; +;;; THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR +;;; IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +;;; OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +;;; IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, +;;; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +;;; NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +;;; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +;;; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +;;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +;;; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +(load "b-tree.scm") +(load "xml.scm") + +(define (make-xml-tree n-ary) + (let ((*bt (make-b-tree n-ary))) + + (define (add-tag tag) + 0) + + (define (dispatch msg) + (cond ((eq? msg 'add-tag)add-tag) + (else (*bt msg)))) + dispatch))