develooper Front page | perl.perl5.porters | Postings from August 2013

Re: Perl 5.18 and Regexp::Grammars

Thread Previous | Thread Next
From:
demerphq
Date:
August 12, 2013 13:37
Subject:
Re: Perl 5.18 and Regexp::Grammars
Message ID:
CANgJU+VT27sDSWrWtB0Kwh6McB5oRVGQxBqaUnUbupxA0_EYaw@mail.gmail.com
On 12 August 2013 14:44, Dave Mitchell <davem@iabyn.com> wrote:
> On Sun, Aug 11, 2013 at 08:22:06PM +0200, Aristotle Pagaltzis wrote:
>> * Damian Conway <damian@conway.org> [2013-08-11 01:20]:
>> > And, ideally, the source code fragment being passed into the
>> > overloading sub would not just be the "contents" of each constant
>> > construct, but the entire syntax of the construct, including:
>> >
>> >     - the delimiters used
>> >
>> >     - any keyword used ('q', 'qq', 'qr', 'qx', 's', 'tr', or 'y')
>> >
>> >     - any flags used (i.e. in the case of 's', 'tr', and 'y')
>> >
>> >
>> > That is, reworking and extending your own example […] would output:
>> >
>> >     source(qr/abc(?{})def$x/i)
>> >     source("ABC$a[$b+$c]DEF")
>> >     source(s{foo}{bar}gxms)
>> >     source(0xDeadCode)
>>
>> Wouldn’t it be better if these paraphernalia were passed in as separate
>> arguments so that the Perl code won’t have to implement its own parsing
>> on top of perl’s?
>
> Sorry, I don't understand the question.

I think he means something like this:

source( $quote, $start_delim1, $end_delim1, $modifiers, $text1,
$start_delim2, $end_delim2, $text2 );

ie:

source('qr', '/', '/', 'x', 'abc(?{})def$', undef, undef, undef); #
qr/abc(?{})def$/
source('s', '{','}', 'gxms', 'foo', '{','}', "bar");
     # s{foo}{bar}gxms
source('tr','/','/','dc','abc','/','/','def');
         # tr/abc/efg/dc

I have no idea what to do with "0xDeadCode".

Also one wonders if:

qq"foo"

and

"foo"

should be treated as the same thing or not. I could see:

source('qq','"','"',undef,'foo'); # qq"foo"
source('"','"','"',undef,'foo');   # "foo"

Yves

-- 
perl -Mre=debug -e "/just|another|perl|hacker/"

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About