Changeset 12845 in project


Ignore:
Timestamp:
12/18/08 08:45:39 (11 years ago)
Author:
Ivan Raikov
Message:

Fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • release/3/nemo/trunk/nemo-nmodl.scm

    r12836 r12845  
    604604
    605605(define (collect-epools sys)
     606  (define (iscomp? x)
     607    (match x (('decaying-pool name id) id) (('decaying 'pool name id) id)
     608           (else #f)))
     609  (print "collect-epools")
    606610   (match-let ((($ nemo:quantity 'DISPATCH  dis) (environment-ref sys (nemo-intern 'dispatch))))
    607611     (let recur ((comp-name (nemo-intern 'toplevel)) (ax (list)))
    608                     (let* ((comp-symbols   ((dis 'component-symbols)   sys comp-name))
    609                            (subcomps       ((dis 'component-subcomps)  sys comp-name))
    610                            (iscomp?        (lambda (x) (match x (('decaying-pool name id) id)
    611                                                               (('decaying 'pool name id) id)
    612                                                               (else #f)))))
     612                    (let ((subcomps       ((dis 'component-subcomps)  sys comp-name)))
     613                      (print "subcomps = " subcomps)
    613614                      (let-values (((epool-comps other-comps)  (partition iscomp? subcomps)))
     615
    614616                        (let ((epools (map (lambda (x)
    615                                              (let ((exports ((dis 'component-exports) sys (cid x))))
     617                                             (let ((exports ((dis 'component-exports) sys (third x))))
    616618                                               (if (null? exports)
    617619                                                   (nemo:error 'nemo:nmodl-translator
    618                                                                ": ion pool component " (cid x)
     620                                                               ": ion pool component " (third x)
    619621                                                               " must export a state"))
    620622                                               `(,@(cdr x) ,(car exports))))
    621                                            epools-comps)))
     623                                           epool-comps)))
    622624                          (fold recur other-comps (append epools ax))))))))
    623625
Note: See TracChangeset for help on using the changeset viewer.