Adoption of perl/javascript-style regexp syntax

Ulf Wiger <>
Tue Jun 2 16:02:58 CEST 2009


mats cronqvist wrote:
> Ulf Wiger <> writes:
> 
>> The problem is that this uses regular tokens and has a valid
>> parse scan result today:
>>
>> 4> erl_scan:string("r'\b'.").
>> {ok,[{atom,1,r},{atom,1,'\b'},{dot,1}],1}
>>
> 
>   eh? 
> 
>   first off, it should be r"\b".

Same objection applies.

>   second, it will scan, but not parse...
> 
> 1> {ok,Ts,_} = erl_scan:string("r\"\b\".").
> {ok,[{atom,1,r},{string,1,"\b"},{dot,1}],1}
> 
> 2> erl_parse:parse(Ts).
> {error,{1,erl_parse,["syntax error before: ","\"\\b\""]}}
> 
>   or do I misunderstand you?

First, I was going to hang my head in shame for posting
without thinking hard enough, but what I meant was that it
could be part of a valid parse.

This *will* compile:

-module(m).
-export([f/0]).

-r"\b".

f() ->
     b.


Changing the meaning of r"\b", it will no longer compile.

(I did say that breaking existing code was unlikely... ;-)

BR,
Ulf W
-- 
Ulf Wiger
CTO, Erlang Training & Consulting Ltd
http://www.erlang-consulting.com


More information about the erlang-questions mailing list