|
@@ -25,6 +25,10 @@
|
|
|
state->rc = LSUP_PARSE_ERR;
|
|
|
}
|
|
|
|
|
|
+%syntax_error {
|
|
|
+ log_warn ("Syntax error. Attempting recovery.");
|
|
|
+}
|
|
|
+
|
|
|
%stack_size CHUNK_SIZE
|
|
|
|
|
|
/*
|
|
@@ -72,14 +76,14 @@ statement ::= triples .
|
|
|
directive ::= prefixID EOS .
|
|
|
directive ::= base EOS .
|
|
|
|
|
|
-prefixID ::= PREFIX WS PFX(P) ows IRIREF(N) . {
|
|
|
+prefixID ::= PREFIX PFX(P) IRIREF(N) . {
|
|
|
LSUP_nsmap_add (state->nsm, P, N);
|
|
|
}
|
|
|
-prefixID ::= PREFIX WS COLON ows IRIREF(N) . {
|
|
|
+prefixID ::= PREFIX COLON IRIREF(N) . {
|
|
|
LSUP_nsmap_add (state->nsm, "", N);
|
|
|
}
|
|
|
|
|
|
-base ::= BASE WS IRIREF(D) . {
|
|
|
+base ::= BASE IRIREF(D) . {
|
|
|
state->base = LSUP_iriref_new (D, NULL);
|
|
|
}
|
|
|
|
|
@@ -94,15 +98,15 @@ triples ::= subject(S) predObjList(L) EOS . {
|
|
|
|
|
|
%type predObjList { LSUP_PredObjList * }
|
|
|
%destructor predObjList { LSUP_pred_obj_list_free ($$); }
|
|
|
-predObjList(A) ::= predicate(P) WS objectList(O) SEMICOLON . {
|
|
|
+predObjList(A) ::= predicate(P) objectList(O) SEMICOLON . {
|
|
|
A = LSUP_pred_obj_list_new();
|
|
|
LSUP_pred_obj_list_add (A, P, O);
|
|
|
}
|
|
|
-predObjList(A) ::= predicate(P) WS objectList(O) . [SEMICOLON] {
|
|
|
+predObjList(A) ::= predicate(P) objectList(O) . [SEMICOLON] {
|
|
|
A = LSUP_pred_obj_list_new();
|
|
|
LSUP_pred_obj_list_add (A, P, O);
|
|
|
}
|
|
|
-predObjList(A) ::= predObjList(L) SEMICOLON predicate(P) WS objectList(O) . {
|
|
|
+predObjList(A) ::= predObjList(L) SEMICOLON predicate(P) objectList(O) . {
|
|
|
LSUP_pred_obj_list_add (L, P, O);
|
|
|
A = L;
|
|
|
}
|
|
@@ -189,7 +193,7 @@ collection(A) ::= LPAREN itemList(L) RPAREN . {
|
|
|
%type itemList { LSUP_Term ** }
|
|
|
// Freed when the item list in the collection gets added to the graph.
|
|
|
%destructor itemList {}
|
|
|
-itemList(A) ::= itemList(L) WS object(O) . { A = LSUP_obj_list_add (L, O); }
|
|
|
+itemList(A) ::= itemList(L) object(O) . { A = LSUP_obj_list_add (L, O); }
|
|
|
itemList(A) ::= object(O) . {
|
|
|
A = calloc (sizeof (*A), 2);
|
|
|
A[0] = O;
|
|
@@ -218,9 +222,6 @@ qname(A) ::= COLON IDNAME(D) . {
|
|
|
}
|
|
|
qname(A) ::= COLON . { A = strndup (":", 2); }
|
|
|
|
|
|
-ows ::= WS.
|
|
|
-ows ::=.
|
|
|
-
|
|
|
/*
|
|
|
* This has been adapted from
|
|
|
* https://www.w3.org/TeamSubmission/turtle/#sec-grammar-grammar :
|