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