diff --git a/analysis/tokenizer.sls b/analysis/tokenizer.sls index bce1ce9..9db760e 100644 --- a/analysis/tokenizer.sls +++ b/analysis/tokenizer.sls @@ -68,6 +68,14 @@ [head (string-take source position)] [rest (string-take-right source (- (string-length source) position 1))]) (private:tolerant-parse->patch (string-append head " " rest)))] + ["invalid number syntax ~a" + (let* ([position (caddr (condition-irritants e))] + [head (string-take source position)] + [end-position (string-find-delimiter source (+ 1 position))] + [l (- end-position position -1)] + [rest (string-take-right source (- (string-length source) position l))] + [blank (make-string l #\space)]) + (private:tolerant-parse->patch (string-append head blank rest)))] [else (display-condition e) (newline) diff --git a/run.ss b/run.ss index bdb0aba..6d81d64 100644 --- a/run.ss +++ b/run.ss @@ -62,7 +62,7 @@ Example Usage: (cond ((string-ci=? str "r6rs") 'r6rs) ((string-ci=? str "r7rs") 'r7rs) - ;; ((string-ci=? str "s7") 's7) + ((string-ci=? str "s7") 's7) ;; ((string-ci=? str "goldfish") 'goldfish) (else #f))) @@ -74,7 +74,7 @@ Example Usage: (hashtable-set! seeds "top-environment" val) seeds) (begin - (display "Invalid value for --top-environment. Valid values: r6rs, r7rs\n") + (display "Invalid value for --top-environment. Valid values: r6rs, r7rs, s7\n") (exit 1))))) (define options