Changeset 11787
- Timestamp:
- 04/26/09 07:12:21 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/precompiler.lisp
r11786 r11787 354 354 (declaim (ftype (function (t) t) precompile1)) 355 355 (defun precompile1 (form) 356 ;; (sys::%format t "~S~%" form)357 356 (cond ((symbolp form) 358 357 (let ((varspec (find-varspec form))) … … 598 597 (setq lambda-list (subseq lambda-list 0 (position '&AUX lambda-list))) 599 598 (multiple-value-bind (lambda-decls let-decls) 600 (rewrite-aux-vars-process-decls decls (lambda-list-names lambda-list) aux-vars) 601 `(lambda ,lambda-list ,@lambda-decls (let* ,lets ,@let-decls ,@body)))))) 602 603 #| 604 (defun split-declarations (related-symbols decls) 605 "Splits IGNORE, IGNORABLE, DYNAMIC-EXTENT, TYPE, FTYPE and <type-specifier> 606 into the declarations related to `related-symbols' and the rest." 607 ;; IGNORE, IGNORABLE and DYNAMIC-EXTENT have the same format 608 (let (related-decls other-decls) 609 (dolist (decl-form decls) 610 (dolist (decl (cdr decl-form)) 611 (case (car decl) 612 ((IGNORE IGNORABLE DYNAMIC-EXTENT SPECIAL) 613 (let (rel oth) 614 615 ...) 616 ((TYPE FTYPE) ;; FUNCTION? 617 ...) 618 ((INLINE NOTINLINE OPTIMIZE DECLARATION) 619 (push decl other-decls)) 620 (t 621 (if (symbolp (car decl)) ;; a type specifier 622 ... 623 (push decl other-decls)))))) 624 (values related-decls other-decls))) 625 |# 599 (rewrite-aux-vars-process-decls decls 600 (lambda-list-names lambda-list) 601 aux-vars) 602 `(lambda ,lambda-list 603 ,@lambda-decls 604 (let* ,lets 605 ,@let-decls 606 ,@body)))))) 626 607 627 608 (defun maybe-rewrite-lambda (form) … … 689 670 (defun precompile-lambda (form) 690 671 (setq form (maybe-rewrite-lambda form)) 691 ;; (sys::%format t "~S~%" form)692 672 (let ((body (cddr form)) 693 673 (*inline-declarations* *inline-declarations*))
Note: See TracChangeset
for help on using the changeset viewer.