]> Nishi Git Mirror - gwion.git/commitdiff
:art: Remove xxxfix
authorJérémie Astor <fennecdjay@gmail.com>
Tue, 29 Mar 2022 18:01:34 +0000 (20:01 +0200)
committerJérémie Astor <fennecdjay@gmail.com>
Tue, 29 Mar 2022 18:01:34 +0000 (20:01 +0200)
ast
src/parse/scan0.c
src/parse/scan1.c
tests/xxxfix/bin_func.gw [deleted file]
tests/xxxfix/post_func.gw [deleted file]
tests/xxxfix/unary_func.gw [deleted file]

diff --git a/ast b/ast
index 8d7ea62306b8ef35567f01c994ec837e2ff2da04..c1f3c9f30ab17aae64b61f5635f745abf88ef8e3 160000 (submodule)
--- a/ast
+++ b/ast
@@ -1 +1 @@
-Subproject commit 8d7ea62306b8ef35567f01c994ec837e2ff2da04
+Subproject commit c1f3c9f30ab17aae64b61f5635f745abf88ef8e3
index b5e41bd3ad1ff6964aba69b43f8e0ba24469ae38..9e1e5f7777dfe435d1dc9089ecc92f4e5f2859d0 100644 (file)
@@ -62,7 +62,6 @@ static void fptr_def(const Env env, const Fptr_Def fptr) {
 ANN m_bool scan0_fptr_def(const Env env, const Fptr_Def fptr) {
   CHECK_BB(env_access(env, fptr->base->flag, fptr->base->td->pos));
   CHECK_BB(scan0_defined(env, fptr->base->xid, fptr->base->td->pos));
-  ;
   const m_str name   = s_name(fptr->base->xid);
   const Type  t      = scan0_type(env, name, env->gwion->type[et_fptr]);
   const bool  global = !env->class_def && GET_FLAG(fptr->base, global);
index cc2d969cea5d8108aefd5328f5c5b04c60fc3f11..04b224157973dc05de0542dc399347600f86d730 100644 (file)
@@ -169,42 +169,8 @@ ANN m_bool scan1_exp_decl(const Env env, const Exp_Decl *decl) {
   return ret;
 }
 
-ANN static inline int opiscall(const Symbol sym) {
-  const m_str opname = s_name(sym);
-  return (opname[0] == '@' || opname[0] == '&') &&
-         (isalpha(opname[1]) || opname[1] == '_');
-}
-
-ANN static inline Exp sym2func(const Env env, const Symbol sym,
-                               const loc_t pos) {
-  MemPool     mp   = env->gwion->mp;
-  const m_str name = s_name(sym);
-  return new_prim_id(mp, insert_symbol(name + 1), pos);
-}
-
-ANN static void binary_args(const Exp_Binary *bin) {
-  Exp arg = bin->lhs;
-  while (arg->next) arg = arg->next;
-  arg->next = bin->rhs;
-}
-
-ANN static m_bool exp2call(const Env env, const Exp e, const Symbol sym,
-                           const Exp args) {
-  e->exp_type        = ae_exp_call;
-  e->d.exp_call.func = sym2func(env, sym, e->pos);
-  e->d.exp_call.args = args;
-  e->d.exp_call.tmpl = NULL;
-  return scan1_exp(env, e);
-}
-
-ANN static m_bool binary2call(const Env env, const Exp_Binary *bin) {
-  binary_args(bin);
-  return exp2call(env, exp_self(bin), bin->op, bin->lhs);
-}
-
 ANN static inline m_bool scan1_exp_binary(const Env         env,
                                           const Exp_Binary *bin) {
-  if (opiscall(bin->op)) return binary2call(env, bin);
   CHECK_BB(scan1_exp(env, bin->lhs));
   return scan1_exp(env, bin->rhs);
 }
@@ -241,8 +207,6 @@ ANN static inline m_bool scan1_exp_cast(const Env env, const Exp_Cast *cast) {
 }
 
 ANN static m_bool scan1_exp_post(const Env env, const Exp_Postfix *post) {
-  if (opiscall(post->op))
-    return exp2call(env, exp_self(post), post->op, post->exp);
   CHECK_BB(scan1_exp(env, post->exp));
   const m_str access = exp_access(post->exp);
   if (!access) return GW_OK;
@@ -273,8 +237,7 @@ ANN static inline m_bool scan1_exp_unary(const restrict Env env,
                                          const Exp_Unary *  unary) {
   if (unary->unary_type == unary_code) {
     RET_NSPC(scan1_stmt(env, unary->code))
-  } else if (opiscall(unary->op))
-    return exp2call(env, exp_self(unary), unary->op, unary->exp);
+  }
   return unary->unary_type == unary_exp ? scan1_exp(env, unary->exp) : GW_OK;
 }
 
diff --git a/tests/xxxfix/bin_func.gw b/tests/xxxfix/bin_func.gw
deleted file mode 100644 (file)
index 8b0fcf6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-fun int add(int i, int j) {
-  return i + j;
-}
-
-<<< 1 @add 2 >>>;
diff --git a/tests/xxxfix/post_func.gw b/tests/xxxfix/post_func.gw
deleted file mode 100644 (file)
index aa59f5e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-fun int add(int i) {
-  return i + 3;
-}
-
-<<< 2 (&add)>>>;
diff --git a/tests/xxxfix/unary_func.gw b/tests/xxxfix/unary_func.gw
deleted file mode 100644 (file)
index 51c9081..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-fun int add(int i) {
-  return i + 3;
-}
-
-<<< (&add) 2 >>>;