Changeset 15100 in project for chicken


Ignore:
Timestamp:
06/29/09 10:56:12 (10 years ago)
Author:
felix winkelmann
Message:

define-compiler-syntax respects run-time-macros decl; wiki2html improvements

Location:
chicken/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • chicken/trunk/compiler.scm

    r15077 r15100  
    776776                            (##sys#er-transformer (eval/meta body))
    777777                            (##sys#current-environment)))
    778                           (walk '(##core#undefined) e se dest)))
     778                          (walk
     779                           (if ##sys#enable-runtime-macros
     780                               `(##sys#put!
     781                                (##core#syntax ,name)
     782                                '##compiler#compiler-syntax
     783                                (##sys#cons
     784                                 (##sys#er-transformer ,body)
     785                                 (##sys#current-environment)))
     786                               '(##core#undefined) )
     787                           e se dest)))
    779788
    780789                       ((##core#let-compiler-syntax)
  • chicken/trunk/manual/Acknowledgements

    r15077 r15100  
    6666; Olin Shivers : implementation of {{let-optionals[*]}} and reference implementations of SRFI-1, SRFI-13 and SRFI-14.
    6767; Andrew Wilcox : queues.
    68 ; [[http://chicken.wiki.br/Alex Shinn|Alex Shinn]] : {{scheme-complete.el}} emacs tab-completion
     68; [[http://chicken.wiki.br/users/Alex-Shinn|Alex Shinn]] : {{scheme-complete.el}} emacs tab-completion
    6969
    7070The documentation and examples for explicit renaming macros was taken from
  • chicken/trunk/manual/Data representation

    r13683 r15100  
    33== Data representation
    44
    5 ''Note: In all cases below, bits are numbered starting
    6 at 1 and beginning with the lowest-order bit.''
     5''Note: In all cases below, bits are numbered starting at 1 and beginning with the lowest-order bit.''
    76
    87There exist two different kinds of data objects in the CHICKEN system:
  • chicken/trunk/manual/The User's Manual

    r15074 r15100  
    2525; [[Data representation]] : How Scheme data is internally represented.
    2626
    27 ; [[Bugs and limitations]] : Yes, there are some.
     27; [[Bugs and limitations]] : Things that do not work yet.
    2828
    29 ; [[FAQ]] : A list of Frequently Asked Questions about CHICKEN (and their answers!).
     29; [[FAQ]] : A list of Frequently Asked Questions about CHICKEN (and their answers).
    3030
    3131; [[Acknowledgements]] : A list of some of the people that have contributed to make CHICKEN what it is.
  • chicken/trunk/rules.make

    r15057 r15100  
    12021202
    12031203dist: distfiles
    1204         $(CSI) -s $(SRCDIR)scripts/makedist.scm --platform=$(PLATFORM) CHICKEN=$(CHICKEN)
     1204        CSI=$(CSI) $(CSI) -s $(SRCDIR)scripts/makedist.scm --platform=$(PLATFORM) CHICKEN=$(CHICKEN)
    12051205
    12061206html:
  • chicken/trunk/scripts/wiki2html.scm

    r15077 r15100  
    1414(define +italic+ '(: (= 2 #\') (submatch (* (~ #\'))) (= 2 #\')))
    1515(define +html-tag+ '(: #\< (submatch (* (~ #\>))) #\>))
     16(define +enscript-tag+ '(: "<enscript" (* (~ #\>)) #\>))
    1617
    1718(define +link+
     
    2627
    2728(define +http-url+ '(: (* space) "http://" (* any)))
     29(define +end-enscript-tag+ '(: "</enscript>"))
    2830
    2931
     
    4850       ,+u-list+
    4951       ,+o-list+
     52       ,+enscript-tag+
    5053       ,+hr+))
    5154
     
    109112                       (pop-all out)
    110113                       (fprintf out "~a~%" (inline ln)))))
     114               ((string-match (rx +enscript-tag+) ln) =>
     115                (lambda (m)
     116                  (pop-all out)
     117                  (fprintf out "<pre>~a~%" (substring ln (string-length (car m))))
     118                  (copy-until-match (rx +end-enscript-tag+) in out) ;XXX doesn't parse rest of line
     119                  (display "</pre>" out)))
    111120               ((string-match (rx +header+) ln) =>
    112121                (lambda (m)
    113122                  (pop-all out)
    114123                  (let ((n (sub1 (string-length (second m))))
    115                         (name (clean (third m))))
     124                        (name (inline (third m))))
    116125                    (fprintf out "<a name='~a' /><h~a>~a</h~a>~%"
    117126                             name n name n))))
     
    247256
    248257
     258;;; Read until rx matches
     259
     260(define (copy-until-match rx in out)
     261  (let loop ()
     262    (let ((ln (read-line in)))
     263      (cond ((string-match rx ln) =>
     264             (lambda (m)
     265               (substring ln (string-length (car m))) ) )
     266            (else
     267             (display (clean ln) out)
     268             (newline out)
     269             (loop))))))
     270
     271
    249272;;; Run it
    250273
Note: See TracChangeset for help on using the changeset viewer.