[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