/compiler/bifs.erl

http://github.com/maximk/teeterl · Erlang · 184 lines · 179 code · 4 blank · 1 comment · 0 complexity · 9c6bbb529638ea3f36baa44a9bd41820 MD5 · raw file

  1. -module(bifs).
  2. -export([is_builtin/3,bif_index/3,bif_spec/1]).
  3. is_builtin(file, write0, 2) -> true;
  4. is_builtin(file, read0, 2) -> true;
  5. is_builtin(file, open0, 3) -> true;
  6. is_builtin(gen_tcp, listen_socket, 2) -> true;
  7. is_builtin(gen_tcp, connect_socket, 4) -> true;
  8. is_builtin(gen_tcp, controlling_process, 2) -> true;
  9. is_builtin(inet, getaddrs0, 2) -> true;
  10. is_builtin(code, module_offset, 3) -> true;
  11. is_builtin(code, source_line, 2) -> true;
  12. is_builtin(code, load_module, 1) -> true;
  13. is_builtin(code, is_loaded, 1) -> true;
  14. is_builtin(erlang, daemonize, 0) -> true;
  15. is_builtin(erlang, display, 1) -> true;
  16. is_builtin(erlang, statistics, 1) -> true;
  17. is_builtin(erlang, close, 1) -> true;
  18. is_builtin(erlang, property, 3) -> true;
  19. is_builtin(erlang, property, 2) -> true;
  20. is_builtin(erlang, universaltime, 0) -> true;
  21. is_builtin(erlang, localtime, 0) -> true;
  22. is_builtin(erlang, time, 0) -> true;
  23. is_builtin(erlang, date, 0) -> true;
  24. is_builtin(erlang, now, 0) -> true;
  25. is_builtin(erlang, get, 1) -> true;
  26. is_builtin(erlang, get, 0) -> true;
  27. is_builtin(erlang, erase, 1) -> true;
  28. is_builtin(erlang, erase, 0) -> true;
  29. is_builtin(erlang, put, 2) -> true;
  30. is_builtin(erlang, exit, 2) -> true;
  31. is_builtin(erlang, exit, 1) -> true;
  32. is_builtin(erlang, throw, 1) -> true;
  33. is_builtin(erlang, error, 2) -> true;
  34. is_builtin(erlang, error, 1) -> true;
  35. is_builtin(erlang, '!', 2) -> true;
  36. is_builtin(erlang, spawn, 1) -> true;
  37. is_builtin(erlang, spawn, 3) -> true;
  38. is_builtin(erlang, whereis, 1) -> true;
  39. is_builtin(erlang, unregister, 1) -> true;
  40. is_builtin(erlang, register, 2) -> true;
  41. is_builtin(erlang, float_to_list, 1) -> true;
  42. is_builtin(erlang, atom_to_list, 1) -> true;
  43. is_builtin(erlang, list_to_binary, 1) -> true;
  44. is_builtin(erlang, binary_to_list, 3) -> true;
  45. is_builtin(erlang, binary_to_list, 1) -> true;
  46. is_builtin(erlang, term_to_binary, 1) -> true;
  47. is_builtin(erlang, binary_to_term, 1) -> true;
  48. is_builtin(erlang, list_to_tuple, 1) -> true;
  49. is_builtin(erlang, tuple_to_list, 1) -> true;
  50. is_builtin(erlang, append_element, 2) -> true;
  51. is_builtin(erlang, setelement, 3) -> true;
  52. is_builtin(erlang, make_tuple, 3) -> true;
  53. is_builtin(erlang, make_tuple, 2) -> true;
  54. is_builtin(erlang, '--', 2) -> true;
  55. is_builtin(erlang, '++', 2) -> true;
  56. is_builtin(lists, reverse, 2) -> true;
  57. is_builtin(lists, member, 2) -> true;
  58. is_builtin(lists, keyfind, 3) -> true;
  59. is_builtin(lists, keysearch, 3) -> true;
  60. is_builtin(lists, keymember, 3) -> true;
  61. is_builtin(_, _, _) -> false.
  62. bif_index(file, write0, 2) -> 0;
  63. bif_index(file, read0, 2) -> 1;
  64. bif_index(file, open0, 3) -> 2;
  65. bif_index(gen_tcp, listen_socket, 2) -> 3;
  66. bif_index(gen_tcp, connect_socket, 4) -> 4;
  67. bif_index(gen_tcp, controlling_process, 2) -> 5;
  68. bif_index(inet, getaddrs0, 2) -> 6;
  69. bif_index(code, module_offset, 3) -> 7;
  70. bif_index(code, source_line, 2) -> 8;
  71. bif_index(code, load_module, 1) -> 9;
  72. bif_index(code, is_loaded, 1) -> 10;
  73. bif_index(erlang, daemonize, 0) -> 11;
  74. bif_index(erlang, display, 1) -> 12;
  75. bif_index(erlang, statistics, 1) -> 13;
  76. bif_index(erlang, close, 1) -> 14;
  77. bif_index(erlang, property, 3) -> 15;
  78. bif_index(erlang, property, 2) -> 16;
  79. bif_index(erlang, universaltime, 0) -> 17;
  80. bif_index(erlang, localtime, 0) -> 18;
  81. bif_index(erlang, time, 0) -> 19;
  82. bif_index(erlang, date, 0) -> 20;
  83. bif_index(erlang, now, 0) -> 21;
  84. bif_index(erlang, get, 1) -> 22;
  85. bif_index(erlang, get, 0) -> 23;
  86. bif_index(erlang, erase, 1) -> 24;
  87. bif_index(erlang, erase, 0) -> 25;
  88. bif_index(erlang, put, 2) -> 26;
  89. bif_index(erlang, exit, 2) -> 27;
  90. bif_index(erlang, exit, 1) -> 28;
  91. bif_index(erlang, throw, 1) -> 29;
  92. bif_index(erlang, error, 2) -> 30;
  93. bif_index(erlang, error, 1) -> 31;
  94. bif_index(erlang, '!', 2) -> 32;
  95. bif_index(erlang, spawn, 1) -> 33;
  96. bif_index(erlang, spawn, 3) -> 34;
  97. bif_index(erlang, whereis, 1) -> 35;
  98. bif_index(erlang, unregister, 1) -> 36;
  99. bif_index(erlang, register, 2) -> 37;
  100. bif_index(erlang, float_to_list, 1) -> 38;
  101. bif_index(erlang, atom_to_list, 1) -> 39;
  102. bif_index(erlang, list_to_binary, 1) -> 40;
  103. bif_index(erlang, binary_to_list, 3) -> 41;
  104. bif_index(erlang, binary_to_list, 1) -> 42;
  105. bif_index(erlang, term_to_binary, 1) -> 43;
  106. bif_index(erlang, binary_to_term, 1) -> 44;
  107. bif_index(erlang, list_to_tuple, 1) -> 45;
  108. bif_index(erlang, tuple_to_list, 1) -> 46;
  109. bif_index(erlang, append_element, 2) -> 47;
  110. bif_index(erlang, setelement, 3) -> 48;
  111. bif_index(erlang, make_tuple, 3) -> 49;
  112. bif_index(erlang, make_tuple, 2) -> 50;
  113. bif_index(erlang, '--', 2) -> 51;
  114. bif_index(erlang, '++', 2) -> 52;
  115. bif_index(lists, reverse, 2) -> 53;
  116. bif_index(lists, member, 2) -> 54;
  117. bif_index(lists, keyfind, 3) -> 55;
  118. bif_index(lists, keysearch, 3) -> 56;
  119. bif_index(lists, keymember, 3) -> 57;
  120. bif_index(_, _, _) -> none.
  121. bif_spec(0) -> {file, write0, 2};
  122. bif_spec(1) -> {file, read0, 2};
  123. bif_spec(2) -> {file, open0, 3};
  124. bif_spec(3) -> {gen_tcp, listen_socket, 2};
  125. bif_spec(4) -> {gen_tcp, connect_socket, 4};
  126. bif_spec(5) -> {gen_tcp, controlling_process, 2};
  127. bif_spec(6) -> {inet, getaddrs0, 2};
  128. bif_spec(7) -> {code, module_offset, 3};
  129. bif_spec(8) -> {code, source_line, 2};
  130. bif_spec(9) -> {code, load_module, 1};
  131. bif_spec(10) -> {code, is_loaded, 1};
  132. bif_spec(11) -> {erlang, daemonize, 0};
  133. bif_spec(12) -> {erlang, display, 1};
  134. bif_spec(13) -> {erlang, statistics, 1};
  135. bif_spec(14) -> {erlang, close, 1};
  136. bif_spec(15) -> {erlang, property, 3};
  137. bif_spec(16) -> {erlang, property, 2};
  138. bif_spec(17) -> {erlang, universaltime, 0};
  139. bif_spec(18) -> {erlang, localtime, 0};
  140. bif_spec(19) -> {erlang, time, 0};
  141. bif_spec(20) -> {erlang, date, 0};
  142. bif_spec(21) -> {erlang, now, 0};
  143. bif_spec(22) -> {erlang, get, 1};
  144. bif_spec(23) -> {erlang, get, 0};
  145. bif_spec(24) -> {erlang, erase, 1};
  146. bif_spec(25) -> {erlang, erase, 0};
  147. bif_spec(26) -> {erlang, put, 2};
  148. bif_spec(27) -> {erlang, exit, 2};
  149. bif_spec(28) -> {erlang, exit, 1};
  150. bif_spec(29) -> {erlang, throw, 1};
  151. bif_spec(30) -> {erlang, error, 2};
  152. bif_spec(31) -> {erlang, error, 1};
  153. bif_spec(32) -> {erlang, '!', 2};
  154. bif_spec(33) -> {erlang, spawn, 1};
  155. bif_spec(34) -> {erlang, spawn, 3};
  156. bif_spec(35) -> {erlang, whereis, 1};
  157. bif_spec(36) -> {erlang, unregister, 1};
  158. bif_spec(37) -> {erlang, register, 2};
  159. bif_spec(38) -> {erlang, float_to_list, 1};
  160. bif_spec(39) -> {erlang, atom_to_list, 1};
  161. bif_spec(40) -> {erlang, list_to_binary, 1};
  162. bif_spec(41) -> {erlang, binary_to_list, 3};
  163. bif_spec(42) -> {erlang, binary_to_list, 1};
  164. bif_spec(43) -> {erlang, term_to_binary, 1};
  165. bif_spec(44) -> {erlang, binary_to_term, 1};
  166. bif_spec(45) -> {erlang, list_to_tuple, 1};
  167. bif_spec(46) -> {erlang, tuple_to_list, 1};
  168. bif_spec(47) -> {erlang, append_element, 2};
  169. bif_spec(48) -> {erlang, setelement, 3};
  170. bif_spec(49) -> {erlang, make_tuple, 3};
  171. bif_spec(50) -> {erlang, make_tuple, 2};
  172. bif_spec(51) -> {erlang, '--', 2};
  173. bif_spec(52) -> {erlang, '++', 2};
  174. bif_spec(53) -> {lists, reverse, 2};
  175. bif_spec(54) -> {lists, member, 2};
  176. bif_spec(55) -> {lists, keyfind, 3};
  177. bif_spec(56) -> {lists, keysearch, 3};
  178. bif_spec(57) -> {lists, keymember, 3};
  179. bif_spec(_) -> none.
  180. %%EOF