Changeset 22119 in project


Ignore:
Timestamp:
12/25/10 20:15:49 (10 years ago)
Author:
Ivan Raikov
Message:

9ML-toolkit: make XML changes consistent across all modules

Location:
release/4/9ML-toolkit/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • release/4/9ML-toolkit/trunk/NineMLrepr.scm

    r22115 r22119  
    11
    22;;
    3 ;;  Different internal representations for NineML.
     3;;  Different external representations of NineML.
    44;;
    55;; Copyright 2010 Ivan Raikov and the Okinawa Institute of
     
    3838(include "SXML.scm")
    3939(include "SXML-to-XML.scm")
    40 
    41 
    42 
    43 (define-record-printer (value x out)
    44   (fprintf out "#<value ~S>"
    45            (cases value x
    46                   (Const_v (c) `(Const ,c))
    47                   (Closure_v (body env)
    48                              (if (null? env) `(Closure ,body ())
    49                                  `(Closure ,body (,(car env) ...))))
    50                   (Prim_v (p) `(Prim ,p))
    51                   (Tuple_v (d) `(Data ,d)))))
    5240
    5341
     
    6755            tree
    6856            `(
    69               (tuple *macro* .
     57              (Tuple *macro* .
    7058                     ,(lambda (tag elems)
    7159                        (let ((node (cons tag elems)))
     
    7462                            (cons left right)))))
    7563             
    76               (const . ,(lambda (tag elems) (car elems)))
     64              (Const . ,(lambda (tag elems) (car elems)))
    7765             
    7866              (label . ,(lambda (tag elems) (string->symbol (car elems))))
     
    139127
    140128                   ((xml )
    141                     (let* ((doc1   `(toplevel ,@(eval-env->sxml env)))
     129                    (let* ((doc1   `(Toplevel ,@(eval-env->sxml env)))
    142130                           (doc2  (ensure-xmlns  doc1))
    143131                           (doc3  (ensure-xmlver doc2)))
     
    165153             
    166154              ((xml )
    167                (let* ((doc1   `(toplevel ,@(map (compose modspec->sxml cdr) env)))
     155               (let* ((doc1   `(Toplevel ,@(map (compose modspec->sxml cdr) env)))
    168156                      (doc2  (ensure-xmlns doc1))
    169157                      (doc3  (ensure-xmlver doc2)))
     
    182170
    183171                   ((xml )
    184                     (let* ((doc1   `(toplevel ,@(map moddef->sxml defs)))
     172                    (let* ((doc1   `(Toplevel ,@(map moddef->sxml defs)))
    185173                           (doc2  (ensure-xmlns doc1))
    186174                           (doc3  (ensure-xmlver doc2)))
     
    357345
    358346
    359 (define (print-nxml uenv)
     347(define (print-nxml prefix uenv)
    360348
    361349    (let (
     
    366354              . ,(lambda (tag elems) elems))
    367355             
    368             (pident
     356            (Pident
    369357             *macro*
    370358             . ,(lambda (tag elems)
    371                   (let ((name (sxml:attr (cons tag elems) 'name)))
    372                     (if (not name) (error 'type-env-report "pident element requires name attribute"))
    373                     name)))
     359                  (let ((node (cons tag elems)))
     360                    (let ((name (sxml:text node)))
     361                      (if (not name) (error 'print-nxml "Pident element requires text content" node))
     362                      name))))
    374363             
    375              (pdot
     364             (Pdot
    376365              *macro*
    377366              . ,(lambda (tag elems)
    378367                   (let ((node (cons tag elems)))
    379368                     (let ((name (sxml:attr node 'name)))
    380                        (if (not name) (error 'type-env-report "pdot element requires name attribute"))
     369                       (if (not name) (error 'print-nxml "Pdot element requires name attribute"))
    381370                       `(,(sxml:kids node) "." ,name)))))
    382371
     
    389378           
    390379           `(
    391              (type_def
     380             (Type_def
    392381              *macro*
    393382              . ,(lambda (tag elems)
     
    398387                   ))
    399388
    400              (component
    401               *macro*
    402               . ,(lambda (tag elems)
    403                    (let ((node (cons tag elems)))
    404                      (let ((name (sxml:attr node 'name)))
    405                        `(Namespace (@ (name ,name))
    406                                    ((sxpath '(or binding component)) `(*TOP* . ,elems)))))
     389             (Component
     390              *macro*
     391              . ,(lambda (tag elems)
     392                   (let ((node (cons tag elems)))
     393                       (let ((name (sxml:attr node 'name))
     394                             (members ((sxpath '(Component (*or* Val Component))) `(*TOP* ,node))))
     395                         `(Namespace (@ (name ,name)) . ,members)
     396                         ))
    407397                   ))
    408398
    409              (binding
     399             (Val
    410400              *macro*
    411401              . ,(lambda (tag elems)
    412402                   (let ((node (cons tag elems)))
    413403                     (let* ((name (sxml:attr node 'name))
    414                             (value (sxml:kidn-cadr 'value node))
    415                             (tuple-label ((sxpath '(tuple left const label *text*)) `(*TOP* ,value))))
     404                            (value (sxml:kid node))
     405                            (tuple-label ((sxpath '(Tuple left Const label *text*)) `(*TOP* ,value))))
    416406
    417407                       (if (not name) (error 'type-env-report "binding element requires name attribute"))
     
    433423           `(
    434424
    435              (longid
     425             (Longid
    436426              *macro*
    437427              . ,(lambda (tag elems)
     
    440430                     )))
    441431
    442              (function
     432             (Function
    443433              *macro*
    444434              . ,(lambda (tag elems)
    445435                   (let ((node (cons tag elems)))
    446436                     (let ((formal (sxml:attr node 'formal))
    447                            (body   (sxml:kidn node 'body)))
    448                        `(Core:Function (@ (formal ,formal)) ,body)
     437                           (body   (sxml:kid node)))
     438                       `(Term:Function (@ (x ,formal)) ,body)
    449439                       ))))
    450440
    451441
    452              (let0
     442             (Let0
    453443              *macro*
    454444              . ,(lambda (tag elems)
     
    457447                           (value (sxml:kidn-cadr 'value node))
    458448                           (body (sxml:kidn-cadr 'body node)))
    459                        `(Core:Let (@ (name ,name)) (value ,value) (body ,body))
     449                       `(Term:Let (@ (name ,name)) (value ,value) (body ,body))
    460450                       ))))
    461451
    462              (apply
     452             (Apply
    463453              *macro*
    464454              . ,(lambda (tag elems)
     
    466456                     (let ((left (sxml:kidn-cdr 'left node))
    467457                           (right (sxml:kidn-cdr 'right node)))
    468                        `(Core:Apply (left ,left) (right ,right))
     458                       `(Term:Apply (left ,left) (right ,right))
    469459                       ))))
    470460             
     
    475465          )
    476466
    477   (let ((source-defs (car uenv))
     467  (let ( 
     468        (filename    (string-append prefix ".xml"))
     469        (source-defs (car uenv))
    478470        (type-env    (cadr uenv))
    479471        (eval-env    (caddr uenv)))
    480472
    481     (let ((type-env-sxml (map (compose modspec->sxml cdr) type-env))
    482           (eval-env-sxml (eval-env->sxml eval-env))
    483 
    484           (type-env-rulesets `(,path-ss ))
    485 
     473    (let ((eval-env-sxml (eval-env->sxml eval-env))
    486474          (eval-env-rulesets `(,moddef-ss
    487475                               ,term-ss
     
    490478     
    491479      (let* (
    492              (eval-env-shtml (sxml-transform eval-env-sxml eval-env-rulesets))
    493              (content        `(toplevel ,eval-env-shtml))
     480             (eval-env-sxml (sxml-transform eval-env-sxml eval-env-rulesets))
     481             (content        `(Toplevel ,eval-env-sxml))
    494482             )
    495 
    496             (print-fragments (generate-XML content)))
     483       
     484        (with-output-to-file filename
     485          (lambda () (print-fragments (generate-XML content))))
    497486           
    498       ))))
     487        )))
     488  ))
    499489)
  • release/4/9ML-toolkit/trunk/SXML.scm

    r22024 r22119  
    2626    (if (not v)  (error 'sxml:kid "node does not have children" node)  v)))
    2727 
     28;; obtain the cadr of the first non-attribute child
     29(define (sxml:kid-cadr node)
     30  (let ((v ((select-first-kid (lambda (x) (not (eq? (car x) '@)))) node)))
     31    (if (not v)  (error 'sxml:kid-cadr "node does not have children" node)  (cadr v))))
     32 
    2833;; obtain all non-attribute children of a node
    2934(define (sxml:kids node)
     
    5156(define (sxml:kidn-cadr name node)
    5257  (let ((v ((select-first-kid (lambda (x) (eq? (car x) name))) node)))
    53     (if (not v)  (error 'sxml:kidn-cadr "node does not have children" node)  (cadr v))))
     58    (if (not v)  (error 'sxml:kidn-cadr "node does not have children" name node)  (cadr v))))
    5459 
    5560(define (sxml:if-number x)
  • release/4/9ML-toolkit/trunk/ivp.scm

    r22115 r22119  
    154154          (else  (if (symbol? (car expr))  (fold (lambda (x ax) (enumvars x ax)) ax (cdr expr)) ax)))
    155155        (if (symbol? expr) (cons expr ax) ax)))
    156 
    157 
    158   (define (sxml-value->sexpr tree)
    159     (let* ((tree
    160             (pre-post-order*
    161             tree
    162             `(
    163               (tuple *macro* .
    164                      ,(lambda (tag elems)
    165                         (let ((node (cons tag elems)))
    166                           (let ((left (sxml:kidn-cadr 'left node))
    167                                 (right (sxml:kidn-cdr 'right node)))
    168                             (cons left right)))))
    169              
    170               (const . ,(lambda (tag elems) (car elems)))
    171              
    172               (label . ,(lambda (tag elems) (string->symbol (car elems))))
    173              
    174               (real . ,(lambda (tag elems) (string->number (car elems))))
    175              
    176               (bool . ,(lambda (tag elems) (string->symbol (car elems))))
    177              
    178               (null . ,(lambda (tag elems) '()))
    179              
    180               (*text* . ,(lambda (trigger str) str))
    181              
    182               (*default* . ,(lambda (tag elems) (cons tag elems)))
    183               )))
    184 
    185            (tree
    186             (pre-post-order*
    187              tree
    188              `(
    189                (signal . ,(lambda (tag elems) (caar elems)))
    190                
    191                (sigfun . ,(lambda (tag elems) (car elems)))
    192 
    193                (*text* . ,(lambda (trigger str) str))
    194                
    195                (*default* . ,(lambda (tag elems) (cons tag elems)))
    196                )))
    197 
    198            (tree
    199             (let flatten ((tree tree))
    200               (cond ((atom? tree) tree)
    201                     (else (cons (flatten (car tree)) (flatten (cadr tree))))))))
    202       tree))
    203 
    204 
    205 
    206156
    207157
     
    507457       
    508458      ))
    509 #|
    510   (define (generate-graph graph-id tree)
    511 
    512     (let ((sexpr (sxml-value->sexpr tree)))
    513 
    514       (let recur ((sexpr sexpr) )
    515         (or (and (pair? sexpr)
    516                  (case (car sexpr)
    517                         ((graph)
    518                          (let ((sexpr (cdr sexpr)))
    519 
    520                             (case (car sexpr)
    521 
    522                                ((empty)                (make-digraph (gensym  'graph) "NineML graph"))
    523                                ((add_node)             (let ((g (recur (car sexpr))))
    524                                                          ((g 'add-node) (cadr sexpr))))
    525                                ((add_node_interval)    (let ((g (recur (car sexpr))))
    526                                                          (((car sexpr) 'add-edge) (cadr sexpr) (caddr sexpr))))
    527                                ((make_nodes)           (let ((g (make-digraph (gensym  'graph) "NineML graph")))
    528                                                          ((g 'add-node-interval) 1 (car sexpr))))
    529                                ((add_edge)             (let ((g (recur (car sexpr))))
    530                                                          ((g 'add-edge) (cadr sexpr) (caddr sexpr))))
    531                                ((set_node_property)    (let ((g (recur (car sexpr))))
    532                                                          (((car sexpr) 'node-property-set) (cadr sexpr) (caddr sexpr)
    533                                                           (cadddr sexpr) (car (cddddr sexpr)))))
    534 
    535                                (else (error 'generate-graph "invalid graph constructor" sexpr)))))
    536 
    537                         ((interval)
    538                          (let ((sexpr (cdr sexpr)))
    539 
    540                               ((empty)             empty)
    541                               ((singleton)         (singleton (car sexpr)))
    542                               ((closed_interval)   (interval (car sexpr) (cadr sexpr)))
    543                               ((add)               (add (car sexpr) (cadr sexpr)))
    544                               ((union)             (union (car sexpr) (cadr sexpr)))
    545 
    546                               (else (error 'generate-graph "invalid interval constructor" sexpr))))
    547 
    548                         (else (map recur sexpr))
    549                         ))
    550              sexpr))
    551 
    552       (let* ((dir (pathname-directory prefix))
    553              (dot-path (make-pathname dir (string-append (->string graph-id) ".dot")))
    554              (png-path (make-pathname dir (string-append (->string graph-id) ".png"))))
    555 
    556         (with-output-to-file  dot-path
    557           (lambda ()
    558             ((make-format-graph 'dot) (current-output-port) g)
    559             ))
    560        
    561         (run (dot -Tpng ,dot-path > ,png-path))
    562         )
    563        
    564       ))
    565 |#
     459
    566460  (let-syntax
    567461      (
     
    579473              . ,(lambda (tag elems) elems))
    580474             
    581             (pident
     475            (Pident
    582476             *macro*
    583477             . ,(lambda (tag elems)
    584                   (let ((name (sxml:attr (cons tag elems) 'name)))
    585                     (if (not name) (error 'type-env-report "pident element requires name attribute"))
    586                     name)))
    587              
    588              (pdot
     478                  (let ((node (cons tag elems)))
     479                    (let ((name (sxml:text node)))
     480                      (if (not name) (error 'html-report "Pident element requires text content" node))
     481                      name))))
     482             
     483             (Pdot
    589484              *macro*
    590485              . ,(lambda (tag elems)
    591486                   (let ((node (cons tag elems)))
    592487                     (let ((name (sxml:attr node 'name)))
    593                        (if (not name) (error 'type-env-report "pdot element requires name attribute"))
     488                       (if (not name) (error 'html-report "Pdot element requires name attribute"))
    594489                       `(,(sxml:kids node) "." ,name)))))
    595490
     
    600495          (simple-type-ss
    601496           `(
    602              (tcon
     497             (Tcon
    603498              *macro*
    604499              . ,(lambda (tag elems)
     
    614509             
    615510             
    616              (tvar
     511             (Tvar
    617512              *macro*
    618513              . ,(lambda (tag elems)
     
    635530           `(
    636531
    637              (const
     532             (Const
    638533              *macro*
    639534              . ,(lambda (tag elems)
     
    652547          (typedef-ss
    653548           `(
    654              (valtype
     549             (Valtype
    655550              *macro*
    656551              . ,(lambda (tag elems)
     
    659554                   ))
    660555
    661              (deftype
     556             (Deftype
    662557               *macro*
    663558               . ,(lambda (tag elems)
     
    673568          (modspec-ss
    674569           `(
    675              (value_sig
     570             (Value_sig
    676571              *macro*
    677572              . ,(lambda (tag elems)
     
    682577             
    683578             
    684              (type_sig
     579             (Type_sig
    685580              *macro*
    686581              . ,(lambda (tag elems)
     
    706601                     )))
    707602             
    708              (module_sig
     603             (Module_sig
    709604              *macro*
    710605              . ,(lambda (tag elems)
     
    715610                         ,(sxml:kids node))))))
    716611             
    717              (signature
     612             (Signature
    718613              *macro*
    719614              . ,(lambda (tag elems)
     
    722617             
    723618             
    724              (functorty
     619             (Functorty
    725620              *macro*
    726621              . ,(lambda (tag elems)
     
    738633           
    739634           `(
    740              (type_def
     635             (Type_def
    741636              *macro*
    742637              . ,(lambda (tag elems)
     
    747642                   ))))
    748643
    749              (component
     644             (Component
    750645              *macro*
    751646              . ,(lambda (tag elems)
     
    755650                       `(,(line "Component " (b ,name) " = ") (ul . ,(map (lambda (x) `(li ,x)) (sxml:kids node))))))))
    756651
    757              (binding
     652             (Val
    758653              *macro*
    759654              . ,(lambda (tag elems)
    760655                   (let ((node (cons tag elems)))
    761656                     (let* ((name (sxml:attr node 'name))
    762                             (value (sxml:kidn-cadr 'value node))
    763                             (tuple-label ((sxpath '(tuple left const label *text*)) `(*TOP* ,value))))
     657                            (value (sxml:kid-cadr node))
     658                            (tuple-label ((sxpath '(Tuple left Const label *text*)) `(*TOP* ,value))))
    764659
    765660                       (if (not name) (error 'type-env-report "binding element requires name attribute"))
     
    783678                       ))))
    784679
    785              (prim
     680             (Prim
    786681              *macro*
    787682              . ,(lambda (tag elems)
     
    793688                  (code "null")))
    794689             
    795              (tuple
     690             (Tuple
    796691              *macro*
    797692              . ,(lambda (tag elems)
     
    802697                        ))))
    803698             
    804              (closure
     699             (Closure
    805700              *macro*
    806701              . ,(lambda (tag elems)
     
    820715           `(
    821716
    822              (longid
     717             (Longid
    823718              *macro*
    824719              . ,(lambda (tag elems)
     
    826721                     (sxml:kids node))))
    827722
    828              (function
     723             (Function
    829724              *macro*
    830725              . ,(lambda (tag elems)
     
    833728                       (let-values (((formals body)
    834729                                     (let recur ((formals (list formal))
    835                                                  (body (sxml:kidn-cadr 'body node)))
     730                                                 (body (sxml:kid node)))
    836731                                       (case (car body)
    837732                                         ((function)
    838733                                          (recur
    839734                                           (cons (sxml:attr body 'formal) formals)
    840                                            (sxml:kidn-cadr 'body body)))
     735                                           (sxml:kid body)))
    841736                                         (else (values (reverse formals) body))))))
    842737                         `(,(line (code "Function " ,(intersperse formals " ") " => "))
     
    845740
    846741
    847              (let0
     742             (Let0
    848743              *macro*
    849744              . ,(lambda (tag elems)
     
    855750                         ,body)))))
    856751             
    857              (apply
     752             (Apply
    858753              *macro*
    859754              . ,(lambda (tag elems)
  • release/4/9ML-toolkit/trunk/report.scm

    r22115 r22119  
    104104    (print-source-defs  "prints the source definitions of each operand"
    105105                        (single-char #\s))
     106
     107    (nxml            "prints canonical NineML XML representation of the evaluation environment of each operand"
     108                     (single-char #\n))
    106109
    107110    (html-report        "prints out an HTML report of the unified environments of each operand")
     
    372375              . ,(lambda (tag elems) elems))
    373376             
    374             (pident
     377            (Pident
    375378             *macro*
    376379             . ,(lambda (tag elems)
    377                   (let ((name (sxml:attr (cons tag elems) 'name)))
    378                     (if (not name) (error 'type-env-report "pident element requires name attribute"))
    379                     name)))
    380              
    381              (pdot
     380                  (let ((node (cons tag elems)))
     381                    (let ((name (sxml:text node)))
     382                      (if (not name) (error 'html-report "Pident element requires text content" node))
     383                      name))))
     384             
     385             (Pdot
    382386              *macro*
    383387              . ,(lambda (tag elems)
    384388                   (let ((node (cons tag elems)))
    385389                     (let ((name (sxml:attr node 'name)))
    386                        (if (not name) (error 'type-env-report "pdot element requires name attribute"))
     390                       (if (not name) (error 'html-report "Pdot element requires name attribute"))
    387391                       `(,(sxml:kids node) "." ,name)))))
    388392
     
    393397          (simple-type-ss
    394398           `(
    395              (tcon
     399             (Tcon
    396400              *macro*
    397401              . ,(lambda (tag elems)
     
    407411             
    408412             
    409              (tvar
     413             (Tvar
    410414              *macro*
    411415              . ,(lambda (tag elems)
     
    428432           `(
    429433
    430              (const
     434             (Const
    431435              *macro*
    432436              . ,(lambda (tag elems)
     
    445449          (typedef-ss
    446450           `(
    447              (valtype
     451             (Valtype
    448452              *macro*
    449453              . ,(lambda (tag elems)
     
    452456                   ))
    453457
    454              (deftype
     458             (Deftype
    455459               *macro*
    456460               . ,(lambda (tag elems)
     
    466470          (modspec-ss
    467471           `(
    468              (value_sig
     472             (Value_sig
    469473              *macro*
    470474              . ,(lambda (tag elems)
     
    475479             
    476480             
    477              (type_sig
     481             (Type_sig
    478482              *macro*
    479483              . ,(lambda (tag elems)
     
    483487                       (line "Type " (b ,name) " = " ,(sxml:kids node))))))
    484488             
    485              (typedecl
     489             (Typedecl
    486490              *macro*
    487491              . ,(lambda (tag elems)
     
    499503                     )))
    500504             
    501              (module_sig
     505             (Module_sig
    502506              *macro*
    503507              . ,(lambda (tag elems)
     
    508512                         ,(sxml:kids node))))))
    509513             
    510              (signature
     514             (Signature
    511515              *macro*
    512516              . ,(lambda (tag elems)
     
    515519             
    516520             
    517              (functorty
     521             (Functorty
    518522              *macro*
    519523              . ,(lambda (tag elems)
     
    531535           
    532536           `(
    533              (type_def
     537             (Type_def
    534538              *macro*
    535539              . ,(lambda (tag elems)
     
    540544                   ))))
    541545
    542              (component
     546             (Component
    543547              *macro*
    544548              . ,(lambda (tag elems)
     
    548552                       `(,(line "Component " (b ,name) " = ") (ul . ,(map (lambda (x) `(li ,x)) (sxml:kids node))))))))
    549553
    550              (binding
     554             (Val
    551555              *macro*
    552556              . ,(lambda (tag elems)
    553557                   (let ((node (cons tag elems)))
    554558                     (let* ((name (sxml:attr node 'name))
    555                             (value (sxml:kidn-cadr 'value node))
    556                             (tuple-label ((sxpath '(tuple left const label *text*)) `(*TOP* ,value))))
     559                            (value (sxml:kid node))
     560                            (tuple-label ((sxpath '(Tuple left Const label *text*)) `(*TOP* ,value))))
    557561
    558562                       (if (not name) (error 'type-env-report "binding element requires name attribute"))
     
    568572                       ))))
    569573
    570              (prim
     574             (Prim
    571575              *macro*
    572576              . ,(lambda (tag elems)
     
    578582                  (code "null")))
    579583             
    580              (tuple
     584             (Tuple
    581585              *macro*
    582586              . ,(lambda (tag elems)
     
    587591                        ))))
    588592             
    589              (closure
     593             (Closure
    590594              *macro*
    591595              . ,(lambda (tag elems)
     
    605609           `(
    606610
    607              (longid
     611             (Longid
    608612              *macro*
    609613              . ,(lambda (tag elems)
     
    611615                     (sxml:kids node))))
    612616
    613              (function
     617             (Function
    614618              *macro*
    615619              . ,(lambda (tag elems)
     
    618622                       (let-values (((formals body)
    619623                                     (let recur ((formals (list formal))
    620                                                  (body (sxml:kidn-cadr 'body node)))
     624                                                 (body (sxml:kid node)))
    621625                                       (case (car body)
    622626                                         ((function)
    623627                                          (recur
    624628                                           (cons (sxml:attr body 'formal) formals)
    625                                            (sxml:kidn-cadr 'body body)))
     629                                           (sxml:kid body)))
    626630                                         (else (values (reverse formals) body))))))
    627631                         `(,(line (code "Function " ,(intersperse formals " ") " => "))
     
    630634
    631635
    632              (let0
     636             (Let0
    633637              *macro*
    634638              . ,(lambda (tag elems)
     
    640644                         ,body)))))
    641645             
    642              (apply
     646             (Apply
    643647              *macro*
    644648              . ,(lambda (tag elems)
     
    848852                      (eval-env    (caddr uenv)))
    849853             
    850                   (let ((type-env-opt (options 'print-type-env)))
     854                  (let ((type-env-opt    (options 'print-type-env))
     855                        (eval-env-opt    (options 'print-eval-env))
     856                        (source-defs-opt (options 'print-source-defs))
     857                        (html-report-opt (options 'html-report))
     858                        (nxml-opt        (options 'nxml)))
     859
    851860                    (if type-env-opt
    852861                        (if (and (string? type-env-opt) (string=?  type-env-opt "all"))
    853862                            (print-type-env type-env output-type)
    854863                            (let ((fc (lambda (x) (and (member (ident-name (car x)) type-env-opt) x))))
    855                               (print-type-env type-env output-type fc)))
    856                         ))
    857                   (let ((eval-env-opt (options 'print-eval-env)))
     864                              (print-type-env type-env output-type fc))))
     865
    858866                    (if eval-env-opt
    859867                        (if (and (string? eval-env-opt) (string=? eval-env-opt "all"))
    860868                            (print-eval-env eval-env output-type)
    861869                            (let ((fc (lambda (x) (and (member (ident-name (car x)) eval-env-opt) x))))
    862                               (print-eval-env eval-env output-type fc)))
    863                         ))
    864                   (if (options 'print-source-defs)
    865                       (print-source-defs source-defs output-type))
    866                   (if (options 'html-report)
    867                       (html-report operand uenv))
    868                   ))
     870                              (print-eval-env eval-env output-type fc))))
     871
     872                    (if source-defs-opt (print-source-defs source-defs output-type))
     873                   
     874                    (if html-report-opt (html-report operand uenv))
     875
     876                    (if nxml-opt (print-nxml operand uenv))
     877                  )))
     878
    869879              operands unified-envs)))
    870880          )))
  • release/4/9ML-toolkit/trunk/shell.scm

    r22115 r22119  
    2121
    2222(require-extension setup-api srfi-13 datatype matchable static-modules miniML miniMLsyntax miniMLeval )
    23 (require-extension getopt-long ssax sxml-transforms sxpath sxpath-lolevel object-graph)
     23(require-extension getopt-long object-graph)
    2424(require-extension NineMLparse NineMLrepr)
    25 
    26 (include "SXML.scm")
    27 (include "SXML-to-XML.scm")
    2825
    2926
Note: See TracChangeset for help on using the changeset viewer.