|
Boost : |
From: Lorenzo Bettini (bettini_at_[hidden])
Date: 2007-05-01 11:36:16
Phil Endecott wrote:
> Lorenzo wrote:
>> is there a way to specify open and closed parenthesis with a
>> regular expression syntax? For instance, if I'd want to specify a
>> single regular expression that matches both (foo) and [foo] and {foo}?
>
> Lorenzo,
>
> Matching parentheses to arbitrary depth is, like matching palindromes,
> a textbook example of something that cannot be done with a regular
> language and instead needs a context-free language. Google for
> "chomsky hierarchy palindrome" for some background material. Of
> course, it's possible that some regexp library somewhere has a hack to
> add this functionality. But fundamentally, you need a more
> sophisticated parser.
>
Hi Phil
yes I know about that, but since regex supports backreferences and
conditionals, I thought that this might be implemented by a combination
of these two mechanisms... indeed John Maddock answered to this thread
right with a manual solution using backreferences and conditionals...
so I thought a regular expression syntax could already be provided to
match these...
I'm using regular expressions for this software
http://www.gnu.org/software/src-highlite that highlights programs, and
it assumes that the program itself is correct. Thus, I assume that
parenthesis (and brackets - sorry, in Italian both (, [ and { are called
parenthesis :-) are balanced, and with greedy regular expressions,
nested parenthesis are already handled...
Lorenzo
-- Lorenzo Bettini, PhD in Computer Science, DSI, Univ. di Firenze ICQ# lbetto, 16080134 (GNU/Linux User # 158233) HOME: http://www.lorenzobettini.it MUSIC: http://www.purplesucker.com 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
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk