Volksdata 1.0b7
RDF library
Loading...
Searching...
No Matches
grammar_trig.c File Reference
#include "volksdata/codec/parser_trig.h"
#include <assert.h>
#include <stdio.h>
Include dependency graph for grammar_trig.c:

Go to the source code of this file.

Data Structures

union  YYMINORTYPE
struct  yyParser
struct  yyStackEntry

Macros

#define INTERFACE   1
#define T_ANON   26
#define T_BASE   24
#define T_BNODE_ID   12
#define T_BOOLEAN   11
#define T_COLON   19
#define T_COMMA   6
#define T_DECIMAL   10
#define T_DOUBLE   9
#define T_DTYPE_MARKER   25
#define T_EOF   20
#define T_GRAPH   23
#define T_INTEGER   8
#define T_IRIREF   15
#define T_LANGTAG   16
#define T_LBRACE   3
#define T_LBRACKET   21
#define T_LPAREN   27
#define T_NSIRI   14
#define T_PERIOD   4
#define T_PFX_DECL   18
#define T_PFX_KW   17
#define T_RBRACE   2
#define T_RBRACKET   22
#define T_RDF_TYPE   13
#define T_RPAREN   28
#define T_SEMICOLON   5
#define T_STRING   7
#define T_WS   1
#define TOKEN   yyminor
#define TrigParseARG_FETCH   VOLK_TrigParserState *state =yypParser->state ;
#define TrigParseARG_PARAM   ,state
#define TrigParseARG_PDECL   , VOLK_TrigParserState *state
#define TrigParseARG_SDECL   VOLK_TrigParserState *state ;
#define TrigParseARG_STORE   yypParser->state =state ;
#define TrigParseCTX_FETCH
#define TrigParseCTX_PARAM
#define TrigParseCTX_PDECL
#define TrigParseCTX_SDECL
#define TrigParseCTX_STORE
#define TrigParseTOKENTYPE   char *
#define YY_ACCEPT_ACTION   161
#define YY_ACTTAB_COUNT   (197)
#define YY_ERROR_ACTION   160
#define YY_MAX_REDUCE   218
#define YY_MAX_SHIFT   53
#define YY_MAX_SHIFTREDUCE   159
#define YY_MIN_REDUCE   163
#define YY_MIN_SHIFTREDUCE   104
#define YY_NLOOKAHEAD   ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0])))
#define YY_NO_ACTION   162
#define YY_REDUCE_COUNT   (32)
#define YY_REDUCE_MAX   (148)
#define YY_REDUCE_MIN   (-32)
#define YY_SHIFT_COUNT   (53)
#define YY_SHIFT_MAX   (193)
#define YY_SHIFT_MIN   (0)
#define YYACTIONTYPE   unsigned char
#define YYCODETYPE   unsigned char
#define YYMALLOCARGTYPE   size_t
#define YYNOCODE   53
#define YYNRULE   56
#define YYNRULE_WITH_ACTION   31
#define YYNSTATE   54
#define YYNTOKEN   29
#define YYSTACKDEPTH   100
#define yytestcase(X)

Functions

VOLK_rc reset_graph (VOLK_TrigParserState *state, const char *new_uri)
 Lemon parser grammar for Turtle.
void TrigParse (void *yyp, int yymajor, TrigParseTOKENTYPE yyminor TrigParseARG_PDECL)
void * TrigParseAlloc (void *(*mallocProc)(YYMALLOCARGTYPE) TrigParseCTX_PDECL)
int TrigParseFallback (int iToken)
void TrigParseFinalize (void *p)
void TrigParseFree (void *p, void(*freeProc)(void *))
void TrigParseInit (void *yypRawParser TrigParseCTX_PDECL)
void TrigParseTrace (FILE *TraceFILE, char *zTracePrompt)

Macro Definition Documentation

◆ INTERFACE

#define INTERFACE   1

Definition at line 121 of file grammar_trig.c.

◆ T_ANON

#define T_ANON   26

Definition at line 63 of file grammar_trig.c.

◆ T_BASE

#define T_BASE   24

Definition at line 61 of file grammar_trig.c.

◆ T_BNODE_ID

#define T_BNODE_ID   12

Definition at line 49 of file grammar_trig.c.

◆ T_BOOLEAN

#define T_BOOLEAN   11

Definition at line 48 of file grammar_trig.c.

◆ T_COLON

#define T_COLON   19

Definition at line 56 of file grammar_trig.c.

◆ T_COMMA

#define T_COMMA   6

Definition at line 43 of file grammar_trig.c.

◆ T_DECIMAL

#define T_DECIMAL   10

Definition at line 47 of file grammar_trig.c.

◆ T_DOUBLE

#define T_DOUBLE   9

Definition at line 46 of file grammar_trig.c.

◆ T_DTYPE_MARKER

#define T_DTYPE_MARKER   25

Definition at line 62 of file grammar_trig.c.

◆ T_EOF

#define T_EOF   20

Definition at line 57 of file grammar_trig.c.

◆ T_GRAPH

#define T_GRAPH   23

Definition at line 60 of file grammar_trig.c.

◆ T_INTEGER

#define T_INTEGER   8

Definition at line 45 of file grammar_trig.c.

◆ T_IRIREF

#define T_IRIREF   15

Definition at line 52 of file grammar_trig.c.

◆ T_LANGTAG

#define T_LANGTAG   16

Definition at line 53 of file grammar_trig.c.

◆ T_LBRACE

#define T_LBRACE   3

Definition at line 40 of file grammar_trig.c.

◆ T_LBRACKET

#define T_LBRACKET   21

Definition at line 58 of file grammar_trig.c.

◆ T_LPAREN

#define T_LPAREN   27

Definition at line 64 of file grammar_trig.c.

◆ T_NSIRI

#define T_NSIRI   14

Definition at line 51 of file grammar_trig.c.

◆ T_PERIOD

#define T_PERIOD   4

Definition at line 41 of file grammar_trig.c.

◆ T_PFX_DECL

#define T_PFX_DECL   18

Definition at line 55 of file grammar_trig.c.

◆ T_PFX_KW

#define T_PFX_KW   17

Definition at line 54 of file grammar_trig.c.

◆ T_RBRACE

#define T_RBRACE   2

Definition at line 39 of file grammar_trig.c.

◆ T_RBRACKET

#define T_RBRACKET   22

Definition at line 59 of file grammar_trig.c.

◆ T_RDF_TYPE

#define T_RDF_TYPE   13

Definition at line 50 of file grammar_trig.c.

◆ T_RPAREN

#define T_RPAREN   28

Definition at line 65 of file grammar_trig.c.

◆ T_SEMICOLON

#define T_SEMICOLON   5

Definition at line 42 of file grammar_trig.c.

◆ T_STRING

#define T_STRING   7

Definition at line 44 of file grammar_trig.c.

◆ T_WS

#define T_WS   1

Definition at line 38 of file grammar_trig.c.

◆ TOKEN

#define TOKEN   yyminor

◆ TrigParseARG_FETCH

#define TrigParseARG_FETCH   VOLK_TrigParserState *state =yypParser->state ;

Definition at line 142 of file grammar_trig.c.

◆ TrigParseARG_PARAM

#define TrigParseARG_PARAM   ,state

Definition at line 141 of file grammar_trig.c.

◆ TrigParseARG_PDECL

#define TrigParseARG_PDECL   , VOLK_TrigParserState *state

Definition at line 140 of file grammar_trig.c.

◆ TrigParseARG_SDECL

#define TrigParseARG_SDECL   VOLK_TrigParserState *state ;

Definition at line 139 of file grammar_trig.c.

◆ TrigParseARG_STORE

#define TrigParseARG_STORE   yypParser->state =state ;

Definition at line 143 of file grammar_trig.c.

◆ TrigParseCTX_FETCH

#define TrigParseCTX_FETCH

Definition at line 147 of file grammar_trig.c.

◆ TrigParseCTX_PARAM

#define TrigParseCTX_PARAM

Definition at line 146 of file grammar_trig.c.

◆ TrigParseCTX_PDECL

#define TrigParseCTX_PDECL

Definition at line 145 of file grammar_trig.c.

◆ TrigParseCTX_SDECL

#define TrigParseCTX_SDECL

Definition at line 144 of file grammar_trig.c.

◆ TrigParseCTX_STORE

#define TrigParseCTX_STORE

Definition at line 148 of file grammar_trig.c.

◆ TrigParseTOKENTYPE

#define TrigParseTOKENTYPE   char *

Definition at line 127 of file grammar_trig.c.

◆ YY_ACCEPT_ACTION

#define YY_ACCEPT_ACTION   161

Definition at line 157 of file grammar_trig.c.

◆ YY_ACTTAB_COUNT

#define YY_ACTTAB_COUNT   (197)

Definition at line 227 of file grammar_trig.c.

◆ YY_ERROR_ACTION

#define YY_ERROR_ACTION   160

Definition at line 156 of file grammar_trig.c.

◆ YY_MAX_REDUCE

#define YY_MAX_REDUCE   218

Definition at line 160 of file grammar_trig.c.

◆ YY_MAX_SHIFT

#define YY_MAX_SHIFT   53

Definition at line 153 of file grammar_trig.c.

◆ YY_MAX_SHIFTREDUCE

#define YY_MAX_SHIFTREDUCE   159

Definition at line 155 of file grammar_trig.c.

◆ YY_MIN_REDUCE

#define YY_MIN_REDUCE   163

Definition at line 159 of file grammar_trig.c.

◆ YY_MIN_SHIFTREDUCE

#define YY_MIN_SHIFTREDUCE   104

Definition at line 154 of file grammar_trig.c.

◆ YY_NLOOKAHEAD

#define YY_NLOOKAHEAD   ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0])))

Definition at line 162 of file grammar_trig.c.

◆ YY_NO_ACTION

#define YY_NO_ACTION   162

Definition at line 158 of file grammar_trig.c.

◆ YY_REDUCE_COUNT

#define YY_REDUCE_COUNT   (32)

Definition at line 286 of file grammar_trig.c.

◆ YY_REDUCE_MAX

#define YY_REDUCE_MAX   (148)

Definition at line 288 of file grammar_trig.c.

◆ YY_REDUCE_MIN

#define YY_REDUCE_MIN   (-32)

Definition at line 287 of file grammar_trig.c.

◆ YY_SHIFT_COUNT

#define YY_SHIFT_COUNT   (53)

Definition at line 275 of file grammar_trig.c.

◆ YY_SHIFT_MAX

#define YY_SHIFT_MAX   (193)

Definition at line 277 of file grammar_trig.c.

◆ YY_SHIFT_MIN

#define YY_SHIFT_MIN   (0)

Definition at line 276 of file grammar_trig.c.

◆ YYACTIONTYPE

#define YYACTIONTYPE   unsigned char

Definition at line 126 of file grammar_trig.c.

◆ YYCODETYPE

#define YYCODETYPE   unsigned char

Definition at line 124 of file grammar_trig.c.

◆ YYMALLOCARGTYPE

#define YYMALLOCARGTYPE   size_t

Definition at line 568 of file grammar_trig.c.

◆ YYNOCODE

#define YYNOCODE   53

Definition at line 125 of file grammar_trig.c.

◆ YYNRULE

#define YYNRULE   56

Definition at line 150 of file grammar_trig.c.

◆ YYNRULE_WITH_ACTION

#define YYNRULE_WITH_ACTION   31

Definition at line 151 of file grammar_trig.c.

◆ YYNSTATE

#define YYNSTATE   54

Definition at line 149 of file grammar_trig.c.

◆ YYNTOKEN

#define YYNTOKEN   29

Definition at line 152 of file grammar_trig.c.

◆ YYSTACKDEPTH

#define YYSTACKDEPTH   100

Definition at line 137 of file grammar_trig.c.

◆ yytestcase

#define yytestcase ( X)

Definition at line 173 of file grammar_trig.c.

Function Documentation

◆ reset_graph()

VOLK_rc reset_graph ( VOLK_TrigParserState * state,
const char * new_uri )

Lemon parser grammar for Turtle.

The lemon parser generator executable must be in your PATH: https://sqlite.org/src/doc/trunk/doc/lemon.html

TriG EBNF: https://www.w3.org/TR/trig/#grammar-ebnf

The spec rules have been modified to optimize the process using Volksdata tools and structures. Most notably, the default graph is set at the beginning of the parsing process, and only changes in two places: a) at a graphBegin token carrying a graph name; and b) at a graphEnd token (closed brace), when it is set to the default graph.

Definition at line 20 of file grammar_trig.c.

◆ TrigParse()

void TrigParse ( void * yyp,
int yymajor,
TrigParseTOKENTYPE yyminor TrigParseARG_PDECL )

Definition at line 1732 of file grammar_trig.c.

◆ TrigParseAlloc()

void * TrigParseAlloc ( void *(* mallocProc )(YYMALLOCARGTYPE) TrigParseCTX_PDECL)

Definition at line 612 of file grammar_trig.c.

◆ TrigParseFallback()

int TrigParseFallback ( int iToken)

Definition at line 1949 of file grammar_trig.c.

◆ TrigParseFinalize()

void TrigParseFinalize ( void * p)

Definition at line 742 of file grammar_trig.c.

◆ TrigParseFree()

void TrigParseFree ( void * p,
void(* freeProc )(void *) )

Definition at line 759 of file grammar_trig.c.

◆ TrigParseInit()

void TrigParseInit ( void *yypRawParser TrigParseCTX_PDECL)

Definition at line 573 of file grammar_trig.c.

◆ TrigParseTrace()

void TrigParseTrace ( FILE * TraceFILE,
char * zTracePrompt )

Definition at line 397 of file grammar_trig.c.