Skip to content

Commit

Permalink
Move inlined definitions before they are used.
Browse files Browse the repository at this point in the history
Otherwise they do not get a chance to get inlined.
  • Loading branch information
stassats committed Dec 30, 2014
1 parent cc10653 commit afe67e9
Showing 1 changed file with 12 additions and 12 deletions.
24 changes: 12 additions & 12 deletions lexer.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ their associated character classes."
((#\S)
:non-whitespace-char-class)))

(declaim (inline make-lexer-internal))
(defstruct (lexer (:constructor make-lexer-internal))
"LEXER structures are used to hold the regex string which is
currently lexed and to keep track of the lexer's state."
Expand All @@ -66,8 +67,7 @@ currently lexed and to keep track of the lexer's state."
(last-pos nil :type list))

(defun make-lexer (string)
(declare (inline make-lexer-internal)
#-:genera (string string))
(declare #-:genera (string string))
(make-lexer-internal :str (maybe-coerce-to-simple-string string)
:len (length string)))

Expand Down Expand Up @@ -347,7 +347,7 @@ we're inside a range or not."
(when (looking-at-p lexer #\-)
(push #\- list)
(incf (lexer-pos lexer)))
(setq hyphen-seen nil))))
(setq hyphen-seen nil))))
((#\E)
;; if \Q quoting is on we ignore \E,
;; otherwise it's just a plain #\E
Expand Down Expand Up @@ -497,6 +497,15 @@ closing #\> will also be consumed."
(setf (lexer-pos lexer) (1+ end-name))
name)))

(declaim (inline unget-token))
(defun unget-token (lexer)
(declare #.*standard-optimize-settings*)
"Moves the lexer back to the last position stored in the LAST-POS stack."
(if (lexer-last-pos lexer)
(setf (lexer-pos lexer)
(pop (lexer-last-pos lexer)))
(error "No token to unget \(this should not happen)")))

(defun get-token (lexer)
(declare #.*standard-optimize-settings*)
"Returns and consumes the next token from the regex string \(or NIL)."
Expand Down Expand Up @@ -712,15 +721,6 @@ closing #\> will also be consumed."
(pop (lexer-last-pos lexer))
nil))))

(declaim (inline unget-token))
(defun unget-token (lexer)
(declare #.*standard-optimize-settings*)
"Moves the lexer back to the last position stored in the LAST-POS stack."
(if (lexer-last-pos lexer)
(setf (lexer-pos lexer)
(pop (lexer-last-pos lexer)))
(error "No token to unget \(this should not happen)")))

(declaim (inline start-of-subexpr-p))
(defun start-of-subexpr-p (lexer)
(declare #.*standard-optimize-settings*)
Expand Down

0 comments on commit afe67e9

Please sign in to comment.