12#line 38 "../../build/grammar_nq.c"
82#define YYCODETYPE unsigned char
84#define YYACTIONTYPE unsigned char
85#define NQParseTOKENTYPE VOLK_Term *
94#define YYSTACKDEPTH 100
96#define NQParseARG_SDECL NQParserState *state ;
97#define NQParseARG_PDECL , NQParserState *state
98#define NQParseARG_PARAM ,state
99#define NQParseARG_FETCH NQParserState *state =yypParser->state ;
100#define NQParseARG_STORE yypParser->state =state ;
101#define NQParseCTX_SDECL
102#define NQParseCTX_PDECL
103#define NQParseCTX_PARAM
104#define NQParseCTX_FETCH
105#define NQParseCTX_STORE
108#define YYNRULE_WITH_ACTION 3
110#define YY_MAX_SHIFT 15
111#define YY_MIN_SHIFTREDUCE 30
112#define YY_MAX_SHIFTREDUCE 48
113#define YY_ERROR_ACTION 49
114#define YY_ACCEPT_ACTION 50
115#define YY_NO_ACTION 51
116#define YY_MIN_REDUCE 52
117#define YY_MAX_REDUCE 70
119#define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0])))
130# define yytestcase(X)
184#define YY_ACTTAB_COUNT (36)
186 50, 1, 12, 5, 9, 4, 10, 9, 4, 40,
187 41, 42, 30, 43, 44, 45, 48, 15, 37, 38,
188 54, 13, 11, 48, 45, 39, 8, 48, 31, 6,
192 8, 9, 10, 11, 12, 13, 11, 12, 13, 3,
193 4, 5, 2, 3, 4, 6, 7, 1, 3, 4,
194 17, 14, 10, 7, 6, 3, 15, 7, 2, 16,
195 13, 6, 13, 10, 13, 0, 18, 18, 18, 18,
198#define YY_SHIFT_COUNT (15)
199#define YY_SHIFT_MIN (0)
200#define YY_SHIFT_MAX (35)
201static const unsigned char yy_shift_ofst[] = {
202 9, 16, 6, 10, 15, 18, 20, 22, 20, 20,
203 18, 25, 25, 26, 25, 35,
205#define YY_REDUCE_COUNT (10)
206#define YY_REDUCE_MIN (-8)
207#define YY_REDUCE_MAX (23)
208static const signed char yy_reduce_ofst[] = {
209 -8, -5, 3, 7, 11, 12, 17, 13, 19, 21,
213 69, 69, 49, 49, 49, 49, 69, 49, 69, 69,
214 49, 57, 56, 49, 58, 49,
266#ifdef YYTRACKMAXSTACKDEPTH
269#ifndef YYNOERRORRECOVERY
288static FILE *yyTraceFILE = 0;
289static char *yyTracePrompt = 0;
311 yyTraceFILE = TraceFILE;
312 yyTracePrompt = zTracePrompt;
313 if( yyTraceFILE==0 ) yyTracePrompt = 0;
314 else if( yyTracePrompt==0 ) yyTraceFILE = 0;
318#if defined(YYCOVERAGE) || !defined(NDEBUG)
321static const char *
const yyTokenName[] = {
346static const char *
const yyRuleName[] = {
347 "statement ::= triple ws DOT",
348 "statement ::= triple ws graphLabel DOT",
349 "triple ::= ws subject ws predicate ws object",
350 "nquadsDoc ::= statements EOF",
351 "statements ::= eol",
352 "statements ::= statement eol",
353 "statements ::= statements statement eol",
354 "subject ::= IRIREF",
356 "predicate ::= IRIREF",
359 "object ::= LITERAL",
360 "graphLabel ::= IRIREF",
361 "graphLabel ::= BNODE",
380 newSize = p->yystksz*2 + 100;
383 pNew = malloc(newSize*
sizeof(pNew[0]));
384 if( pNew ) pNew[0] = p->yystk0;
386 pNew = realloc(p->
yystack, newSize*
sizeof(pNew[0]));
393 fprintf(yyTraceFILE,
"%sStack grows from %d to %d entries.\n",
394 yyTracePrompt, p->yystksz, newSize);
397 p->yystksz = newSize;
408#ifndef YYMALLOCARGTYPE
409# define YYMALLOCARGTYPE size_t
417#ifdef YYTRACKMAXSTACKDEPTH
418 yypParser->yyhwm = 0;
421 yypParser->
yytos = NULL;
423 yypParser->yystksz = 0;
424 if( yyGrowStack(yypParser) ){
425 yypParser->
yystack = &yypParser->yystk0;
426 yypParser->yystksz = 1;
429#ifndef YYNOERRORRECOVERY
440#ifndef NQParse_ENGINEALWAYSONSTACK
460 return (
void*)yypParser;
472static void yy_destructor(
493#line 54 "grammar_nq.y"
495#line 520 "../../build/grammar_nq.c"
503#line 75 "grammar_nq.y"
505#line 530 "../../build/grammar_nq.c"
519static void yy_pop_parser_stack(
yyParser *pParser){
521 assert( pParser->
yytos!=0 );
526 fprintf(yyTraceFILE,
"%sPopping %s\n",
539 while( pParser->
yytos>pParser->
yystack ) yy_pop_parser_stack(pParser);
545#ifndef NQParse_ENGINEALWAYSONSTACK
556 void (*freeProc)(
void*)
558#ifndef YYPARSEFREENEVERNULL
569#ifdef YYTRACKMAXSTACKDEPTH
570int NQParseStackPeak(
void *p){
572 return pParser->yyhwm;
581#if defined(YYCOVERAGE)
593#if defined(YYCOVERAGE)
594int NQParseCoverage(FILE *out){
595 int stateno, iLookAhead, i;
597 for(stateno=0; stateno<
YYNSTATE; stateno++){
598 i = yy_shift_ofst[stateno];
599 for(iLookAhead=0; iLookAhead<
YYNTOKEN; iLookAhead++){
600 if( yy_lookahead[i+iLookAhead]!=iLookAhead )
continue;
601 if( yycoverage[stateno][iLookAhead]==0 ) nMissed++;
603 fprintf(out,
"State %d lookahead %s %s\n", stateno,
604 yyTokenName[iLookAhead],
605 yycoverage[stateno][iLookAhead] ?
"ok" :
"missed");
625#if defined(YYCOVERAGE)
626 yycoverage[stateno][iLookAhead] = 1;
629 i = yy_shift_ofst[stateno];
637 if( yy_lookahead[i]!=iLookAhead ){
640 assert( iLookAhead<
sizeof(yyFallback)/
sizeof(yyFallback[0]) );
641 iFallback = yyFallback[iLookAhead];
645 fprintf(yyTraceFILE,
"%sFALLBACK %s => %s\n",
646 yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[iFallback]);
649 assert( yyFallback[iFallback]==0 );
650 iLookAhead = iFallback;
656 int j = i - iLookAhead + YYWILDCARD;
657 assert( j<(
int)(
sizeof(yy_lookahead)/
sizeof(yy_lookahead[0])) );
658 if( yy_lookahead[j]==YYWILDCARD && iLookAhead>0 ){
661 fprintf(yyTraceFILE,
"%sWILDCARD %s => %s\n",
662 yyTracePrompt, yyTokenName[iLookAhead],
663 yyTokenName[YYWILDCARD]);
670 return yy_default[stateno];
672 assert( i>=0 && i<(
int)(
sizeof(yy_action)/
sizeof(yy_action[0])) );
689 return yy_default[stateno];
694 i = yy_reduce_ofst[stateno];
699 return yy_default[stateno];
703 assert( yy_lookahead[i]==iLookAhead );
711static void yyStackOverflow(
yyParser *yypParser){
716 fprintf(yyTraceFILE,
"%sStack Overflow!\n",yyTracePrompt);
719 while( yypParser->
yytos>yypParser->
yystack ) yy_pop_parser_stack(yypParser);
732static void yyTraceShift(
yyParser *yypParser,
int yyNewState,
const char *zTag){
735 fprintf(yyTraceFILE,
"%s%s '%s', go to state %d\n",
736 yyTracePrompt, zTag, yyTokenName[yypParser->
yytos->
major],
739 fprintf(yyTraceFILE,
"%s%s '%s', pending reduce %d\n",
740 yyTracePrompt, zTag, yyTokenName[yypParser->
yytos->
major],
746# define yyTraceShift(X,Y,Z)
760#ifdef YYTRACKMAXSTACKDEPTH
761 if( (
int)(yypParser->
yytos - yypParser->
yystack)>yypParser->yyhwm ){
763 assert( yypParser->yyhwm == (
int)(yypParser->
yytos - yypParser->
yystack) );
769 yyStackOverflow(yypParser);
773 if( yypParser->
yytos>=&yypParser->
yystack[yypParser->yystksz] ){
774 if( yyGrowStack(yypParser) ){
776 yyStackOverflow(yypParser);
788 yyTraceShift(yypParser, yyNewState,
"Shift");
817static const signed char yyRuleInfoNRhs[] = {
853 unsigned int yyruleno,
864 (void)yyLookaheadToken;
865 yymsp = yypParser->
yytos;
878#line 31 "grammar_nq.y"
883 VOLK_Triple **trp = calloc (2,
sizeof *yymsp[-2].minor.yy22);
890#line 915 "../../build/grammar_nq.c"
893#line 42 "grammar_nq.y"
897 VOLK_Triple **trp = calloc (2,
sizeof *yymsp[-3].minor.yy22);
904#line 929 "../../build/grammar_nq.c"
907#line 55 "grammar_nq.y"
911#line 936 "../../build/grammar_nq.c"
933 assert( yyruleno<
sizeof(yyRuleInfoLhs)/
sizeof(yyRuleInfoLhs[0]) );
934 yygoto = yyRuleInfoLhs[yyruleno];
935 yysize = yyRuleInfoNRhs[yyruleno];
936 yyact = yy_find_reduce_action(yymsp[yysize].stateno,(
YYCODETYPE)yygoto);
946 yypParser->
yytos = yymsp;
949 yyTraceShift(yypParser, yyact,
"... then shift");
956#ifndef YYNOERRORRECOVERY
957static void yy_parse_failed(
964 fprintf(yyTraceFILE,
"%sFail!\n",yyTracePrompt);
967 while( yypParser->
yytos>yypParser->
yystack ) yy_pop_parser_stack(yypParser);
980static void yy_syntax_error(
997static void yy_accept(
1004 fprintf(yyTraceFILE,
"%sAccept!\n",yyTracePrompt);
1007#ifndef YYNOERRORRECOVERY
1046#if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY)
1056 assert( yypParser->
yytos!=0 );
1057#if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY)
1058 yyendofinput = (yymajor==0);
1065 fprintf(yyTraceFILE,
"%sInput '%s' in state %d\n",
1066 yyTracePrompt,yyTokenName[yymajor],yyact);
1068 fprintf(yyTraceFILE,
"%sInput '%s' with pending reduce %d\n",
1077 yyact = yy_find_shift_action((
YYCODETYPE)yymajor,yyact);
1081 assert( yyruleno<(
int)(
sizeof(yyRuleName)/
sizeof(yyRuleName[0])) );
1083 int yysize = yyRuleInfoNRhs[yyruleno];
1085 fprintf(yyTraceFILE,
"%sReduce %d [%s]%s, pop back to state %d.\n",
1087 yyruleno, yyRuleName[yyruleno],
1091 fprintf(yyTraceFILE,
"%sReduce %d [%s]%s.\n",
1092 yyTracePrompt, yyruleno, yyRuleName[yyruleno],
1101 if( yyRuleInfoNRhs[yyruleno]==0 ){
1102#ifdef YYTRACKMAXSTACKDEPTH
1103 if( (
int)(yypParser->
yytos - yypParser->
yystack)>yypParser->yyhwm ){
1105 assert( yypParser->yyhwm ==
1111 yyStackOverflow(yypParser);
1115 if( yypParser->
yytos>=&yypParser->
yystack[yypParser->yystksz-1] ){
1116 if( yyGrowStack(yypParser) ){
1117 yyStackOverflow(yypParser);
1125 yy_shift(yypParser,yyact,(
YYCODETYPE)yymajor,yyminor);
1126#ifndef YYNOERRORRECOVERY
1132 yy_accept(yypParser);
1136 yyminorunion.
yy0 = yyminor;
1142 fprintf(yyTraceFILE,
"%sSyntax Error!\n",yyTracePrompt);
1166 yy_syntax_error(yypParser,yymajor,yyminor);
1169 if( yymx==YYERRORSYMBOL || yyerrorhit ){
1172 fprintf(yyTraceFILE,
"%sDiscard input token %s\n",
1173 yyTracePrompt,yyTokenName[yymajor]);
1176 yy_destructor(yypParser, (
YYCODETYPE)yymajor, &yyminorunion);
1180 yyact = yy_find_reduce_action(yypParser->
yytos->
stateno,
1183 yy_pop_parser_stack(yypParser);
1185 if( yypParser->
yytos <= yypParser->
yystack || yymajor==0 ){
1186 yy_destructor(yypParser,(
YYCODETYPE)yymajor,&yyminorunion);
1187 yy_parse_failed(yypParser);
1188#ifndef YYNOERRORRECOVERY
1192 }
else if( yymx!=YYERRORSYMBOL ){
1193 yy_shift(yypParser,yyact,YYERRORSYMBOL,yyminor);
1200#elif defined(YYNOERRORRECOVERY)
1208 yy_syntax_error(yypParser,yymajor, yyminor);
1209 yy_destructor(yypParser,(
YYCODETYPE)yymajor,&yyminorunion);
1222 yy_syntax_error(yypParser,yymajor, yyminor);
1225 yy_destructor(yypParser,(
YYCODETYPE)yymajor,&yyminorunion);
1227 yy_parse_failed(yypParser);
1228#ifndef YYNOERRORRECOVERY
1240 fprintf(yyTraceFILE,
"%sReturn. Stack=",yyTracePrompt);
1241 for(i=&yypParser->
yystack[1]; i<=yypParser->
yytos; i++){
1242 fprintf(yyTraceFILE,
"%c%s", cDiv, yyTokenName[i->
major]);
1245 fprintf(yyTraceFILE,
"]\n");
1257 assert( iToken<(
int)(
sizeof(yyFallback)/
sizeof(yyFallback[0])) );
1258 return yyFallback[iToken];
void NQParseInit(void *yypRawParser)
int NQParseFallback(int iToken)
void NQParseTrace(FILE *TraceFILE, char *zTracePrompt)
#define YY_MIN_SHIFTREDUCE
void NQParseFinalize(void *p)
#define YY_MAX_SHIFTREDUCE
#define YYNRULE_WITH_ACTION
VOLK_rc VOLK_dataset_add(VOLK_Dataset *ds, const VOLK_Graph *gr)
Add graphs to the dataset.
VOLK_Triple * VOLK_triple_new(VOLK_Term *s, VOLK_Term *p, VOLK_Term *o)
Create a new triple from three terms.
void VOLK_term_free(VOLK_Term *term)
VOLK_Term * VOLK_default_ctx
Default context.
void VOLK_triple_free(VOLK_Triple *spo)
Free a triple and all its internal pointers.
void VOLK_graph_free(VOLK_Graph *gr)
Free a graph.
VOLK_rc VOLK_graph_add_txn(void *txn, VOLK_Graph *gr, VOLK_Triple *const *trp, size_t *ct)
Add triples to a graph.
VOLK_Graph * VOLK_graph_new(VOLK_Store *store, const char *uri_str)
Create new graph.
VOLK_Dataset * ds
Dataset to write to.
void * data
Opaque back end data.
yyStackEntry * yystackEnd
yyStackEntry yystack[100]