Commit 56391e6c by Pascal J. Bourguignon

Corrected word-equal test against EOF, with an ugly temporary hack.

parent 9bbdae30
......@@ -7,3 +7,7 @@ git clone https://github.com/sionescu/libfixposix.git
git clone http://git.informatimago.com/public/iolib.termios
# git clone ssh://pjb@git.informatimago.com/srv/git/public/iolib.termios
# NOT YET; we may freeze the dependency on a specific version of com-informatimago…
# git clone git@git.framasoft.org:com-informatimago/com-informatimago.git
# ( cd com-informatimago && git checkout 00911cca3266dac279f4cad960d6f11dad1b9dfa )
0.9997879000000018
\ No newline at end of file
0.9997669000000012
\ No newline at end of file
......@@ -89,6 +89,10 @@
(push (truename (merge-pathnames "../dependencies/"
*default-pathname-defaults*))
ql:*local-project-directories*)
;; NOT YET:
;; (push (truename (merge-pathnames "../dependencies/com-informatimago/"
;; *default-pathname-defaults*))
;; ql:*local-project-directories*)
(defun boolean-enval (var default)
......
......@@ -77,7 +77,8 @@
(defun wildpath (path) (make-pathname :name :wild :type :wild :version nil :defaults path))
(defun fasldir (system component)
(first (asdf:output-files
(make-instance 'asdf:compile-op)
#-asdf3 (make-instance 'asdf:compile-op)
#+asdf3 (asdf/operation:make-operation 'asdf:compile-op)
(asdf:find-component (asdf:find-system system) component))))
(setf *default-pathname-defaults* (dirpath (or *load-truename*
......@@ -90,11 +91,11 @@
;;; --------------------------------------------------
(ql:quickload '("iolib-grovel" "cffi-grovel"))
(unless (find "/usr/local/include/" iolib-grovel::*cc-flags* :test (function string=))
(setf iolib-grovel::*cc-flags* (append iolib-grovel::*cc-flags* (list "-I" "/usr/local/include/"))))
(unless (find "/usr/local/include/" cffi-grovel::*cc-flags* :test (function string=))
(setf cffi-grovel::*cc-flags* (append cffi-grovel::*cc-flags* (list "-I" "/usr/local/include/"))))
#-(and) (ql:quickload '("iolib-grovel" "cffi-grovel"))
#-(and)(unless (find "/usr/local/include/" iolib-grovel::*cc-flags* :test (function string=))
(setf iolib-grovel::*cc-flags* (append iolib-grovel::*cc-flags* (list "-I" "/usr/local/include/"))))
#-(and)(unless (find "/usr/local/include/" cffi-grovel::*cc-flags* :test (function string=))
(setf cffi-grovel::*cc-flags* (append cffi-grovel::*cc-flags* (list "-I" "/usr/local/include/"))))
;; (defun delete-package-and-users (package)
;; (mapc 'delete-package-and-users (package-used-by-list package))
......@@ -173,4 +174,3 @@
|#
;;;; THE END ;;;;
......@@ -82,6 +82,26 @@
(defmethod word-equal ((token tok-eof) (other (eql 'eol))) t)
(defmethod word-equal ((token tok-eof) (other (eql 'eof))) t)
(defmethod word-equal ((other (eql 'eol)) (token tok-eol)) t)
(defmethod word-equal ((other (eql 'eol)) (token tok-eof)) t)
(defmethod word-equal ((other (eql 'eof)) (token tok-eof)) t)
;; TODO: this is an ugly hack (com.informatimago.rdp::*eof-symbol* defined at compilation time vs. run-time in the grammar?).
(defun eof-symbol-p (other)
(or (eql com.informatimago.rdp::*eof-symbol* other)
(and (symbolp other)
(null (symbol-package other))
(string= "EOF" other))))
(defmethod word-equal ((token tok-eol) (other t)) (eof-symbol-p other))
(defmethod word-equal ((token tok-eof) (other t)) (eof-symbol-p other))
(defmethod word-equal ((other t) (token tok-eol)) (eof-symbol-p other))
(defmethod word-equal ((other t) (token tok-eof)) (eof-symbol-p other))
;; (defmethod word-equal ((token tok-eol) (other t)) (token-end-of-source-p other))
;; (defmethod word-equal ((token tok-eof) (other t)) (token-end-of-source-p other))
;; (list (word-equal (make-instance 'tok-eol) 'eol)
;; (word-equal (make-instance 'tok-eol) 'eof)
;; (word-equal (make-instance 'tok-eof) 'eol)
......
......@@ -218,6 +218,7 @@
(defgeneric eolp (token)
(:documentation "Returns whether the token is an end-of-line token.
A end-of-file is also considered an end-of-line.")
;; (:method ((token t)) (token-end-of-source-p token))
(:method ((token t)) nil)
(:method ((token tok-eol)) t)
(:method ((token (eql 'eol))) t)
......@@ -226,6 +227,7 @@ A end-of-file is also considered an end-of-line.")
(defgeneric eofp (token)
(:documentation "Returns whether the token is an end-of-file token")
;; (:method ((token t)) (token-end-of-source-p token))
(:method ((token t)) nil)
(:method ((token tok-eof)) t)
(:method ((token (eql 'eof))) t))
......@@ -911,4 +913,3 @@ TRANSITION: (state-name (string-expr body-expr...)...) ...
;;;; THE END ;;;;
1.0.0-0.999798-CCL-DARWIN
\ No newline at end of file
1.0.0-0.999767-CCL-DARWIN
\ No newline at end of file
1.0.0-0.999798-CCL-DARWIN,
commit 9087bd41afb81969b500a4e8ed549cfd1b54d7f5,
compiled 2016-02-06 19:30:25,
on larissa.home,
with features (lse-unix lse-extensions lse-server lse-case-insensitive).
\ No newline at end of file
1.0.0-0.999767-CCL-DARWIN,
commit 9bbdae30f875eeb1d27e3b6ec2269cebaa2962d7,
compiled 2017-01-24 23:38:07,
on despina.home,
with features (lse-unix lse-extensions lse-case-insensitive).
\ No newline at end of file
1.0.0-0.999798
\ No newline at end of file
1.0.0-0.999767
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment