1
1
/* !!!!!!!!!!!!!!!!!SCOPING NOTES !!!!!!!!!!!!!!!!!!!
2
2
* might need to throw A->ssVars = B->ssVars; to everyting containing "expression" rules
3
- *
3
+ * need to rework catching errors (use throw error)
4
4
*
5
5
*/
6
6
@@ -284,75 +284,75 @@ orderCondition(A) ::= var(B).
284
284
285
285
limitOffsetClauses (A) ::= limitClause (B) offsetClause (C).
286
286
limitOffsetClauses (A) ::= offsetClause (B) limitClause (C).
287
- limitOffsetClauses (A) ::= limitClause (B).
288
- limitOffsetClauses (A) ::= offsetClause (B).
287
+ limitOffsetClauses (A) ::= limitClause (B). { A = B; }
288
+ limitOffsetClauses (A) ::= offsetClause (B). { A = B; }
289
289
290
- limitClause (A) ::= LIMIT INTEGER.
290
+ limitClause (A) ::= LIMIT INTEGER (B). { A = new NTToken (); A-> query = ' LIMIT ' . B-> value ; }
291
291
292
- offsetClause (A) ::= OFFSET INTEGER.
292
+ offsetClause (A) ::= OFFSET INTEGER (B). { A = new NTToken (); A-> query = ' OFFSET ' . B-> value ; }
293
293
294
- valuesClause (A) ::= VALUES dataBlock (B).
294
+ valuesClause (A) ::= VALUES dataBlock (B). { A = B; A-> query = ' VALUES ' . B-> query ;}
295
295
296
- update (A) ::= prologue (B) update1 (C) SEMICOLON update (D).
297
- update (A) ::= update1 (B) SEMICOLON update (C).
298
- update (A) ::= prologue (B) update1 (C).
299
- update (A) ::= update1 (B).
296
+ update (A) ::= prologue (B) update1 (C) SEMICOLON update (D). { A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> vars = B-> vars + C-> vars + D-> vars ; A-> bNodes = B-> bNodes + C-> bNodes + D-> bNodes ; A-> query = B-> query . PHP_EOL . C-> query . ' ; ' . PHP_EOL . D-> query ; }
297
+ update (A) ::= update1 (B) SEMICOLON update (C). { A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> vars = B-> vars + C-> vars ; A-> bNodes = B-> bNodes + C-> bNodes ; A-> query = B-> query . ' ; ' . PHP_EOL . C-> query ; }
298
+ update (A) ::= prologue (B) update1 (C). { A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> vars = B-> vars + C-> vars ; A-> bNodes = B-> bNodes + C-> bNodes ; A-> query = B-> query . PHP_EOL . C-> query ; }
299
+ update (A) ::= update1 (B). { A = B; }
300
300
301
- update1 (A) ::= load (B).
302
- update1 (A) ::= clear (B).
303
- update1 (A) ::= drop (B).
304
- update1 (A) ::= add (B).
305
- update1 (A) ::= move (B).
306
- update1 (A) ::= copy (B).
307
- update1 (A) ::= create (B).
308
- update1 (A) ::= insertData (B).
309
- update1 (A) ::= deleteData (B).
310
- update1 (A) ::= deletewhere (B).
311
- update1 (A) ::= modify (B).
301
+ update1 (A) ::= load (B). { A = B; }
302
+ update1 (A) ::= clear (B). { A = B; }
303
+ update1 (A) ::= drop (B). { A = B; }
304
+ update1 (A) ::= add (B). { A = B; }
305
+ update1 (A) ::= move (B). { A = B; }
306
+ update1 (A) ::= copy (B). { A = B; }
307
+ update1 (A) ::= create (B). { A = B; }
308
+ update1 (A) ::= insertData (B). { A = B; }
309
+ update1 (A) ::= deleteData (B). { A = B; }
310
+ update1 (A) ::= deletewhere (B). { A = B; }
311
+ update1 (A) ::= modify (B). { A = B; }
312
312
313
- load (A) ::= LOAD SILENT iri (B) INTO graphRef (C).
314
- load (A) ::= LOAD iri (B) INTO graphRef (C).
315
- load (A) ::= LOAD SILENT iri (B).
316
- load (A) ::= LOAD iri (B).
313
+ load (A) ::= LOAD SILENT iri (B) INTO graphRef (C). { A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> vars = B-> vars + C-> vars ; A-> bNodes = B-> bNodes + C-> bNodes ; A-> query = ' LOAD SILENT ' B-> query . ' INTO ' . C-> query ; }
314
+ load (A) ::= LOAD iri (B) INTO graphRef (C). { A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> vars = B-> vars + C-> vars ; A-> bNodes = B-> bNodes + C-> bNodes ; A-> query = ' LOAD ' B-> query . ' INTO ' . C-> query ; }
315
+ load (A) ::= LOAD SILENT iri (B). { A = B; A-> query = ' LOAD SILENT ' . B-> query ; }
316
+ load (A) ::= LOAD iri (B). { A = B; A-> query = ' LOAD ' . B-> query ; }
317
317
318
- clear (A) ::= CLEAR SILENT graphRefAll (B).
319
- clear (A) ::= CLEAR graphRefAll (B).
318
+ clear (A) ::= CLEAR SILENT graphRefAll (B). { A = B; A-> query = ' CLEAR SILENT ' . B-> query ; }
319
+ clear (A) ::= CLEAR graphRefAll (B). { A = B; A-> query = ' CLEAR ' . B-> query ; }
320
320
321
- drop (A) ::= DROP SILENT graphRefAll (B).
322
- drop (A) ::= DROP graphRefAll (B).
321
+ drop (A) ::= DROP SILENT graphRefAll (B). { A = B; A-> query = ' DROP SILENT ' . B-> query ; }
322
+ drop (A) ::= DROP graphRefAll (B). { A = B; A-> query = ' DROP ' . B-> query ; }
323
323
324
- create (A) ::= CREATE SILENT graphRef (B).
325
- create (A) ::= CREATE graphRef (B).
324
+ create (A) ::= CREATE SILENT graphRef (B). { A = B; A-> query = ' CREATE SILENT ' . B-> query ; }
325
+ create (A) ::= CREATE graphRef (B). { A = B; A-> query = ' CREATE ' . B-> query ; }
326
326
327
- add (A) ::= ADD SILENT graphOrDefault (B) TO graphOrDefault (C).
328
- add (A) ::= ADD graphOrDefault (B) TO graphOrDefault (C).
327
+ add (A) ::= ADD SILENT graphOrDefault (B) TO graphOrDefault (C). { A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> vars = B-> vars + C-> vars ; A-> bNodes = B-> bNodes + C-> bNodes ; A-> query = ' ADD TO ' B-> query . ' TO ' . C-> query ; }
328
+ add (A) ::= ADD graphOrDefault (B) TO graphOrDefault (C). { A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> vars = B-> vars + C-> vars ; A-> bNodes = B-> bNodes + C-> bNodes ; A-> query = ' ADD ' B-> query . ' TO ' . C-> query ; }
329
329
330
- move (A) ::= MOVE SILENT graphOrDefault (C) TO graphOrDefault (D).
331
- move (A) ::= MOVE graphOrDefault (B) TO graphOrDefault (D).
330
+ move (A) ::= MOVE SILENT graphOrDefault (C) TO graphOrDefault (D). { A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> vars = B-> vars + C-> vars ; A-> bNodes = B-> bNodes + C-> bNodes ; A-> query = ' MOVE SILENT ' B-> query . ' TO ' . C-> query ; }
331
+ move (A) ::= MOVE graphOrDefault (B) TO graphOrDefault (D). { A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> vars = B-> vars + C-> vars ; A-> bNodes = B-> bNodes + C-> bNodes ; A-> query = ' MOVE ' B-> query . ' TO ' . C-> query ; }
332
332
333
- copy (A) ::= COPY SILENT graphOrDefault (B) TO graphOrDefault (C).
334
- copy (A) ::= COPY graphOrDefault (B) TO graphOrDefault (C).
333
+ copy (A) ::= COPY SILENT graphOrDefault (B) TO graphOrDefault (C). { A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> vars = B-> vars + C-> vars ; A-> bNodes = B-> bNodes + C-> bNodes ; A-> query = ' COPY SILENT ' B-> query . ' TO ' . C-> query ; }
334
+ copy (A) ::= COPY graphOrDefault (B) TO graphOrDefault (C). { A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> vars = B-> vars + C-> vars ; A-> bNodes = B-> bNodes + C-> bNodes ; A-> query = ' COPY ' B-> query . ' TO ' . C-> query ; }
335
335
336
- insertData (A) ::= INSERTDATA quadData (B).
336
+ insertData (A) ::= INSERTDATA quadData (B). { A = B; A-> query = ' DELETE DATA ' . B-> query ; }
337
337
338
- deleteData (A) ::= DELETEDATA quadData (B).
338
+ deleteData (A) ::= DELETEDATA quadData (B). { if (! empty (B-> bNodes ){$ this -> main -> error = " A Deleteclause is not allowed to contain Blanknodesyntax: DELETE DATA " . B-> query ; yy_parse_failed ();} A = B; A-> query = ' DELETE DATA ' . B-> query ; }
339
339
340
- deletewhere (A) ::= DELETEWHERE quadPattern (B).
340
+ deletewhere (A) ::= DELETEWHERE quadPattern (B). { if (! empty (B-> bNodes ){$ this -> main -> error = " A Deleteclause is not allowed to contain Blanknodesyntax: DELETE WHERE " . B-> query ; yy_parse_failed ();} A = B; A-> query = ' DELETE WHERE ' . B-> query ; }
341
341
342
- modify (A) ::= WITH iri (B) deleteClause (C) insertClause (D) usingClauseX (E) WHERE groupGraphPattern (F).
343
- modify (A) ::= WITH iri (B) deleteClause (C) usingClauseX (D) WHERE groupGraphPattern (E).
344
- modify (A) ::= WITH iri (B) insertClause (C) usingClauseX (D) WHERE groupGraphPattern (E).
345
- modify (A) ::= WITH iri (B) deleteClause (C) insertClause (D) WHERE groupGraphPattern (E).
346
- modify (A) ::= WITH iri (B) deleteClause (C) WHERE groupGraphPattern (D).
347
- modify (A) ::= WITH iri (B) insertClause (C) WHERE groupGraphPattern (D).
348
- modify (A) ::= deleteClause (B) insertClause (C) usingClauseX (D) WHERE groupGraphPattern (E).
349
- modify (A) ::= deleteClause (B) usingClauseX (C) WHERE groupGraphPattern (D).
350
- modify (A) ::= insertClause (B) usingClauseX (C) WHERE groupGraphPattern (D).
351
- modify (A) ::= deleteClause (B) insertClause (C) WHERE groupGraphPattern (D).
352
- modify (A) ::= deleteClause (B) WHERE groupGraphPattern (C).
353
- modify (A) ::= insertClause (B) WHERE groupGraphPattern (C).
354
- usingClauseX (A) ::= usingClauseX (B) usingClause (C).
355
- usingClauseX (A) ::= usingClause (B).
342
+ modify (A) ::= WITH iri (B) deleteClause (C) insertClause (D) usingClauseX (E) WHERE groupGraphPattern (F). { A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> copyBools (D); A-> copyBools (E); A-> copyBools (F); A-> ssVars = F-> ssVars ; A-> vars = B-> vars + C-> vars + D-> vars + E-> vars + F-> vars ; A-> bNodes = B-> bNodes + C-> bNodes + D-> bNodes + E-> bNodes + F-> bNodes ; A-> query = ' WITH ' . B-> query . PHP_EOL . C-> query . PHP_EOL . D-> query . PHP_EOL . E-> query . PHP_EOL . ' WHERE ' . PHP_EOL . F-> query ; }
343
+ modify (A) ::= WITH iri (B) deleteClause (C) usingClauseX (D) WHERE groupGraphPattern (E).{ A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> copyBools (D); A-> copyBools (E); A-> ssVars = E-> ssVars ; A-> vars = B-> vars + C-> vars + D-> vars + E-> vars ; A-> bNodes = B-> bNodes + C-> bNodes + D-> bNodes + E-> bNodes ; A-> query = ' WITH ' . B-> query . PHP_EOL . C-> query . PHP_EOL . D-> query . PHP_EOL . ' WHERE ' . PHP_EOL . E-> query ; }
344
+ modify (A) ::= WITH iri (B) insertClause (C) usingClauseX (D) WHERE groupGraphPattern (E).{ A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> copyBools (D); A-> copyBools (E); A-> ssVars = E-> ssVars ; A-> vars = B-> vars + C-> vars + D-> vars + E-> vars ; A-> bNodes = B-> bNodes + C-> bNodes + D-> bNodes + E-> bNodes ; A-> query = ' WITH ' . B-> query . PHP_EOL . C-> query . PHP_EOL . D-> query . PHP_EOL . ' WHERE ' . PHP_EOL . E-> query ; }
345
+ modify (A) ::= WITH iri (B) deleteClause (C) insertClause (D) WHERE groupGraphPattern (E).{ A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> copyBools (D); A-> copyBools (E); A-> ssVars = E-> ssVars ; A-> vars = B-> vars + C-> vars + D-> vars + E-> vars ; A-> bNodes = B-> bNodes + C-> bNodes + D-> bNodes + E-> bNodes ; A-> query = ' WITH ' . B-> query . PHP_EOL . C-> query . PHP_EOL . D-> query . PHP_EOL . ' WHERE ' . PHP_EOL . E-> query ; }
346
+ modify (A) ::= WITH iri (B) deleteClause (C) WHERE groupGraphPattern (D). { A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> copyBools (D); A-> ssVars = D-> ssVars ; A-> vars = B-> vars + C-> vars + D-> vars ; A-> bNodes = B-> bNodes + C-> bNodes + D-> bNodes ; A-> query = ' WITH ' . B-> query . PHP_EOL . C-> query . PHP_EOL . ' WHERE ' . PHP_EOL . D-> query ; }
347
+ modify (A) ::= WITH iri (B) insertClause (C) WHERE groupGraphPattern (D). { A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> copyBools (D); A-> ssVars = D-> ssVars ; A-> vars = B-> vars + C-> vars + D-> vars ; A-> bNodes = B-> bNodes + C-> bNodes + D-> bNodes ; A-> query = ' WITH ' . B-> query . PHP_EOL . C-> query . PHP_EOL . ' WHERE ' . PHP_EOL . D-> query ; }
348
+ modify (A) ::= deleteClause (B) insertClause (C) usingClauseX (D) WHERE groupGraphPattern (E). { A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> copyBools (D); A-> copyBools (E); A-> ssVars = E-> ssVars ; A-> vars = B-> vars + C-> vars + D-> vars + E-> vars ; A-> bNodes = B-> bNodes + C-> bNodes + D-> bNodes + E-> bNodes ; A-> query = B-> query . PHP_EOL . C-> query . PHP_EOL . D-> query . PHP_EOL . ' WHERE ' . PHP_EOL . E-> query ; }
349
+ modify (A) ::= deleteClause (B) usingClauseX (C) WHERE groupGraphPattern (D). { A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> copyBools (D); A-> ssVars = D-> ssVars ; A-> vars = B-> vars + C-> vars + D-> vars ; A-> bNodes = B-> bNodes + C-> bNodes + D-> bNodes ; A-> query = B-> query . PHP_EOL . C-> query . PHP_EOL . ' WHERE ' . PHP_EOL . D-> query ; }
350
+ modify (A) ::= insertClause (B) usingClauseX (C) WHERE groupGraphPattern (D). { A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> copyBools (D); A-> ssVars = D-> ssVars ; A-> vars = B-> vars + C-> vars + D-> vars ; A-> bNodes = B-> bNodes + C-> bNodes + D-> bNodes ; A-> query = B-> query . PHP_EOL . C-> query . PHP_EOL . ' WHERE ' . PHP_EOL . D-> query ; }
351
+ modify (A) ::= deleteClause (B) insertClause (C) WHERE groupGraphPattern (D). { A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> copyBools (D); A-> ssVars = D-> ssVars ; A-> vars = B-> vars + C-> vars + D-> vars ; A-> bNodes = B-> bNodes + C-> bNodes + D-> bNodes ; A-> query = B-> query . PHP_EOL . C-> query . PHP_EOL . ' WHERE ' . PHP_EOL . D-> query ; }
352
+ modify (A) ::= deleteClause (B) WHERE groupGraphPattern (C). { A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> ssVars = D-> ssVars ; A-> vars = B-> vars + C-> vars ; A-> bNodes = B-> bNodes + C-> bNodes ; A-> query = B-> query . PHP_EOL . ' WHERE ' . PHP_EOL . C-> query ; }
353
+ modify (A) ::= insertClause (B) WHERE groupGraphPattern (C). { A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> ssVars = D-> ssVars ; A-> vars = B-> vars + C-> vars ; A-> bNodes = B-> bNodes + C-> bNodes ; A-> query = B-> query . PHP_EOL . ' WHERE ' . PHP_EOL . C-> query ; }
354
+ usingClauseX (A) ::= usingClauseX (B) usingClause (C). { A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> vars = B-> vars + C-> vars ; A-> query = B-> query . PHP_EOL . C-> query ; }
355
+ usingClauseX (A) ::= usingClause (B). {A = B;}
356
356
357
357
deleteClause (A) ::= DELETE quadPattern (B). { if (!empty (B->bNodes ){$this ->main ->error = " A Deleteclause is not allowed to contain Blanknodesyntax: DELETE" . B->query ; yy_parse_failed ();} A = B; A->query = ' DELETE ' . B->query ; }
358
358
@@ -372,17 +372,17 @@ graphRefAll(A) ::= DEFAULT. { A = new NTToken(); A->query = 'DEFAULT';}
372
372
graphRefAll (A) ::= NAMED. { A = new NTToken (); A->query = ' NAMED' ;}
373
373
graphRefAll (A) ::= ALL. { A = new NTToken (); A->query = ' ALL' ;}
374
374
375
- quadPattern (A) ::= LBRACE quads (B) RBRACE. ' { ' . PHP_EOL . B->query . PHP_EOL . ' }' ; }
375
+ quadPattern (A) ::= LBRACE quads (B) RBRACE. { A = B; A-> query = ' { ' . PHP_EOL . B->query . PHP_EOL . ' }' ; }
376
376
quadPattern (A) ::= LBRACE RBRACE. {A = new NTToken (); A->query = ' { }' }
377
377
378
- quadData (A) ::= LBRACE quads(B) RBRACE. '{ ' . PHP_EOL . B->query . PHP_EOL . ' }' ; }
378
+ quadData (A) ::= LBRACE quads (B) RBRACE. { if (! empty (B-> vars )){$ this -> main -> error = " QuadPattern arent allowed to contain variables: " . B-> query ; yy_parse_failed ();} A = B; A-> query = ' { ' . PHP_EOL . B->query . PHP_EOL . ' }' ; }
379
379
quadData (A) ::= LBRACE RBRACE. {A = new NTToken (); A->query = ' { }' }
380
380
381
381
quads (A) ::= triplesTemplate (B) quadsX (C). { A = new NTToken (); A->copyBools (B); A->copyBools (C); A->vars = B->vars + C->vars ; A->bNodes = B->bNodes + C->bNodes ; A->query = B->query . ' .' . PHP_EOL . C->query ; }
382
382
quads (A) ::= triplesTemplate (B). { A = B; }
383
383
quads (A) ::= quadsX (B). { A = B; }
384
- quadsX(A) ::= quadsX(B) quadsNotTriples(C) DOT triplesTemplate(D).
385
- quadsX(A) ::= quadsX(B) quadsNotTriples(C) triplesTemplate(D).
384
+ quadsX (A) ::= quadsX (B) quadsNotTriples (C) DOT triplesTemplate (D). { A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> copyBools (D); A-> vars = B-> vars + C-> vars + D-> vars ; A-> bNodes = B-> bNodes + C-> bNodes + D-> bNodes ; A-> query = B-> query . ' . ' . PHP_EOL . C-> query . ' . ' . PHP_EOL . D-> query ; }
385
+ quadsX (A) ::= quadsX (B) quadsNotTriples (C) triplesTemplate (D). { A = new NTToken (); A-> copyBools (B); A-> copyBools (C); A-> copyBools (D); A-> vars = B-> vars + C-> vars + D-> vars ; A-> bNodes = B-> bNodes + C-> bNodes + D-> bNodes ; A-> query = B-> query . ' . ' . PHP_EOL . C-> query . PHP_EOL . D-> query ; }
386
386
quadsX (A) ::= quadsX (B) quadsNotTriples (C) DOT. { A = new NTToken (); A->copyBools (B); A->copyBools (C); A->vars = B->vars + C->vars ; A->bNodes = B->bNodes + C->bNodes ; A->query = B->query . ' .' . PHP_EOL . C->query ; }
387
387
quadsX (A) ::= quadsX (B) quadsNotTriples (C). { A = new NTToken (); A->copyBools (B); A->copyBools (C); A->vars = B->vars + C->vars ; A->bNodes = B->bNodes + C->bNodes ; A->query = B->query . PHP_EOL . C->query ; }
388
388
quadsX (A) ::= quadsNotTriples (B) DOT triplesTemplate (C). { A = new NTToken (); A->copyBools (B); A->copyBools (C); A->vars = B->vars + C->vars ; A->bNodes = B->bNodes + C->bNodes ; A->query = B->query . ' .' . PHP_EOL . C->query ; }
0 commit comments