[antlr-interest] Whitespace question

Indhu Bharathi indhu.b at s7software.com
Fri Oct 9 10:20:28 PDT 2009


Try something like

 

r     :     lbl=searchTerm ({spaceFollows($lbl.stop)}?=> lbl=searchTerm)*

      ;

 

@members {

      public boolean spaceFollows(Token tkn) {

            return input.get(tkn.getTokenIndex()+1).getType()==WS;

      }

}

 

Cheers,

 

Indhu Bharathi

 <http://www.s7software.com/> S7 Software Solutions

 

 

 

-----Original Message-----
From: antlr-interest-bounces at antlr.org
[mailto:antlr-interest-bounces at antlr.org] On Behalf Of Reid Rivenburgh
Sent: Friday, October 09, 2009 9:55 PM
To: antlr-interest at antlr.org
Subject: [antlr-interest] Whitespace question

 

Hi.  I've been using ANTLR (ANTLRWorks, actually, which is very nice) to 

implement a project-specific search language, sort of like google's. 

I've gotten it mostly working, though it's taken some time and 

experimentation to understand the details.  In my grammar, I've defined 

a searchTerms parser rule, which is one or more searchTerm:

 

      searchTerm+;

 

searchTerm matches a SEARCH_TERM token, which can be a number or word 

(with some special characters like '*' allowed).  The number is the 

usual definition for a floating point number:

 

      ('-'|'+')?((DIGIT+)|(DIGIT*'.'DIGIT+));

 

which I hope is correct.  (DIGIT is the fragment 0..9.)  I'm also 

sending whitespace to the HIDDEN channel, as is often recommended.  It 

seems like a side effect of this is that this input:

 

4.66.34

 

which isn't a valid number, gets parsed as two different terms: 4.66 and 

.34.  Is there some way to require whitespace between my search terms so 

that input isn't allowed?  When I was parsing words, this wasn't a 

problem.  I wouldn't be surprised if my design is a bit wrong still, and 

that's what's put me in this position.

 

I can't post the entire grammar, unfortunately.

 

Thanks for any pointers,

Reid

 

List: http://www.antlr.org/mailman/listinfo/antlr-interest

Unsubscribe:
http://www.antlr.org/mailman/options/antlr-interest/your-email-address

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20091009/2d834fcc/attachment.html 


More information about the antlr-interest mailing list