View difference between Paste ID: DzFbVUXw and wcRCPtcZ
SHOW: | | - or go back to the newest paste.
1
-module(esyntax).
2
-compile(export_all).
3
4
f() ->
5-
	FunctionBuilder = eaopweaver:function_builder(get_send_msg_info),
5+
	FunctionBuilder = function_builder(get_send_msg_info),
6-
	ClauseBuilder = eaopweaver:clause_builder([], none),
6+
	ClauseBuilder = clause_builder([], none),
7
	FunctionBuilder(ClauseBuilder(erl_syntax:list(erl_syntax:atom(abz)))).
8
9
function_builder(FunctionName) ->
10
	fun(Clauses) ->
11
			erl_syntax:function(erl_syntax:atom(FunctionName), Clauses)
12
	end.
13
14
clause_builder(Patterns, Guard) ->
15
	fun(Body) ->
16
			erl_syntax:clause(Patterns, Guard, Body)
17
	end.
18
19
%%%%%%%%%%%%%
20
21
55> SyntaxTree = esyntax:f().
22
{tree,function,
23
    {attr,0,[],none},
24
    {function,
25
        {tree,atom,{attr,0,[],none},get_send_msg_info},
26
        {tree,clause,
27
            {attr,0,[],none},
28
            {clause,[],none,
29
                {tree,list,
30
                    {attr,0,[],none},
31
                    {list,{tree,atom,{attr,0,[],none},abz},none}}}}}}
32
56> erl_syntax:is_tree(SyntaxTree).
33
true
34
57> erl_syntax:type(SyntaxTree).
35
function
36
58> erl_syntax:revert(SyntaxTree).
37
** exception error: no function clause matching 
38
                    erl_syntax:'-revert/1-lc$^1/1-1-'({tree,clause,
39
                                                       {attr,0,[],none},
40
                                                       {clause,[],none,
41
                                                        {tree,list,
42
                                                         {attr,0,[],none},
43
                                                         {list,
44
                                                          {tree,atom,
45
                                                           {attr,0,[],none},
46
                                                           abz},
47
                                                          none}}}})
48
     in function  erl_syntax:'-revert/1-lc$^0/1-0-'/1
49
     in call from erl_syntax:'-revert/1-lc$^0/1-0-'/1
50
     in call from erl_syntax:revert/1
51
59> erl_syntax:revert_forms([SyntaxTree]).
52
** exception exit: {function_clause,
53
                    [{erl_syntax,'-revert/1-lc$^1/1-1-',
54
                      [{tree,clause,
55
                        {attr,0,[],none},
56
                        {clause,[],none,
57
                         {tree,list,
58
                          {attr,0,[],none},
59
                          {list,{tree,atom,{attr,0,[],none},abz},none}}}}]},
60
                     {erl_syntax,'-revert/1-lc$^0/1-0-',1},
61
                     {erl_syntax,'-revert/1-lc$^0/1-0-',1},
62
                     {erl_syntax,revert,1},
63
                     {erl_syntax,revert_forms_1,1},
64
                     {erl_syntax,revert_forms,1},
65
                     {erl_eval,do_apply,5},
66
                     {shell,exprs,7}]}
67
     in function  erl_syntax:revert_forms/1