Skip to content

Commit

Permalink
Merge pull request #189 from herminiogg/develop
Browse files Browse the repository at this point in the history
Version 0.5.2
  • Loading branch information
herminiogg authored Apr 4, 2024
2 parents daeda3c + f23144b commit e62194d
Show file tree
Hide file tree
Showing 55 changed files with 2,734 additions and 1,134 deletions.
2 changes: 1 addition & 1 deletion build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ lazy val shexml = project
.in(file("."))
.settings(
name := "ShExML",
version := "0.5.1",
version := "0.5.2",
scalaVersion := "3.2.0",
crossScalaVersions := Seq("2.12.17", "2.13.9", "3.2.0"),
libraryDependencies ++= Seq(
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/com/herminiogarcia/shexml/antlr/ShExMLLexer.g4
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,11 @@ AUTOINCREMENT: A U T O I N C R E M E N T -> mode(AUTOINCREMENT_CONTENT);
EXPRESSION: E X P R E S S I O N ;
UNION: U N I O N ;
JOIN: J O I N ;
SUBSTITUTING: S U B S T I T U T I N G ;
MATCHER: M A T C H E R ;
AS: A S ;
IF: I F ;
ON: O N ;
MATCHING: M A T C H I N G ;
RDFLIST: R D F L I S T ;
RDFBAG: R D F B A G ;
Expand All @@ -42,6 +44,7 @@ QUOTE: '"' ;
AND: '&' | 'AND' ;
A: ('a' | 'A');
AT: '@' ;
EQUAL: '=' ;
STRING_OR_VAR: (LETTER | DIGIT | '_' | '-' | '\\.' | '%2E')+ ;
URI_VAR: (LETTER | DIGIT | '_' | '\\.' | '%2E')* ':' ;
STRINGOPERATOR: '"' (LETTER | DIGIT | ALLOWED_CHARACTERS | ' ')+ '"' ;
Expand Down
11 changes: 10 additions & 1 deletion src/main/java/com/herminiogarcia/shexml/antlr/ShExMLLexer.interp

Large diffs are not rendered by default.

859 changes: 435 additions & 424 deletions src/main/java/com/herminiogarcia/shexml/antlr/ShExMLLexer.java

Large diffs are not rendered by default.

146 changes: 75 additions & 71 deletions src/main/java/com/herminiogarcia/shexml/antlr/ShExMLLexer.tokens
Original file line number Diff line number Diff line change
Expand Up @@ -10,74 +10,78 @@ AUTOINCREMENT=9
EXPRESSION=10
UNION=11
JOIN=12
MATCHER=13
AS=14
IF=15
MATCHING=16
RDFLIST=17
RDFBAG=18
RDFSEQ=19
RDFALT=20
LESS_SYMBOL=21
GREATER_SYMBOL=22
BRACKET_LEFT=23
DOUBLE_BRACKET_LEFT=24
BRACKET_RIGHT=25
DOUBLE_BRACKET_RIGHT=26
PAREN_LEFT=27
PAREN_RIGHT=28
BRACE_LEFT=29
BRACE_RIGHT=30
SEMICOLON=31
DOT=32
ADD=33
COMMA=34
QUOTE=35
AND=36
A=37
AT=38
STRING_OR_VAR=39
URI_VAR=40
STRINGOPERATOR=41
XMLSCHEMADATATYPE=42
SHAPELINK=43
LANGTAG=44
COMMENT=45
WS=46
URL=47
JDBC_URL=48
JSONPATH=49
XMLPATH=50
CSVPERROW=51
SQL=52
SCALA=53
SPARQL=54
QUERY_PART=55
GREATER_SYMBOL_QUERY=56
WS_QUERY=57
LESS_SYMBOL_QUERY=58
STRING_OR_VAR_QUERY=59
URI_VAR_QUERY=60
WS_DECLARATION=61
LESS_SYMBOL_AUTOINCREMENT=62
TO=63
BY=64
ADD_AUTOINCREMENT=65
DIGITS=66
STRING_OR_VAR_AUTOINCREMENT=67
STRINGOPERATOR_AUTOINCREMENT=68
GREATER_SYMBOL_AUTOINCREMENT=69
WS_AUTOINCREMENT=70
'['=23
'[['=24
']'=25
']]'=26
'('=27
')'=28
'{'=29
'}'=30
';'=31
'.'=32
','=34
'"'=35
'@'=38
SUBSTITUTING=13
MATCHER=14
AS=15
IF=16
ON=17
MATCHING=18
RDFLIST=19
RDFBAG=20
RDFSEQ=21
RDFALT=22
LESS_SYMBOL=23
GREATER_SYMBOL=24
BRACKET_LEFT=25
DOUBLE_BRACKET_LEFT=26
BRACKET_RIGHT=27
DOUBLE_BRACKET_RIGHT=28
PAREN_LEFT=29
PAREN_RIGHT=30
BRACE_LEFT=31
BRACE_RIGHT=32
SEMICOLON=33
DOT=34
ADD=35
COMMA=36
QUOTE=37
AND=38
A=39
AT=40
EQUAL=41
STRING_OR_VAR=42
URI_VAR=43
STRINGOPERATOR=44
XMLSCHEMADATATYPE=45
SHAPELINK=46
LANGTAG=47
COMMENT=48
WS=49
URL=50
JDBC_URL=51
JSONPATH=52
XMLPATH=53
CSVPERROW=54
SQL=55
SCALA=56
SPARQL=57
QUERY_PART=58
GREATER_SYMBOL_QUERY=59
WS_QUERY=60
LESS_SYMBOL_QUERY=61
STRING_OR_VAR_QUERY=62
URI_VAR_QUERY=63
WS_DECLARATION=64
LESS_SYMBOL_AUTOINCREMENT=65
TO=66
BY=67
ADD_AUTOINCREMENT=68
DIGITS=69
STRING_OR_VAR_AUTOINCREMENT=70
STRINGOPERATOR_AUTOINCREMENT=71
GREATER_SYMBOL_AUTOINCREMENT=72
WS_AUTOINCREMENT=73
'['=25
'[['=26
']'=27
']]'=28
'('=29
')'=30
'{'=31
'}'=32
';'=33
'.'=34
','=36
'"'=37
'@'=40
'='=41
9 changes: 5 additions & 4 deletions src/main/java/com/herminiogarcia/shexml/antlr/ShExMLParser.g4
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ prefix: PREFIX variable LESS_SYMBOL_QUERY URL GREATER_SYMBOL_QUERY ;
source: SOURCE variable LESS_SYMBOL_QUERY (URL | JDBC_URL | QUERY_PART) GREATER_SYMBOL_QUERY ;
query: QUERY variable LESS_SYMBOL_QUERY (URL | queryClause) GREATER_SYMBOL_QUERY ;
functions: FUNCTIONS variable LESS_SYMBOL_QUERY SCALA (URL | QUERY_PART) GREATER_SYMBOL_QUERY ;
iterator: ITERATOR variable LESS_SYMBOL_QUERY (queryClause | QUERY_PART+) GREATER_SYMBOL_QUERY '{' field+ nestedIterator* '}' ;
nestedIterator: ITERATOR variable LESS_SYMBOL_QUERY QUERY_PART+ GREATER_SYMBOL_QUERY '{' field+ nestedIterator* '}' ;
iterator: ITERATOR variable LESS_SYMBOL_QUERY (queryClause | QUERY_PART+) GREATER_SYMBOL_QUERY '{' field* nestedIterator* '}' ;
nestedIterator: ITERATOR variable LESS_SYMBOL_QUERY QUERY_PART+ GREATER_SYMBOL_QUERY '{' field* nestedIterator* '}' ;
field: (FIELD | PUSHED_FIELD | POPPED_FIELD) variable LESS_SYMBOL_QUERY QUERY_PART+ GREATER_SYMBOL_QUERY ;
autoincrement: AUTOINCREMENT variable LESS_SYMBOL_AUTOINCREMENT
(STRINGOPERATOR_AUTOINCREMENT ADD_AUTOINCREMENT)? DIGITS (TO DIGITS)? (BY DIGITS)?
Expand All @@ -23,12 +23,13 @@ matcher: MATCHER variable LESS_SYMBOL matchers GREATER_SYMBOL ;
matchers: replacedStrings AS (STRING_OR_VAR | STRINGOPERATOR)
| matchers AND replacedStrings AS (STRING_OR_VAR | STRINGOPERATOR) ;
replacedStrings: (STRING_OR_VAR | STRINGOPERATOR) ',' replacedStrings | (STRING_OR_VAR | STRINGOPERATOR) ;
exp: union | join | stringOperation | iteratorQuery ;
exp: union | join | substitution | stringOperation | iteratorQuery ;
stringOperation: iteratorQuery ADD STRINGOPERATOR ADD iteratorQuery ;
iteratorQuery: variable '.' composedVariable ;
composedVariable: variable | variable '.' composedVariable ;
queryClause: JSONPATH QUERY_PART+ | XMLPATH QUERY_PART+ | CSVPERROW | SQL QUERY_PART+ | SPARQL QUERY_PART+ ;
join: iteratorQuery UNION iteratorQuery JOIN iteratorQuery ;
substitution: iteratorQuery UNION iteratorQuery SUBSTITUTING iteratorQuery ;
join: iteratorQuery JOIN iteratorQuery ON iteratorQuery EQUAL iteratorQuery ;
union: leftUnionOption UNION rightUnionOption ;
leftUnionOption: iteratorQuery | stringOperation ;
rightUnionOption: iteratorQuery | union | stringOperation ;
Expand Down
Loading

0 comments on commit e62194d

Please sign in to comment.