Fix parsing empty strings

Julien LepillerThu Apr 02 15:27:51+0200 2020

696a4c5

Fix parsing empty strings

turtle/tordf.scm

159159
             (parser-state-cur-predicate state)
160160
             object)
161161
           (parser-state-result state)))))
162+
    (('rdf-literal ('string-pat _) ("^^" iri))
163+
     (let* ((res (parse-iri iri state))
164+
            (iri (assoc-ref res "iri"))
165+
            (state (assoc-ref res "state"))
166+
            (object (make-rdf-literal "" iri #f)))
167+
       (update-parser-state state
168+
         #:cur-object object
169+
         #:result
170+
         (cons
171+
           (make-rdf-triple
172+
             (parser-state-cur-subject state)
173+
             (parser-state-cur-predicate state)
174+
             object)
175+
           (parser-state-result state)))))
176+
    (('rdf-literal ('string-pat _) ('langtag lang))
177+
     (let ((object
178+
           (make-rdf-literal
179+
             ""
180+
             "http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
181+
             lang)))
182+
       (update-parser-state state
183+
         #:cur-object object
184+
         #:result
185+
         (cons
186+
           (make-rdf-triple
187+
             (parser-state-cur-subject state)
188+
             (parser-state-cur-predicate state)
189+
             object)
190+
           (parser-state-result state)))))
191+
    (('rdf-literal ('string-pat _))
192+
     (let ((object
193+
           (make-rdf-literal
194+
             ""
195+
             "http://www.w3.org/1999/02/22-rdf-syntax-ns#string"
196+
             #f)))
197+
       (update-parser-state state
198+
         #:cur-object object
199+
         #:result
200+
         (cons
201+
           (make-rdf-triple
202+
             (parser-state-cur-subject state)
203+
             (parser-state-cur-predicate state)
204+
             object)
205+
           (parser-state-result state)))))
162206
    (('numeric-literal ('decimal num))
163207
     (let ((object
164208
            (make-rdf-literal num "http://www.w3.org/2001/XMLSchema#decimal" #f)))