Re: regexp in javascript.lang (3rd try!)

Lorenzo Bettini <[email protected]> Wed, 17 Dec 2008 09:27:32 +0100
Newsgroups gmane.comp.gnu.source-highlight.general
Message-ID <[email protected]>
[email protected] wrote:
> Lorenzo Bettini wrote:
>> [email protected] wrote:
>>> Last time I suggested an ugly regexp definition for
>>> javascript.lang to avoid matching /* */ comments:
>>>
>>> http://lists.gnu.org/archive/html/help-source-highlight/2008-09/msg00000.html 
>>>
>>>
>>> On second thought (or third thought) I don't like this because it
>>> matches cases where there are two division operators in a single
>>> expression, such as:
>>>
>>> document.write('<table><tr><td>25% = '+(25/100)+'</td></tr></table>');
>>>
>>
>> mh... I'm not sure I understad: why does this happen?  The other / are 
>> in strings delimited by '', aren't they?
>>
> 
> document.write('<table><tr><td>25% = '+(25/100)+'</td></tr></table>');
>                                           ^
> When at this point in the line, the "regexp" rule will match instead of 
> the "string" rule.  I.e., the "regexp" rule will match with an empty 
> prefix, while the "string" rule would have a nonempty prefix before the 
> string starts:
> 
> document.write('<table><tr><td>25% = '+(25/100)+'</td></tr></table>');
>                                           _________
>                                            regexp
> 
> document.write('<table><tr><td>25% = '+(25/100)+'</td></tr></table>');
>                                           ------____________________
>                                           prefix      string

yes, sure, I should have guessed this by myself :-)

I'll take a look at your solution, which seems to make sense

cheers
	Lorenzo

-- 
Lorenzo Bettini, PhD in Computer Science, DI, Univ. Torino
ICQ# lbetto, 16080134     (GNU/Linux User # 158233)
HOME: http://www.lorenzobettini.it MUSIC: http://www.purplesucker.com
http://www.myspace.com/supertrouperabba
BLOGS: http://tronprog.blogspot.com  http://longlivemusic.blogspot.com
http://www.gnu.org/software/src-highlite
http://www.gnu.org/software/gengetopt
http://www.gnu.org/software/gengen http://doublecpp.sourceforge.net