W3C home > Mailing lists > Public > public-rdf-dawg-comments@w3.org > October 2005

Re: Please make sure the grammar is directly machine consumable. [OK?]

From: Seaborne, Andy <andy.seaborne@hp.com>
Date: Thu, 13 Oct 2005 13:43:13 +0100
Message-ID: <434E5661.40205@hp.com>
To: Tim Berners-Lee <timbl@w3.org>
CC: public-rdf-dawg-comments@w3.org, Yosi Scharf <syosi@mit.edu>



Tim Berners-Lee wrote:
> This is a followup from a discussion between Yosi Scharf, implementer  
> of SPARQL in cwm, currently on vacation,  and Eric P'dH, co-editor of  
> the spec, several weeks ago.
> 
> Yosi has built his implementation of SPARQL from a file which is  
> almost the one generated from the TR, but with a slight tweak to make  
> the file grammar able to be parsed by a predictive parser [1] a  
> simple form of LL(1) recursive descent parser.  I understood that the  
> tweak was editorial in that the it didn't change the language, just  
> the way it was expressed as a context-free grammar.
> 
> A situation in which code can be generated directly from the spec is  
> a very strong position to be in.  I am not aware of any time this has  
> previously happened for a W3C language, but I may be wrong.  As it is  
> demonstrably simple to make the step here I would request it be done  
> at last call stage before the call for implementation at CR.
> 
> [1] http://www.inf.ed.ac.uk/teaching/courses/cs2/LectureNotes/CS2Ah/ 
> LangProc/lp10.pdf
> 
> Tim Berners-Lee
> MIT/CSAIL/DIG
> 
> 

Tim,

The SPARQL grammar in the editors' working draft [1] is LL(1)
It has been read in and used to generate parsers using standard tools for C, 
C++, Python, Perl using yacker [1] (LALR(1) or LL(1) depending on the tool). 
The grammar has also been used to generate an LL(1) Java parser.

Please let us know whether this response addresses your comment
to your satisfaction.

	Andy

[1] http://www.w3.org/2001/sw/DataAccess/rq23/#grammar
[2] http://www.w3.org/1999/02/26-modules/User/Yacker
Received on Thursday, 13 October 2005 12:43:56 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:14:49 GMT