33#line 59 "../../build/grammar_trig.c"
62#define T_DTYPE_MARKER 25
124#define YYCODETYPE unsigned char
126#define YYACTIONTYPE unsigned char
127#define TrigParseTOKENTYPE char *
137#define YYSTACKDEPTH 100
139#define TrigParseARG_SDECL VOLK_TrigParserState *state ;
140#define TrigParseARG_PDECL , VOLK_TrigParserState *state
141#define TrigParseARG_PARAM ,state
142#define TrigParseARG_FETCH VOLK_TrigParserState *state =yypParser->state ;
143#define TrigParseARG_STORE yypParser->state =state ;
144#define TrigParseCTX_SDECL
145#define TrigParseCTX_PDECL
146#define TrigParseCTX_PARAM
147#define TrigParseCTX_FETCH
148#define TrigParseCTX_STORE
151#define YYNRULE_WITH_ACTION 31
153#define YY_MAX_SHIFT 53
154#define YY_MIN_SHIFTREDUCE 104
155#define YY_MAX_SHIFTREDUCE 159
156#define YY_ERROR_ACTION 160
157#define YY_ACCEPT_ACTION 161
158#define YY_NO_ACTION 162
159#define YY_MIN_REDUCE 163
160#define YY_MAX_REDUCE 218
162#define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0])))
173# define yytestcase(X)
227#define YY_ACTTAB_COUNT (197)
229 195, 196, 196, 32, 49, 163, 29, 161, 24, 21,
230 20, 12, 195, 195, 118, 134, 133, 175, 176, 158,
231 37, 122, 123, 124, 125, 126, 158, 134, 133, 190,
232 18, 118, 134, 133, 15, 190, 190, 190, 190, 127,
233 3, 129, 37, 122, 123, 124, 125, 126, 31, 134,
234 133, 31, 13, 216, 148, 216, 15, 107, 7, 134,
235 133, 127, 3, 126, 158, 134, 133, 126, 46, 134,
236 133, 158, 10, 180, 26, 41, 15, 127, 3, 27,
237 1, 127, 3, 28, 201, 158, 176, 28, 144, 191,
238 53, 130, 111, 175, 176, 191, 191, 191, 191, 22,
239 174, 118, 134, 133, 158, 51, 174, 174, 174, 174,
240 174, 19, 48, 33, 9, 52, 174, 174, 174, 174,
241 27, 30, 47, 30, 30, 200, 30, 176, 209, 126,
242 14, 134, 133, 6, 175, 176, 145, 18, 15, 173,
243 143, 18, 25, 127, 3, 173, 173, 173, 173, 176,
244 11, 110, 17, 2, 34, 36, 175, 176, 4, 5,
245 35, 36, 38, 18, 30, 30, 16, 30, 30, 120,
246 30, 30, 30, 30, 30, 30, 140, 18, 23, 50,
247 128, 109, 39, 40, 108, 42, 43, 44, 45, 147,
248 146, 105, 106, 194, 162, 162, 8,
251 32, 33, 34, 35, 31, 37, 38, 29, 30, 41,
252 42, 31, 44, 45, 13, 14, 15, 49, 50, 1,
253 7, 8, 9, 10, 11, 12, 1, 14, 15, 42,
254 5, 13, 14, 15, 21, 48, 49, 50, 51, 26,
255 27, 28, 7, 8, 9, 10, 11, 12, 46, 14,
256 15, 49, 31, 1, 3, 3, 21, 2, 31, 14,
257 15, 26, 27, 12, 1, 14, 15, 12, 17, 14,
258 15, 1, 21, 49, 23, 24, 21, 26, 27, 35,
259 31, 26, 27, 39, 40, 1, 42, 43, 4, 42,
260 20, 28, 4, 49, 50, 48, 49, 50, 51, 52,
261 42, 13, 14, 15, 1, 47, 48, 49, 50, 51,
262 42, 36, 31, 36, 1, 47, 48, 49, 50, 51,
263 35, 46, 31, 46, 49, 40, 49, 42, 43, 12,
264 31, 14, 15, 31, 49, 50, 4, 5, 21, 42,
265 4, 5, 35, 26, 27, 48, 49, 50, 51, 42,
266 31, 4, 5, 31, 36, 36, 49, 50, 31, 31,
267 36, 36, 36, 5, 46, 46, 1, 49, 49, 16,
268 46, 46, 46, 49, 49, 49, 4, 5, 25, 31,
269 22, 4, 15, 1, 4, 15, 1, 18, 1, 3,
270 22, 3, 3, 0, 53, 53, 6, 53, 53, 53,
271 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
272 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
273 53, 53, 53, 53, 53, 53,
275#define YY_SHIFT_COUNT (53)
276#define YY_SHIFT_MIN (0)
277#define YY_SHIFT_MAX (193)
278static const unsigned char yy_shift_ofst[] = {
279 197, 51, 55, 13, 35, 35, 55, 35, 35, 117,
280 18, 1, 1, 1, 1, 1, 1, 88, 1, 25,
281 52, 84, 63, 45, 70, 103, 113, 103, 103, 103,
282 103, 103, 165, 132, 136, 147, 158, 153, 172, 177,
283 167, 182, 180, 170, 185, 169, 187, 186, 188, 168,
286#define YY_REDUCE_COUNT (32)
287#define YY_REDUCE_MIN (-32)
288#define YY_REDUCE_MAX (148)
289static const short yy_reduce_ofst[] = {
290 -22, -32, 44, 47, 58, 68, 85, -13, 97, 107,
291 119, 75, 77, 118, 124, 125, 126, 2, 2, -27,
292 -20, 21, 27, 24, 49, 81, 91, 99, 102, 122,
296 197, 160, 160, 160, 160, 160, 160, 160, 160, 217,
297 160, 160, 160, 160, 160, 160, 217, 160, 160, 218,
298 218, 218, 218, 160, 218, 218, 218, 218, 218, 218,
299 218, 218, 218, 160, 160, 160, 160, 178, 160, 160,
300 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
353#ifdef YYTRACKMAXSTACKDEPTH
356#ifndef YYNOERRORRECOVERY
375static FILE *yyTraceFILE = 0;
376static char *yyTracePrompt = 0;
398 yyTraceFILE = TraceFILE;
399 yyTracePrompt = zTracePrompt;
400 if( yyTraceFILE==0 ) yyTracePrompt = 0;
401 else if( yyTracePrompt==0 ) yyTraceFILE = 0;
405#if defined(YYCOVERAGE) || !defined(NDEBUG)
408static const char *
const yyTokenName[] = {
450 "blankNodePropertyList",
468static const char *
const yyRuleName[] = {
469 "block ::= triples2",
470 "graphBegin ::= GRAPH WS subject ows LBRACE",
471 "graphBegin ::= subject ows LBRACE",
472 "graphEnd ::= RBRACE",
473 "prefixID ::= PFX_KW WS PFX_DECL WS IRIREF PERIOD",
474 "base ::= BASE WS IRIREF PERIOD",
475 "triples ::= subject ows predObjList PERIOD",
476 "triples ::= subject ows predObjList SEMICOLON PERIOD",
477 "predObjList ::= predicate ows objectList",
478 "predObjList ::= predObjList SEMICOLON predicate ows objectList",
479 "objectList ::= objectList COMMA object",
480 "objectList ::= object",
481 "subject ::= resource",
483 "predicate ::= RDF_TYPE",
484 "literal ::= STRING",
485 "literal ::= STRING LANGTAG",
486 "literal ::= STRING DTYPE_MARKER resource",
487 "literal ::= INTEGER",
488 "literal ::= DOUBLE",
489 "literal ::= DECIMAL",
490 "literal ::= BOOLEAN",
491 "blank ::= BNODE_ID",
493 "blank ::= LBRACKET predObjList RBRACKET",
494 "blank ::= LPAREN RPAREN",
495 "collection ::= LPAREN itemList RPAREN",
496 "itemList ::= itemList ows object",
497 "itemList ::= object",
498 "resource ::= IRIREF",
499 "resource ::= NSIRI",
500 "trigDoc ::= statements EOF",
501 "statements ::= statements ows directive",
502 "statements ::= statements ows block",
504 "block ::= wrappedGraph",
505 "block ::= subject WS predObjList PERIOD",
506 "wrappedGraph ::= graphBegin ows triplesBlock ows graphEnd",
507 "wrappedGraph ::= graphBegin ows graphEnd",
508 "triples2 ::= blankNodePropertyList ows predObjList PERIOD",
509 "triples2 ::= blankNodePropertyList PERIOD",
510 "triples2 ::= collection ows predObjList PERIOD",
511 "blankNodePropertyList ::= LBRACKET ows predObjList ows RBRACKET",
512 "graphBegin ::= GRAPH ows LBRACE",
513 "graphBegin ::= LBRACE",
514 "triplesBlock ::= triples",
515 "triplesBlock ::= triplesBlock ows triples",
516 "directive ::= prefixID",
517 "directive ::= base",
518 "predicate ::= resource",
519 "object ::= resource",
521 "object ::= literal",
522 "blank ::= collection",
539 newSize = p->yystksz*2 + 100;
542 pNew = malloc(newSize*
sizeof(pNew[0]));
543 if( pNew ) pNew[0] = p->yystk0;
545 pNew = realloc(p->
yystack, newSize*
sizeof(pNew[0]));
552 fprintf(yyTraceFILE,
"%sStack grows from %d to %d entries.\n",
553 yyTracePrompt, p->yystksz, newSize);
556 p->yystksz = newSize;
567#ifndef YYMALLOCARGTYPE
568# define YYMALLOCARGTYPE size_t
576#ifdef YYTRACKMAXSTACKDEPTH
577 yypParser->yyhwm = 0;
580 yypParser->
yytos = NULL;
582 yypParser->yystksz = 0;
583 if( yyGrowStack(yypParser) ){
584 yypParser->
yystack = &yypParser->yystk0;
585 yypParser->yystksz = 1;
588#ifndef YYNOERRORRECOVERY
599#ifndef TrigParse_ENGINEALWAYSONSTACK
619 return (
void*)yypParser;
631static void yy_destructor(
680#line 56 "grammar_trig.y"
681 (void) state; free ((yypminor->
yy0));
682#line 707 "../../build/grammar_trig.c"
693#line 187 "grammar_trig.y"
695#line 720 "../../build/grammar_trig.c"
700#line 155 "grammar_trig.y"
702#line 727 "../../build/grammar_trig.c"
708#line 175 "grammar_trig.y"
710#line 735 "../../build/grammar_trig.c"
724static void yy_pop_parser_stack(
yyParser *pParser){
726 assert( pParser->
yytos!=0 );
731 fprintf(yyTraceFILE,
"%sPopping %s\n",
744 while( pParser->
yytos>pParser->
yystack ) yy_pop_parser_stack(pParser);
750#ifndef TrigParse_ENGINEALWAYSONSTACK
761 void (*freeProc)(
void*)
763#ifndef YYPARSEFREENEVERNULL
774#ifdef YYTRACKMAXSTACKDEPTH
775int TrigParseStackPeak(
void *p){
777 return pParser->yyhwm;
786#if defined(YYCOVERAGE)
798#if defined(YYCOVERAGE)
799int TrigParseCoverage(FILE *out){
800 int stateno, iLookAhead, i;
802 for(stateno=0; stateno<
YYNSTATE; stateno++){
803 i = yy_shift_ofst[stateno];
804 for(iLookAhead=0; iLookAhead<
YYNTOKEN; iLookAhead++){
805 if( yy_lookahead[i+iLookAhead]!=iLookAhead )
continue;
806 if( yycoverage[stateno][iLookAhead]==0 ) nMissed++;
808 fprintf(out,
"State %d lookahead %s %s\n", stateno,
809 yyTokenName[iLookAhead],
810 yycoverage[stateno][iLookAhead] ?
"ok" :
"missed");
830#if defined(YYCOVERAGE)
831 yycoverage[stateno][iLookAhead] = 1;
834 i = yy_shift_ofst[stateno];
842 if( yy_lookahead[i]!=iLookAhead ){
845 assert( iLookAhead<
sizeof(yyFallback)/
sizeof(yyFallback[0]) );
846 iFallback = yyFallback[iLookAhead];
850 fprintf(yyTraceFILE,
"%sFALLBACK %s => %s\n",
851 yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[iFallback]);
854 assert( yyFallback[iFallback]==0 );
855 iLookAhead = iFallback;
861 int j = i - iLookAhead + YYWILDCARD;
862 assert( j<(
int)(
sizeof(yy_lookahead)/
sizeof(yy_lookahead[0])) );
863 if( yy_lookahead[j]==YYWILDCARD && iLookAhead>0 ){
866 fprintf(yyTraceFILE,
"%sWILDCARD %s => %s\n",
867 yyTracePrompt, yyTokenName[iLookAhead],
868 yyTokenName[YYWILDCARD]);
875 return yy_default[stateno];
877 assert( i>=0 && i<(
int)(
sizeof(yy_action)/
sizeof(yy_action[0])) );
894 return yy_default[stateno];
899 i = yy_reduce_ofst[stateno];
904 return yy_default[stateno];
908 assert( yy_lookahead[i]==iLookAhead );
916static void yyStackOverflow(
yyParser *yypParser){
921 fprintf(yyTraceFILE,
"%sStack Overflow!\n",yyTracePrompt);
924 while( yypParser->
yytos>yypParser->
yystack ) yy_pop_parser_stack(yypParser);
928#line 37 "grammar_trig.y"
930 log_error (
"Stack oveflow in TriG parsing.");
932#line 957 "../../build/grammar_trig.c"
942static void yyTraceShift(
yyParser *yypParser,
int yyNewState,
const char *zTag){
945 fprintf(yyTraceFILE,
"%s%s '%s', go to state %d\n",
946 yyTracePrompt, zTag, yyTokenName[yypParser->
yytos->
major],
949 fprintf(yyTraceFILE,
"%s%s '%s', pending reduce %d\n",
950 yyTracePrompt, zTag, yyTokenName[yypParser->
yytos->
major],
956# define yyTraceShift(X,Y,Z)
970#ifdef YYTRACKMAXSTACKDEPTH
971 if( (
int)(yypParser->
yytos - yypParser->
yystack)>yypParser->yyhwm ){
973 assert( yypParser->yyhwm == (
int)(yypParser->
yytos - yypParser->
yystack) );
979 yyStackOverflow(yypParser);
983 if( yypParser->
yytos>=&yypParser->
yystack[yypParser->yystksz] ){
984 if( yyGrowStack(yypParser) ){
986 yyStackOverflow(yypParser);
998 yyTraceShift(yypParser, yyNewState,
"Shift");
1064static const signed char yyRuleInfoNRhs[] = {
1137 unsigned int yyruleno,
1148 (void)yyLookaheadToken;
1149 yymsp = yypParser->
yytos;
1163#line 87 "grammar_trig.y"
1168#line 1193 "../../build/grammar_trig.c"
1171{ yy_destructor(yypParser,23,&yymsp[-4].minor);
1172#line 101 "grammar_trig.y"
1176#line 1201 "../../build/grammar_trig.c"
1177 yy_destructor(yypParser,1,&yymsp[-3].minor);
1178 yy_destructor(yypParser,3,&yymsp[0].minor);
1182#line 104 "grammar_trig.y"
1186#line 1211 "../../build/grammar_trig.c"
1187 yy_destructor(yypParser,3,&yymsp[0].minor);
1190{ yy_destructor(yypParser,2,&yymsp[0].minor);
1191#line 110 "grammar_trig.y"
1195#line 1220 "../../build/grammar_trig.c"
1199{ yy_destructor(yypParser,17,&yymsp[-5].minor);
1200#line 120 "grammar_trig.y"
1202 log_trace (
"Adding prefix declaration: '%s': '%s'", yymsp[-3].minor.yy0, yymsp[-1].minor.yy0);
1205 free (yymsp[-3].minor.yy0);
1206 free (yymsp[-1].minor.yy0);
1208#line 1233 "../../build/grammar_trig.c"
1209 yy_destructor(yypParser,1,&yymsp[-4].minor);
1210 yy_destructor(yypParser,1,&yymsp[-2].minor);
1211 yy_destructor(yypParser,4,&yymsp[0].minor);
1215{ yy_destructor(yypParser,24,&yymsp[-3].minor);
1216#line 128 "grammar_trig.y"
1221 free (yymsp[-1].minor.yy0);
1223#line 1248 "../../build/grammar_trig.c"
1224 yy_destructor(yypParser,1,&yymsp[-2].minor);
1225 yy_destructor(yypParser,4,&yymsp[0].minor);
1229#line 135 "grammar_trig.y"
1239#line 1264 "../../build/grammar_trig.c"
1240 yy_destructor(yypParser,4,&yymsp[0].minor);
1243#line 144 "grammar_trig.y"
1253#line 1278 "../../build/grammar_trig.c"
1254 yy_destructor(yypParser,5,&yymsp[-1].minor);
1255 yy_destructor(yypParser,4,&yymsp[0].minor);
1258#line 156 "grammar_trig.y"
1261 if (state->cur_subj) s = state->cur_subj;
1265 log_info (
"Link map subject not present. Assuming BNode.");
1272#line 1297 "../../build/grammar_trig.c"
1276#line 169 "grammar_trig.y"
1278 VOLK_link_map_add (yymsp[-4].minor.yy96, yymsp[-2].minor.yy90, yymsp[0].minor.yy18);
1281#line 1306 "../../build/grammar_trig.c"
1282 yy_destructor(yypParser,5,&yymsp[-3].minor);
1286#line 176 "grammar_trig.y"
1292#line 1317 "../../build/grammar_trig.c"
1293 yy_destructor(yypParser,6,&yymsp[-1].minor);
1297#line 181 "grammar_trig.y"
1302#line 1327 "../../build/grammar_trig.c"
1307#line 188 "grammar_trig.y"
1308{ state->cur_subj = yymsp[0].
minor.
yy90; }
1309#line 1334 "../../build/grammar_trig.c"
1312{ yy_destructor(yypParser,13,&yymsp[0].minor);
1313#line 194 "grammar_trig.y"
1315#line 1340 "../../build/grammar_trig.c"
1319#line 204 "grammar_trig.y"
1323 free (yymsp[0].minor.yy0);
1325#line 1350 "../../build/grammar_trig.c"
1329#line 209 "grammar_trig.y"
1333 free (yymsp[-1].minor.yy0);
1334 free (yymsp[0].minor.yy0);
1336#line 1361 "../../build/grammar_trig.c"
1340#line 215 "grammar_trig.y"
1344 "Created DT-literal: \"%s\"^^%s",
1346 free (yymsp[-2].minor.yy0);
1348#line 1373 "../../build/grammar_trig.c"
1349 yy_destructor(yypParser,25,&yymsp[-1].minor);
1353#line 222 "grammar_trig.y"
1356 free (yymsp[0].minor.yy0);
1358#line 1383 "../../build/grammar_trig.c"
1362#line 226 "grammar_trig.y"
1365 free (yymsp[0].minor.yy0);
1367#line 1392 "../../build/grammar_trig.c"
1371#line 230 "grammar_trig.y"
1374 free (yymsp[0].minor.yy0);
1376#line 1401 "../../build/grammar_trig.c"
1380#line 234 "grammar_trig.y"
1383 free (yymsp[0].minor.yy0);
1385#line 1410 "../../build/grammar_trig.c"
1389#line 242 "grammar_trig.y"
1393 free (yymsp[0].minor.yy0);
1395#line 1420 "../../build/grammar_trig.c"
1399{ yy_destructor(yypParser,26,&yymsp[0].minor);
1400#line 247 "grammar_trig.y"
1404 log_trace (
"Created empty list BN: _:%s", yymsp[0].minor.yy90->data);
1406#line 1431 "../../build/grammar_trig.c"
1410{ yy_destructor(yypParser,21,&yymsp[-2].minor);
1411#line 252 "grammar_trig.y"
1417 log_trace (
"Created list BN: _:%s", yymsp[-2].minor.yy90->data);
1421#line 1446 "../../build/grammar_trig.c"
1422 yy_destructor(yypParser,22,&yymsp[0].minor);
1426{ yy_destructor(yypParser,27,&yymsp[-1].minor);
1427#line 262 "grammar_trig.y"
1430 log_trace (
"Created list terminator: %s", yymsp[-1].minor.yy90->data);
1432#line 1457 "../../build/grammar_trig.c"
1433 yy_destructor(yypParser,28,&yymsp[0].minor);
1437{ yy_destructor(yypParser,27,&yymsp[-2].minor);
1438#line 271 "grammar_trig.y"
1443#line 1468 "../../build/grammar_trig.c"
1444 yy_destructor(yypParser,28,&yymsp[0].minor);
1448#line 278 "grammar_trig.y"
1454#line 1479 "../../build/grammar_trig.c"
1458#line 283 "grammar_trig.y"
1463#line 1488 "../../build/grammar_trig.c"
1467#line 290 "grammar_trig.y"
1470 free (yymsp[0].minor.yy0);
1475 yylhsminor.
yy90 = rel_iri;
1478#line 1503 "../../build/grammar_trig.c"
1482#line 300 "grammar_trig.y"
1486 free (yymsp[0].minor.yy0);
1488#line 1513 "../../build/grammar_trig.c"
1492#line 79 "grammar_trig.y"
1495#line 1520 "../../build/grammar_trig.c"
1496 yy_destructor(yypParser,20,&yymsp[0].minor);
1499{ yy_destructor(yypParser,35,&yymsp[-3].minor);
1500#line 86 "grammar_trig.y"
1503#line 1528 "../../build/grammar_trig.c"
1504 yy_destructor(yypParser,1,&yymsp[-2].minor);
1505 yy_destructor(yypParser,36,&yymsp[-1].minor);
1506 yy_destructor(yypParser,4,&yymsp[0].minor);
1510#line 95 "grammar_trig.y"
1513#line 1538 "../../build/grammar_trig.c"
1514 yy_destructor(yypParser,36,&yymsp[-1].minor);
1515 yy_destructor(yypParser,4,&yymsp[0].minor);
1518#line 96 "grammar_trig.y"
1521#line 1546 "../../build/grammar_trig.c"
1522 yy_destructor(yypParser,4,&yymsp[0].minor);
1525{ yy_destructor(yypParser,42,&yymsp[-3].minor);
1526#line 97 "grammar_trig.y"
1529#line 1554 "../../build/grammar_trig.c"
1530 yy_destructor(yypParser,36,&yymsp[-1].minor);
1531 yy_destructor(yypParser,4,&yymsp[0].minor);
1535{ yy_destructor(yypParser,21,&yymsp[-4].minor);
1536#line 99 "grammar_trig.y"
1539#line 1564 "../../build/grammar_trig.c"
1540 yy_destructor(yypParser,36,&yymsp[-2].minor);
1541 yy_destructor(yypParser,22,&yymsp[0].minor);
1545{ yy_destructor(yypParser,23,&yymsp[-2].minor);
1546#line 107 "grammar_trig.y"
1549#line 1574 "../../build/grammar_trig.c"
1550 yy_destructor(yypParser,3,&yymsp[0].minor);
1554{ yy_destructor(yypParser,3,&yymsp[0].minor);
1555#line 108 "grammar_trig.y"
1558#line 1583 "../../build/grammar_trig.c"
1563{ yy_destructor(yypParser,49,&yymsp[0].minor);
1564#line 193 "grammar_trig.y"
1567#line 1592 "../../build/grammar_trig.c"
1571{ yy_destructor(yypParser,50,&yymsp[0].minor);
1572#line 199 "grammar_trig.y"
1575#line 1600 "../../build/grammar_trig.c"
1579{ yy_destructor(yypParser,51,&yymsp[0].minor);
1580#line 200 "grammar_trig.y"
1583#line 1608 "../../build/grammar_trig.c"
1587{ yy_destructor(yypParser,42,&yymsp[0].minor);
1588#line 261 "grammar_trig.y"
1591#line 1616 "../../build/grammar_trig.c"
1595{ yy_destructor(yypParser,1,&yymsp[0].minor);
1596#line 306 "grammar_trig.y"
1599#line 1624 "../../build/grammar_trig.c"
1606 assert(yyruleno!=35);
1609 assert(yyruleno!=45);
1611 assert(yyruleno!=47);
1612 assert(yyruleno!=48);
1617 assert( yyruleno<
sizeof(yyRuleInfoLhs)/
sizeof(yyRuleInfoLhs[0]) );
1618 yygoto = yyRuleInfoLhs[yyruleno];
1619 yysize = yyRuleInfoNRhs[yyruleno];
1620 yyact = yy_find_reduce_action(yymsp[yysize].stateno,(
YYCODETYPE)yygoto);
1630 yypParser->
yytos = yymsp;
1633 yyTraceShift(yypParser, yyact,
"... then shift");
1640#ifndef YYNOERRORRECOVERY
1641static void yy_parse_failed(
1648 fprintf(yyTraceFILE,
"%sFail!\n",yyTracePrompt);
1651 while( yypParser->
yytos>yypParser->
yystack ) yy_pop_parser_stack(yypParser);
1655#line 42 "grammar_trig.y"
1657 log_error (
"TriG parse error. Cannot continue.");
1659#line 1684 "../../build/grammar_trig.c"
1669static void yy_syntax_error(
1676#define TOKEN yyminor
1678#line 47 "grammar_trig.y"
1681 yy_parse_failed (yypParser);
1682#line 1707 "../../build/grammar_trig.c"
1691static void yy_accept(
1698 fprintf(yyTraceFILE,
"%sAccept!\n",yyTracePrompt);
1701#ifndef YYNOERRORRECOVERY
1740#if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY)
1750 assert( yypParser->
yytos!=0 );
1751#if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY)
1752 yyendofinput = (yymajor==0);
1759 fprintf(yyTraceFILE,
"%sInput '%s' in state %d\n",
1760 yyTracePrompt,yyTokenName[yymajor],yyact);
1762 fprintf(yyTraceFILE,
"%sInput '%s' with pending reduce %d\n",
1771 yyact = yy_find_shift_action((
YYCODETYPE)yymajor,yyact);
1775 assert( yyruleno<(
int)(
sizeof(yyRuleName)/
sizeof(yyRuleName[0])) );
1777 int yysize = yyRuleInfoNRhs[yyruleno];
1779 fprintf(yyTraceFILE,
"%sReduce %d [%s]%s, pop back to state %d.\n",
1781 yyruleno, yyRuleName[yyruleno],
1785 fprintf(yyTraceFILE,
"%sReduce %d [%s]%s.\n",
1786 yyTracePrompt, yyruleno, yyRuleName[yyruleno],
1795 if( yyRuleInfoNRhs[yyruleno]==0 ){
1796#ifdef YYTRACKMAXSTACKDEPTH
1797 if( (
int)(yypParser->
yytos - yypParser->
yystack)>yypParser->yyhwm ){
1799 assert( yypParser->yyhwm ==
1805 yyStackOverflow(yypParser);
1809 if( yypParser->
yytos>=&yypParser->
yystack[yypParser->yystksz-1] ){
1810 if( yyGrowStack(yypParser) ){
1811 yyStackOverflow(yypParser);
1819 yy_shift(yypParser,yyact,(
YYCODETYPE)yymajor,yyminor);
1820#ifndef YYNOERRORRECOVERY
1826 yy_accept(yypParser);
1830 yyminorunion.
yy0 = yyminor;
1836 fprintf(yyTraceFILE,
"%sSyntax Error!\n",yyTracePrompt);
1860 yy_syntax_error(yypParser,yymajor,yyminor);
1863 if( yymx==YYERRORSYMBOL || yyerrorhit ){
1866 fprintf(yyTraceFILE,
"%sDiscard input token %s\n",
1867 yyTracePrompt,yyTokenName[yymajor]);
1870 yy_destructor(yypParser, (
YYCODETYPE)yymajor, &yyminorunion);
1874 yyact = yy_find_reduce_action(yypParser->
yytos->
stateno,
1877 yy_pop_parser_stack(yypParser);
1879 if( yypParser->
yytos <= yypParser->
yystack || yymajor==0 ){
1880 yy_destructor(yypParser,(
YYCODETYPE)yymajor,&yyminorunion);
1881 yy_parse_failed(yypParser);
1882#ifndef YYNOERRORRECOVERY
1886 }
else if( yymx!=YYERRORSYMBOL ){
1887 yy_shift(yypParser,yyact,YYERRORSYMBOL,yyminor);
1894#elif defined(YYNOERRORRECOVERY)
1902 yy_syntax_error(yypParser,yymajor, yyminor);
1903 yy_destructor(yypParser,(
YYCODETYPE)yymajor,&yyminorunion);
1916 yy_syntax_error(yypParser,yymajor, yyminor);
1919 yy_destructor(yypParser,(
YYCODETYPE)yymajor,&yyminorunion);
1921 yy_parse_failed(yypParser);
1922#ifndef YYNOERRORRECOVERY
1934 fprintf(yyTraceFILE,
"%sReturn. Stack=",yyTracePrompt);
1935 for(i=&yypParser->
yystack[1]; i<=yypParser->
yytos; i++){
1936 fprintf(yyTraceFILE,
"%c%s", cDiv, yyTokenName[i->
major]);
1939 fprintf(yyTraceFILE,
"]\n");
1951 assert( iToken<(
int)(
sizeof(yyFallback)/
sizeof(yyFallback[0])) );
1952 return yyFallback[iToken];
#define YY_MIN_SHIFTREDUCE
#define YY_MAX_SHIFTREDUCE
#define YYNRULE_WITH_ACTION
int TrigParseFallback(int iToken)
void TrigParseFinalize(void *p)
#define TrigParseCTX_FETCH
#define TrigParseARG_STORE
#define TrigParseTOKENTYPE
#define TrigParseCTX_PARAM
#define TrigParseARG_SDECL
#define TrigParseCTX_STORE
void TrigParseInit(void *yypRawParser TrigParseCTX_PDECL)
#define TrigParseCTX_PDECL
#define TrigParseARG_FETCH
#define TrigParseCTX_SDECL
VOLK_rc reset_graph(VOLK_TrigParserState *state, const char *new_uri)
Lemon parser grammar for Turtle.
#define TrigParseARG_PDECL
void TrigParseTrace(FILE *TraceFILE, char *zTracePrompt)
const VOLK_Graph * VOLK_graph_iter_graph(VOLK_GraphIterator *it)
Return the graph related to an iterator.
size_t VOLK_graph_add_link_map(VOLK_GraphIterator *it, VOLK_LinkMap *lm)
Add triples for a term and related link map to a graph.
void VOLK_graph_free(VOLK_Graph *gr)
Free a graph.
VOLK_GraphIterator * VOLK_graph_add_init_txn(void *txn, VOLK_Graph *gr)
Initialize an iterator to add triples.
VOLK_Term * VOLK_bnode_add_collection(VOLK_GraphIterator *it, VOLK_TermSet *ts)
Add triples for an anonymous collection to a graph.
void VOLK_graph_iter_free(VOLK_GraphIterator *it)
Free a graph iterator.
VOLK_Graph * VOLK_graph_new(VOLK_Store *store, const char *uri_str)
Create new graph.
const VOLK_Term * VOLK_graph_uri(const VOLK_Graph *gr)
Read-only graph URI.
VOLK_rc VOLK_nsmap_add(const char *pfx, const char *nsstr)
Add a prefix -> namespace pair to the map or update it.
#define NLRCCK(exp, _rc)
Return rc return code if exp is NULL.
#define VOLK_MEM_ERR
Memory allocation error.
#define VOLK_OK
Generic success return code.
#define VOLK_NOACTION
No action taken.
#define VOLK_PARSE_ERR
Codec parser error.
VOLK_Term * VOLK_lt_literal_new(const char *data, char *lang)
Shortcut to create a language-tagged literal term.
VOLK_rc VOLK_term_set_add(VOLK_TermSet *ts, VOLK_Term *term, VOLK_Term **existing)
Add term to a term set.
struct hashmap VOLK_TermSet
a set of unique terms.
VOLK_Term * VOLK_iriref_new(const char *data)
Create an IRI reference.
VOLK_Term * VOLK_iriref_new_abs(const VOLK_Term *root, const VOLK_Term *iri)
Create a new absolute IRI from a path relative to a root IRI.
VOLK_Term * VOLK_literal_new(const char *data, VOLK_Term *datatype)
Shortcut to create a literal term.
VOLK_LinkMap * VOLK_link_map_new(const VOLK_Term *linked_term, VOLK_LinkType type)
New link map.
VOLK_Term * VOLK_bnode_new(const char *data)
Shortcut to create a blank node.
VOLK_TermSet * VOLK_term_set_new()
Create a new term set.
void VOLK_term_set_free(VOLK_TermSet *ts)
Free a term set.
void VOLK_link_map_free(VOLK_LinkMap *lm)
Free a link map.
VOLK_Term * VOLK_iriref_new_ns(const char *data)
Create an IRI reference from a namespace-prefixed string.
void VOLK_term_free(VOLK_Term *term)
VOLK_Term * VOLK_default_ctx
Default context.
VOLK_rc VOLK_link_map_add(VOLK_LinkMap *lmap, VOLK_Term *term, VOLK_TermSet *tset)
Add a term - term set pair to a link map.
@ VOLK_LINK_OUTBOUND
Outbound link (po).
char * data
URI, literal value, or BNode label.
struct term_t * datatype
Data type IRI for VOLK_TERM_LITERAL.
VOLK_LangTag lang
Lang tag for VOLK_TERM_LT_LITERAL.
VOLK_Store * store
Store to write to.
NTParseARG_SDECL NTParseCTX_SDECL yyStackEntry yystack[YYSTACKDEPTH]
yyStackEntry * yystackEnd