blob: 77dec4455b763575d4d22df5be7fa7a8116ce2b4 [file] [log] [blame]
## Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
==== The Grammars
See Archive for old, historical material.
main.jj - Template for SPARQL and ARQ
cpp input to produce sparql.jj or arq.jj
sparql_11.jj - The SPARQL working group syntax
This should be exactly the grammar in the SPARQL 1.1 rec.
Generates org.apache.jena.query.parser.sparql_11.SPARQLParser
sparql_12.jj - The RDF Star working group syntax
This should be exactly the grammar in the SPARQL 1.2 rec.
Generates org.apache.jena.query.parser.sparql_12.SPARQLParser
arq.jj - The native query language of the query engine
Generates org.apache.jena.query.parser.arq.ARQParser
sparql_10-final.jj - SPARQL 1.0, but updated to match internal chnages in ARQ.
This should produce the grammar in the SPARQ 1.0/DAWG rec.
Generates org.apache.jena.query.parser.sparql_10.SPARQLParser
Final/sparql_10-final.jj is original for the SPARQL 1.0 specification.
Final/sparql_11-final.jj is original for the SPARQL 1.1 specification.
This should produce the HTML grammar in the SPARQL 1.0/DAWG and SPARQL 1.1
specifications.
==== Making the parsers
See "grammar"
Note this runs cpp over main.jj to produce arq.jj or sparql.jj
==== Making the HTML
sparql_N.txt is produced by "grammar", and is used to make HTML.
We don't use jjdoc to produce HTML but instead get jjdoc to produce
its text form and process that, toegther with a hand-managed
token.txt file.
== Tokens
Run "jj2tokens sparql_11.jj > tokens.txt" to get a first pass at a tokens file.
Manually tidy, noting which to inline
Produce HTML suitable for inclusion in the SPARQL recomendations.
Includes some hand-craft tidying up.
jj2html arq.txt tokens.txt