Skip to content

Instantly share code, notes, and snippets.

Created February 3, 2011 11:15
Show Gist options
  • Save anonymous/809362 to your computer and use it in GitHub Desktop.
Save anonymous/809362 to your computer and use it in GitHub Desktop.
Output of Reia parser and compiler when compiling dir.re
[{module,9,'Dir',
[{function,10,list,
[{var,10,dir}],
{var,1,'_'},
[{'case',11,
{native_call,11,file,list_dir,
[{remote_call,11,{var,11,dir},to_list,[],{nil,1}}]},
[{clause,12,
[{tuple,12,[{atom,12,ok},{var,12,filenames}]}],
[{lc,13,
{remote_call,13,
{var,13,filename},
to_string,[],
{nil,1}},
[{generate,13,
{var,13,filename},
{var,13,filenames}}]}]},
{clause,14,
[{tuple,14,[{atom,14,error},{var,14,reason}]}],
[{throw,15,'RuntimeError',{var,15,reason}}]}]}]},
{function,19,glob,
[{var,19,path}],
{var,1,'_'},
[{lc,20,
{remote_call,20,{var,20,filename},to_string,[],{nil,1}},
[{generate,20,
{var,20,filename},
{native_call,20,filelib,wildcard,
[{remote_call,20,
{var,20,path},
to_list,[],
{nil,1}}]}}]}]},
{function,23,create,
[{var,23,dir}],
{var,1,'_'},
[{'case',24,
{native_call,24,file,make_dir,
[{remote_call,24,{var,24,dir},to_list,[],{nil,1}}]},
[{clause,25,[{atom,25,ok}],[{var,26,dir}]},
{clause,27,
[{tuple,27,[{atom,27,error},{var,27,reason}]}],
[{throw,28,'RuntimeError',{var,28,reason}}]}]}]},
{function,32,delete,
[{var,32,dir}],
{var,1,'_'},
[{'case',33,
{native_call,33,file,del_dir,
[{remote_call,33,{var,33,dir},to_list,[],{nil,1}}]},
[{clause,34,[{atom,34,ok}],[{nil,34}]},
{clause,35,
[{tuple,35,[{atom,35,error},{var,35,reason}]}],
[{throw,36,'RuntimeError',{var,36,reason}}]}]}]},
{function,40,cd,
[{var,40,dir}],
{var,1,'_'},
[{'case',41,
{native_call,41,file,set_cwd,
[{remote_call,41,{var,41,dir},to_list,[],{nil,1}}]},
[{clause,42,[{atom,42,ok}],[{local_call,43,getcwd,[],{nil,1}}]},
{clause,44,
[{tuple,44,[{atom,44,error},{var,44,reason}]}],
[{throw,45,'RuntimeError',{var,45,reason}}]}]}]},
{function,49,getcwd,[],
{var,1,'_'},
[{'case',50,
{native_call,50,file,get_cwd,[]},
[{clause,51,
[{tuple,51,[{atom,51,ok},{var,51,dir}]}],
[{remote_call,52,{var,52,dir},to_string,[],{nil,1}}]},
{clause,53,
[{tuple,53,[{atom,53,error},{var,53,reason}]}],
[{throw,54,'RuntimeError',{var,54,reason}}]}]}]},
{function,59,mkdir,
[{var,59,dir}],
{var,1,'_'},
[{local_call,59,create,[{var,59,dir}],{nil,1}}]},
{function,60,rmdir,
[{var,60,dir}],
{var,1,'_'},
[{local_call,60,delete,[{var,60,dir}],{nil,1}}]},
{function,61,chdir,
[{var,61,dir}],
{var,1,'_'},
[{local_call,61,cd,[{var,61,dir}],{nil,1}}]},
{function,62,pwd,[],{var,1,'_'},[{local_call,62,getcwd,[],{nil,1}}]}]}]
[{attribute,1,module,'/Users/tony/src/reia/lib/dir'},
{attribute,1,file,{"/Users/tony/src/reia/lib/dir.re",1}},
{attribute,1,code,
[{module,9,'Dir',
[{function,10,list,
[{var,10,dir}],
{var,1,'_'},
[{'case',11,
{native_call,11,file,list_dir,
[{remote_call,11,{var,11,dir},to_list,[],{nil,1}}]},
[{clause,12,
[{tuple,12,[{atom,12,ok},{var,12,filenames}]}],
[{lc,13,
{remote_call,13,{var,13,filename},to_string,[],{nil,1}},
[{generate,13,{var,13,filename},{var,13,filenames}}]}]},
{clause,14,
[{tuple,14,[{atom,14,error},{var,14,reason}]}],
[{throw,15,'RuntimeError',{var,15,reason}}]}]}]},
{function,19,glob,
[{var,19,path}],
{var,1,'_'},
[{lc,20,
{remote_call,20,{var,20,filename},to_string,[],{nil,1}},
[{generate,20,
{var,20,filename},
{native_call,20,filelib,wildcard,
[{remote_call,20,{var,20,path},to_list,[],{nil,1}}]}}]}]},
{function,23,create,
[{var,23,dir}],
{var,1,'_'},
[{'case',24,
{native_call,24,file,make_dir,
[{remote_call,24,{var,24,dir},to_list,[],{nil,1}}]},
[{clause,25,[{atom,25,ok}],[{var,26,dir}]},
{clause,27,
[{tuple,27,[{atom,27,error},{var,27,reason}]}],
[{throw,28,'RuntimeError',{var,28,reason}}]}]}]},
{function,32,delete,
[{var,32,dir}],
{var,1,'_'},
[{'case',33,
{native_call,33,file,del_dir,
[{remote_call,33,{var,33,dir},to_list,[],{nil,1}}]},
[{clause,34,[{atom,34,ok}],[{nil,34}]},
{clause,35,
[{tuple,35,[{atom,35,error},{var,35,reason}]}],
[{throw,36,'RuntimeError',{var,36,reason}}]}]}]},
{function,40,cd,
[{var,40,dir}],
{var,1,'_'},
[{'case',41,
{native_call,41,file,set_cwd,
[{remote_call,41,{var,41,dir},to_list,[],{nil,1}}]},
[{clause,42,[{atom,42,ok}],[{local_call,43,getcwd,[],{nil,1}}]},
{clause,44,
[{tuple,44,[{atom,44,error},{var,44,reason}]}],
[{throw,45,'RuntimeError',{var,45,reason}}]}]}]},
{function,49,getcwd,[],
{var,1,'_'},
[{'case',50,
{native_call,50,file,get_cwd,[]},
[{clause,51,
[{tuple,51,[{atom,51,ok},{var,51,dir}]}],
[{remote_call,52,{var,52,dir},to_string,[],{nil,1}}]},
{clause,53,
[{tuple,53,[{atom,53,error},{var,53,reason}]}],
[{throw,54,'RuntimeError',{var,54,reason}}]}]}]},
{function,59,mkdir,
[{var,59,dir}],
{var,1,'_'},
[{local_call,59,create,[{var,59,dir}],{nil,1}}]},
{function,60,rmdir,
[{var,60,dir}],
{var,1,'_'},
[{local_call,60,delete,[{var,60,dir}],{nil,1}}]},
{function,61,chdir,
[{var,61,dir}],
{var,1,'_'},
[{local_call,61,cd,[{var,61,dir}],{nil,1}}]},
{function,62,pwd,[],{var,1,'_'},[{local_call,62,getcwd,[],{nil,1}}]}]}]},
{attribute,1,parent,'/Users/tony/src/reia/lib/dir'},
{attribute,1,submodules,[]},
{function,1,toplevel,0,
[{clause,1,[],[],
[{module,9,'Dir',
[{function,61,chdir,2,
[{clause,61,
[{tuple,61,[{var,61,dir_0}]},{var,1,'_'}],
[],
[{call,61,
{atom,61,cd},
[{tuple,61,[{var,61,dir_0}]},{atom,1,nil}]}]}]},
{function,60,rmdir,2,
[{clause,60,
[{tuple,60,[{var,60,dir_0}]},{var,1,'_'}],
[],
[{call,60,
{atom,60,delete},
[{tuple,60,[{var,60,dir_0}]},{atom,1,nil}]}]}]},
{function,59,mkdir,2,
[{clause,59,
[{tuple,59,[{var,59,dir_0}]},{var,1,'_'}],
[],
[{call,59,
{atom,59,create},
[{tuple,59,[{var,59,dir_0}]},{atom,1,nil}]}]}]},
{function,19,glob,2,
[{clause,19,
[{tuple,19,[{var,19,path_0}]},{var,1,'_'}],
[],
[{lc,20,
{call,20,
{remote,20,{atom,20,reia_dispatch},{atom,20,call}},
[{var,20,filename_0},
{atom,20,to_string},
{tuple,20,[]},
{atom,1,nil}]},
[{generate,20,
{var,20,filename_0},
{call,20,
{remote,20,{atom,20,reia_dispatch},{atom,20,call}},
[{call,20,
{remote,20,{atom,20,filelib},{atom,20,wildcard}},
[{call,20,
{remote,20,{atom,20,reia_dispatch},{atom,20,call}},
[{var,20,path_0},
{atom,20,to_list},
{tuple,20,[]},
{atom,1,nil}]}]},
{atom,20,to_list},
{tuple,20,[]},
{atom,20,nil}]}}]}]}]},
{function,62,pwd,2,
[{clause,62,
[{tuple,62,[]},{var,1,'_'}],
[],
[{call,62,{atom,62,getcwd},[{tuple,62,[]},{atom,1,nil}]}]}]},
{function,49,getcwd,2,
[{clause,49,
[{tuple,49,[]},{var,1,'_'}],
[],
[{'case',50,
{call,50,{remote,50,{atom,50,file},{atom,50,get_cwd}},[]},
[{clause,51,
[{tuple,51,[{atom,51,ok},{var,51,dir_0}]}],
[],
[{match,1,{var,1,reason_0},{atom,1,nil}},
{call,52,
{remote,52,{atom,52,reia_dispatch},{atom,52,call}},
[{var,52,dir_0},
{atom,52,to_string},
{tuple,52,[]},
{atom,1,nil}]}]},
{clause,53,
[{tuple,53,[{atom,53,error},{var,53,reason_0}]}],
[],
[{match,1,{var,1,dir_0},{atom,1,nil}},
{call,54,
{atom,54,throw},
[{call,54,
{remote,54,{atom,54,reia},{atom,54,inst}},
[{atom,54,'RuntimeError'},
{tuple,54,[{integer,54,54},{var,54,reason_0}]},
{atom,54,nil}]}]}]},
{clause,50,
[{var,50,'_'}],
[],
[{match,1,{var,1,reason_0},{atom,1,nil}},
{match,1,{var,1,dir_0},{atom,1,nil}},
{atom,50,nil}]}]}]}]},
{function,40,cd,2,
[{clause,40,
[{tuple,40,[{var,40,dir_0}]},{var,1,'_'}],
[],
[{'case',41,
{call,41,
{remote,41,{atom,41,file},{atom,41,set_cwd}},
[{call,41,
{remote,41,{atom,41,reia_dispatch},{atom,41,call}},
[{var,41,dir_0},
{atom,41,to_list},
{tuple,41,[]},
{atom,1,nil}]}]},
[{clause,42,
[{atom,42,ok}],
[],
[{match,1,{var,1,reason_0},{atom,1,nil}},
{call,43,{atom,43,getcwd},[{tuple,43,[]},{atom,1,nil}]}]},
{clause,44,
[{tuple,44,[{atom,44,error},{var,44,reason_0}]}],
[],
[{call,45,
{atom,45,throw},
[{call,45,
{remote,45,{atom,45,reia},{atom,45,inst}},
[{atom,45,'RuntimeError'},
{tuple,45,[{integer,45,45},{var,45,reason_0}]},
{atom,45,nil}]}]}]},
{clause,41,
[{var,41,'_'}],
[],
[{match,1,{var,1,reason_0},{atom,1,nil}},{atom,41,nil}]}]}]}]},
{function,10,list,2,
[{clause,10,
[{tuple,10,[{var,10,dir_0}]},{var,1,'_'}],
[],
[{'case',11,
{call,11,
{remote,11,{atom,11,file},{atom,11,list_dir}},
[{call,11,
{remote,11,{atom,11,reia_dispatch},{atom,11,call}},
[{var,11,dir_0},
{atom,11,to_list},
{tuple,11,[]},
{atom,1,nil}]}]},
[{clause,12,
[{tuple,12,[{atom,12,ok},{var,12,filenames_0}]}],
[],
[{match,1,{var,1,reason_0},{atom,1,nil}},
{lc,13,
{call,13,
{remote,13,{atom,13,reia_dispatch},{atom,13,call}},
[{var,13,filename_0},
{atom,13,to_string},
{tuple,13,[]},
{atom,1,nil}]},
[{generate,13,
{var,13,filename_0},
{call,13,
{remote,13,{atom,13,reia_dispatch},{atom,13,call}},
[{var,13,filenames_0},
{atom,13,to_list},
{tuple,13,[]},
{atom,13,nil}]}}]}]},
{clause,14,
[{tuple,14,[{atom,14,error},{var,14,reason_0}]}],
[],
[{match,1,{var,1,filenames_0},{atom,1,nil}},
{call,15,
{atom,15,throw},
[{call,15,
{remote,15,{atom,15,reia},{atom,15,inst}},
[{atom,15,'RuntimeError'},
{tuple,15,[{integer,15,15},{var,15,reason_0}]},
{atom,15,nil}]}]}]},
{clause,11,
[{var,11,'_'}],
[],
[{match,1,{var,1,reason_0},{atom,1,nil}},
{match,1,{var,1,filenames_0},{atom,1,nil}},
{atom,11,nil}]}]}]}]},
{function,32,delete,2,
[{clause,32,
[{tuple,32,[{var,32,dir_0}]},{var,1,'_'}],
[],
[{'case',33,
{call,33,
{remote,33,{atom,33,file},{atom,33,del_dir}},
[{call,33,
{remote,33,{atom,33,reia_dispatch},{atom,33,call}},
[{var,33,dir_0},
{atom,33,to_list},
{tuple,33,[]},
{atom,1,nil}]}]},
[{clause,34,
[{atom,34,ok}],
[],
[{match,1,{var,1,reason_0},{atom,1,nil}},{atom,34,nil}]},
{clause,35,
[{tuple,35,[{atom,35,error},{var,35,reason_0}]}],
[],
[{call,36,
{atom,36,throw},
[{call,36,
{remote,36,{atom,36,reia},{atom,36,inst}},
[{atom,36,'RuntimeError'},
{tuple,36,[{integer,36,36},{var,36,reason_0}]},
{atom,36,nil}]}]}]},
{clause,33,
[{var,33,'_'}],
[],
[{match,1,{var,1,reason_0},{atom,1,nil}},{atom,33,nil}]}]}]}]},
{function,23,create,2,
[{clause,23,
[{tuple,23,[{var,23,dir_0}]},{var,1,'_'}],
[],
[{'case',24,
{call,24,
{remote,24,{atom,24,file},{atom,24,make_dir}},
[{call,24,
{remote,24,{atom,24,reia_dispatch},{atom,24,call}},
[{var,24,dir_0},
{atom,24,to_list},
{tuple,24,[]},
{atom,1,nil}]}]},
[{clause,25,
[{atom,25,ok}],
[],
[{match,1,{var,1,reason_0},{atom,1,nil}},{var,26,dir_0}]},
{clause,27,
[{tuple,27,[{atom,27,error},{var,27,reason_0}]}],
[],
[{call,28,
{atom,28,throw},
[{call,28,
{remote,28,{atom,28,reia},{atom,28,inst}},
[{atom,28,'RuntimeError'},
{tuple,28,[{integer,28,28},{var,28,reason_0}]},
{atom,28,nil}]}]}]},
{clause,24,
[{var,24,'_'}],
[],
[{match,1,{var,1,reason_0},{atom,1,nil}},
{atom,24,nil}]}]}]}]}]}]}]}]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment