You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by Justin <th...@gmail.com> on 2023/10/27 16:58:56 UTC

qparse but preserve comments

Hello,

Is it possible to allow qparse to preserve comments?

e.g. it currently does not:
```
justin@parens:/tmp$ cat a.rq
select * where {
?s ?p ?o
# comment here
}
justin@parens:/tmp$ ~/Downloads/apache-jena-4.7.0/bin/qparse --query a.rq
SELECT  *
WHERE
  { ?s  ?p  ?o }
```

If comment lines (starting with #) are too tricky to work with what about
something like Clojure's `comment`
e.g.

```
(comment (range 5))
```
That way the "comment" is still part of the AST tree.
Maybe there could be a magic predicate that gets ignored?
```
[] ex:comment "comment here" .
```

Re: qparse but preserve comments

Posted by Andy Seaborne <an...@apache.org>.

On 27/10/2023 17:58, Justin wrote:
> Hello,
> 
> Is it possible to allow qparse to preserve comments?

No - the parser skips them.

> 
> e.g. it currently does not:
> ```
> justin@parens:/tmp$ cat a.rq
> select * where {
> ?s ?p ?o
> # comment here
> }
> justin@parens:/tmp$ ~/Downloads/apache-jena-4.7.0/bin/qparse --query a.rq
> SELECT  *
> WHERE
>    { ?s  ?p  ?o }
> ```
> 
> If comment lines (starting with #) are too tricky to work with what about
> something like Clojure's `comment`
> e.g.
> 
> ```
> (comment (range 5))
> ```
> That way the "comment" is still part of the AST tree.
> Maybe there could be a magic predicate that gets ignored?
> ```
> [] ex:comment "comment here" .
> ```
> 

If the comment is between syntax elements, then, yes, an 
"ElementComment" could be added.

Some positions are within syntax elements:

  { ?s
    # Some comment
    ?p  ?o }

and don't have a natural place to go in the AST.

     Andy

c.f. Pragmas.