1. 31 Oct, 2019 1 commit
  2. 27 Oct, 2019 3 commits
    • Vivien Kraus's avatar
      Declare the input parameters for the Guile bindings · eaeaa33e
      Vivien Kraus authored
      The goal is to generate functions of the form:
      #+BEGIN_SRC C
        /* Bind to TarotMachin *function (TarotChose *input_parameter, size_t size, TarotElement *array_rewritten, TarotBidule *output_parameter); */
        static SCM
        tarot_guile_function (SCM g_input_parameter, SCM g_array_rewritten)
        {
          TarotChose *c_input_parameter;
          size_t c_size;
          TarotElement *c_array_rewritten;
          TarotMachin *c_ret;
          TarotBidule c_output_parameter;
          SCM g_ret = SCM_EOL;
          bind_chose (g_input_parameter, c_input_parameter);
          bind_element_array (g_array_rewritten, &c_size, c_array_rewritten);
          c_ret = function (c_input_parameter, c_size, c_array_rewritten, &c_output_parameter);
          clean_chose (&c_input_parameter);
          g_ret = push_machin (g_ret, c_ret);
          g_ret = push_element_array (g_ret, c_size, c_array_rewritten);
          g_ret = push_bidule (g_ret, c_output_parameter);
          return g_ret;
        }
      #+END_SRC
      
      In this commit, we declare the input types.
      eaeaa33e
    • Vivien Kraus's avatar
      Generate the bindings directly in C · 697bf715
      Vivien Kraus authored
      The other options were ot generate scheme code, or use scheme macros
      to generate it at macro expand time.
      
      The latter is not possible in r7rs-small, because syntax-case has been
      removed.  So I will not go down this road.
      
      The former is quite awkward, because we constantly need to jump in the
      XML document in order to get the C type names of things.
      
      So for now everything is XSLT+C.
      697bf715
    • Vivien Kraus's avatar
      f03d90cc
  3. 26 Oct, 2019 1 commit
  4. 21 Oct, 2019 1 commit
  5. 20 Oct, 2019 1 commit
  6. 14 Oct, 2019 2 commits
  7. 13 Oct, 2019 9 commits
  8. 12 Oct, 2019 5 commits
  9. 11 Oct, 2019 17 commits