From d2b2db04b9189adc2a92916a9c85af86b838e0c2 Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Thu, 21 Jun 2018 17:34:14 -0700 Subject: [PATCH] bolster automatic eof rule (fixes #1) --- br-parser-tools-lib/br-parser-tools/lex.rkt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/br-parser-tools-lib/br-parser-tools/lex.rkt b/br-parser-tools-lib/br-parser-tools/lex.rkt index 6bb9dd4..7c0c743 100644 --- a/br-parser-tools-lib/br-parser-tools/lex.rkt +++ b/br-parser-tools-lib/br-parser-tools/lex.rkt @@ -80,7 +80,10 @@ (syntax-case x () [(RE ACT) #t] [else (raise-syntax-error caller "not a regular expression / action pair" stx x)])) - (define eof-act (get-special-action spec/re-acts #'eof #'eof)) + (define eof-act (get-special-action spec/re-acts #'eof (case src-loc-style + [(lexer-src-pos) #'(return-without-pos eof)] + [(lexer-srcloc) #'(return-without-srcloc eof)] + [else #'eof]))) (define spec-act (get-special-action spec/re-acts #'special #'(void))) (define spec-comment-act (get-special-action spec/re-acts #'special-comment #'#f)) (define ids (list #'special #'special-comment #'eof))