[erlang-questions] My biggest beef with Erlang

Joe Armstrong erlang@REDACTED
Sun Nov 25 21:32:45 CET 2007


No this has nothing to do with regexps

-compile({character_transform, Mod}).

would (by analogy with parse_transform)
call Mod:character_transform(Bin, Opts) when Bin was the content of
the file being compiled
it would return Bin'

Then you could do anything you like.

-compile({tokenezer, Mod}).

could maybe call a custom tokeniser after character processing and
prior  to calling any
parse transforms.

/Joe



On Nov 25, 2007 8:37 PM, Vlad Dumitrescu <vladdu55@REDACTED> wrote:
> Hi,
>
> On Nov 25, 2007 4:57 PM, Joe Armstrong <erlang@REDACTED> wrote:
> > I think it would be easier to allow syntax transforms *before*
> > parse_transform. We need
> > character_transform that kicks in before tokenisation, and
> > token_transform which kicks in after character_transform but before
> > parse_transform.
>
> Cool idea!
>
> But I'm not sure what char_transform would do. I suppose it can select
> strings with regexps,and do what to them? What it would be meaningful
> would be to replace them with tokens, as a sort of pre-tokenizer, but
> then the scanner should accept a stream of characters mixed with
> tokens.....
>
> Maybe token_transform is enough: given that the tokenizer will return
> any unmatched characters as their own tokens, a token_transform phase
> could take a sequence of two {'!', Line} tokens and compress them into
> a {'!!', Line} one. Possible troublemakers would be whitespaces, as we
> might want to convert two consecutive '!'s, without any intervening
> spaces.
>
> best regards,
> Vlad
>



More information about the erlang-questions mailing list