init.cpp 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /**
  2. * This file is part of Gomu.
  3. *
  4. * Copyright 2016 by Jean Fromentin <jean.fromentin@math.cnrs.fr>
  5. *
  6. * Gomu is free software: you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License as published by
  8. * the Free Software Foundation, either version 3 of the License, or
  9. * (at your option) any later version.
  10. *
  11. * Gomu is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. * GNU General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU General Public License
  17. * along with Gomu. If not, see <http://www.gnu.org/licenses/>.
  18. */
  19. #include "init.hpp"
  20. extern "C"{
  21. bool True=true;
  22. bool False=false;
  23. Gomu::Type types[]={
  24. TYPE_SENTINEL
  25. };
  26. //--- Functions ---//
  27. Gomu::Module::Function functions[]={
  28. {"Integer","len",{"String"},(void*)string_len},
  29. {"Integer","len",{"Array"},(void*)array_len},
  30. FUNC_SENTINEL
  31. };
  32. //--- Member functions ---//
  33. Gomu::Module::Function member_functions[]={
  34. {"Integer","len",{"String"},(void*)string_len},
  35. {"Array","types",{"Module"},(void*)module_types},
  36. FUNC_SENTINEL
  37. };
  38. //--- Contextual functions ---//
  39. Gomu::Module::Function contextual_functions[]={
  40. {"Void","check",{"Module"},(void*)module_check},
  41. {"Void","delete",{"Symbol"},(void*)del},
  42. {"Void","execute",{"String"},(void*)execute},
  43. {"Generic","operator=",{"Symbol","Generic"},(void*)assignment},
  44. {"Boolean","operator==",{"Generic","Generic"},(void*)equality},
  45. {"Array","symbols",{"Type"},(void*)member_symbols},
  46. {"Type","type",{"Generic"},(void*)type},
  47. FUNC_SENTINEL
  48. };
  49. Gomu::Module::Symbol symbols[]={
  50. {"true","Boolean",(void*)&True},
  51. {"false","Boolean",(void*)&False},
  52. SYMB_SENTINEL
  53. };
  54. }