[gambit-list] parser bug? (gambit-c v4.2.8)

naruto canada narutocanada at gmail.com
Tue Sep 2 18:17:51 EDT 2008


hi

try this:

cd /usr ; rm -rf stalin*
WGET_UNPACK_HERE ftp://ftp.ecn.purdue.edu/qobi/stalin.tar.Z
rm -f stalin.tar.Z ; mv stalin-0.11 stalin

WGET_UNPACK http://www.iro.umontreal.ca/~gambit/download/gambit/v4.2/source/gambc-v4_2_8.tgz
./configure --prefix=/usr --enable-single-host --enable-gcc-opts
make || INTERVENTION $LINENO
make install

(don't worry about WGET_UNPACK WGET_UNPACK_HERE INTERVENTION, they
simply wget and untar the tarball or check compilation error and does
nothing else)

cat /usr/stalin/benchmarks/*.sc > /tmp/1.sc
cat /tmp/1.sc | mzscheme -e '(require (lib "pretty.ss"))' -f check-parameter.sc
# ok no error
cat /tmp/1.sc | /usr/v4.2.8/bin/gsi check-parameter.sc

*** ERROR IN (stdin)@15339.7 -- Invalid token


cat check-parameter.sc
;(set! *parser-canonicalize-symbols?* #f)

(define (atom? x) (not (pair? x)))
(define prev-token 0)

(define (transform exp)
  (cond ((atom? exp) (begin (set! prev-token exp) exp))
        ((list? exp) (map transform exp))
        (else (begin (if (not (or (eq? 'lambda prev-token) (eq?
'define prev-token)))
                         (begin (display ";;; pair used not as lambda
parameter list? ")
                                (pretty-print (list "exp:" exp
"prev-token:" prev-token))
                                exp))
                     (display ";;; lambda parameter list : ")
                     (pretty-print exp) exp))))

(define (loop)
 (let ((text (read)))
  (if (eof-object? text) (exit)
      (begin (pretty-print (transform text)) (newline) (loop)))))
(newline) (loop)


have fun :)



More information about the Gambit-list mailing list