diff --git a/brag/rules/runtime.rkt b/brag/rules/runtime.rkt deleted file mode 100755 index e34df13..0000000 --- a/brag/rules/runtime.rkt +++ /dev/null @@ -1,34 +0,0 @@ -#lang racket/base -(require br-parser-tools/lex) - -(provide (all-defined-out)) - -;; During parsing, we should define the source of the input. -(define current-source (make-parameter #f)) - - -;; When bad things happen, we need to emit errors with source location. -(struct exn:fail:parse-grammar exn:fail (srclocs) - #:transparent - #:property prop:exn:srclocs (lambda (instance) - (exn:fail:parse-grammar-srclocs instance))) - -(define current-parser-error-handler - (make-parameter - (lambda (tok-ok? tok-name tok-value start-pos end-pos) - (raise (exn:fail:parse-grammar - (format "Error while parsing grammar near: ~e [line=~a, column~a, position=~a]" - tok-value - (position-line start-pos) - (position-col start-pos) - (position-offset start-pos)) - (current-continuation-marks) - (list (srcloc (current-source) - (position-line start-pos) - (position-col start-pos) - (position-offset start-pos) - (if (and (number? (position-offset end-pos)) - (number? (position-offset start-pos))) - (- (position-offset end-pos) - (position-offset start-pos)) - #f))))))))