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 |