Fri May 11 23:15:18 CEST 2012
If the code you want to pretty-print is generated from other code - and you don't want to create abstract forms by hand (most don't) - I can also recommend parse_trans_codegen:
It's a fairly easy, and less error-prone, way to generate code.
If you look e.g. at https://github.com/esl/parse_trans/blob/master/examples/ex_codegen.erl
we can try the two first functions:
g(Name, V) ->
Eshell V5.9 (abort with ^G)
3> ex_codegen:g(is_in, foo).
4> io:fwrite("~s~n", [erl_pp:form(v(3))]).
…you get the idea.
Now, since I actually don't know exactly what you are trying to do, I will quit throwing out suggestions. :)
On 11 May 2012, at 22:28, Roberto Ostinelli wrote:
> Thank you Ulf.
> So i first should erl_parse:tokens/1, then erl_parse:parse/form/1 then use what you suggested?
> On Fri, May 11, 2012 at 1:09 PM, Ulf Wiger <ulf@REDACTED> wrote:
> You could take a look at how parse_trans does it:
> It uses erl_pp instead of erl_prettypr for reasons I have since forgotten
> (it was something that, at one time, erl_prettypr had problems with, but
> erl_pp was able to handle).
> Ulf W
> On 11 May 2012, at 22:01, Roberto Ostinelli wrote:
>> Dear All,
>> is there a way to use prettypr on a list()?
>> I want to pretty format some source code, all I found is a Trapexit post showing this:
>> Unfortunately this is based on parsing a file, and epp_dodger needs an IoDevice to parse code.
>> Is there a way to do something similar but inputting the code as list() instead of parsing a file?
>> erlang-questions mailing list
> Ulf Wiger, Co-founder & Developer Advocate, Feuerlabs Inc.
Ulf Wiger, Co-founder & Developer Advocate, Feuerlabs Inc.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the erlang-questions