From d1205bb8c25865fadbbb7a2071b84e88c6acf1ef Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Mon, 30 Jan 2017 14:02:39 -0800 Subject: [PATCH] add `lexer-file-path` --- beautiful-racket-demo/basic-demo/tokenizer.rkt | 4 ++-- .../br-parser-tools-doc/parser-tools/br-parser-tools.scrbl | 4 ++++ br-parser-tools/br-parser-tools-lib/br-parser-tools/lex.rkt | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/beautiful-racket-demo/basic-demo/tokenizer.rkt b/beautiful-racket-demo/basic-demo/tokenizer.rkt index 79191e8..5c15433 100644 --- a/beautiful-racket-demo/basic-demo/tokenizer.rkt +++ b/beautiful-racket-demo/basic-demo/tokenizer.rkt @@ -1,9 +1,9 @@ #lang br -(require "lexer.rkt" brag/support racket/contract) +(require "lexer.rkt" brag/support) (define (make-tokenizer ip [path #f]) (port-count-lines! ip) - (file-path path) + (lexer-file-path path) (define (next-token) (basic-lexer ip)) next-token) diff --git a/br-parser-tools/br-parser-tools-doc/parser-tools/br-parser-tools.scrbl b/br-parser-tools/br-parser-tools-doc/parser-tools/br-parser-tools.scrbl index 298e839..031d32a 100644 --- a/br-parser-tools/br-parser-tools-doc/parser-tools/br-parser-tools.scrbl +++ b/br-parser-tools/br-parser-tools-doc/parser-tools/br-parser-tools.scrbl @@ -296,6 +296,10 @@ error.} raises a @racket[exn:fail:read] error. Setting this parameter allows DrRacket, for example, to open the file containing the error.} +@defparam[lexer-file-path source any/c]{ + +Alias for @racket[file-path].} + @; ---------------------------------------- diff --git a/br-parser-tools/br-parser-tools-lib/br-parser-tools/lex.rkt b/br-parser-tools/br-parser-tools-lib/br-parser-tools/lex.rkt index 2f0a22e..c7202ab 100644 --- a/br-parser-tools/br-parser-tools-lib/br-parser-tools/lex.rkt +++ b/br-parser-tools/br-parser-tools-lib/br-parser-tools/lex.rkt @@ -26,6 +26,7 @@ ;; File path for highlighting errors while lexing file-path + lexer-file-path ;; alternate name ;; Lex abbrevs for unicode char sets. See mzscheme manual section 3.4. any-char any-string nothing alphabetic lower-case upper-case title-case @@ -334,6 +335,7 @@ (do-match lb first-pos longest-match-action match))) (define file-path (make-parameter #f)) + (define lexer-file-path file-path) (define (do-match ip first-pos action value) #;(printf "(action ~a ~a ~a ~a)\n"