remove unused codes
authorK.Kosako <kosako@sofnec.co.jp>
Tue, 1 Aug 2017 05:30:00 +0000 (14:30 +0900)
committerK.Kosako <kosako@sofnec.co.jp>
Tue, 1 Aug 2017 05:30:00 +0000 (14:30 +0900)
src/regparse.c

index 2d639b732a28402ad4f14d31c7d9140ad719a68c..a33d210e6d85b53e8d65d8a1b9deebb36ec70433 100644 (file)
@@ -1636,373 +1636,6 @@ node_new_keep(Node** node, ScanEnv* env)
   return ONIG_NORMAL;
 }
 
-#if 0
-static int
-node_is_include_enclosure_memory(Node* node)
-{
-  int t;
-  int r = 0;
-
-  switch (NODE_TYPE(node)) {
-  case NODE_LIST:
-  case NODE_ALT:
-    do {
-      t = node_is_include_enclosure_memory(NODE_CAR(node));
-      if (t != 0) return t;
-    } while (IS_NOT_NULL(node = NODE_CDR(node)));
-    break;
-
-  case NODE_QUANT:
-    r = node_is_include_enclosure_memory(NODE_BODY(node));
-    break;
-
-  case NODE_ENCLOSURE:
-    {
-      EnclosureNode* en = ENCLOSURE_(node);
-      switch (en->type) {
-      case ENCLOSURE_MEMORY:
-        return 1;
-        break;
-
-      case ENCLOSURE_OPTION:
-      case ENCLOSURE_STOP_BACKTRACK:
-        r = node_is_include_enclosure_memory(NODE_BODY(node));
-        break;
-      case ENCLOSURE_IF_ELSE:
-        r = node_is_include_enclosure_memory(NODE_BODY(node));
-        if (r != 0) return r;
-
-        if (IS_NOT_NULL(en->te.Then)) {
-          r = node_is_include_enclosure_memory(en->te.Then);
-          if (r != 0) return r;
-        }
-        if (IS_NOT_NULL(en->te.Else)) {
-          r = node_is_include_enclosure_memory(en->te.Else);
-          if (r != 0) return r;
-        }
-        break;
-      }
-    }
-    break;
-
-#ifdef USE_CALL
-  case NODE_CALL:
-    /* fall */
-#endif
-  default:
-    break;
-  }
-
-  return r;
-}
-
-static int
-make_fail_with_after(Node** rnode, ScanEnv* env, int num, Node* ns[])
-{
-  int r;
-  int i;
-  int n;
-  int* used;
-  Node** us;
-  Node* f;
-  Node* x;
-
-  *rnode = NULL_NODE;
-  r = node_new_fail(&f, env);
-  if (r != 0) return r;
-
-  if (num <= 0) {
-    *rnode = f;
-    return ONIG_NORMAL;
-  }
-
-  us = (Node** )xmalloc(sizeof(*us) * (num + 1));
-  if (IS_NULL(us)) {
-    onig_node_free(f);
-    return ONIGERR_MEMORY;
-  }
-
-  used = (int* )xmalloc(sizeof(*used) * num);
-  if (IS_NULL(used)) goto err1;
-  for (i = 0; i < num; i++) used[i] = 0;
-
-  n = 0;
-  us[n++] = f;
-  for (i = 0; i < num; i++) {
-    if (node_is_include_enclosure_memory(ns[i])) {
-      us[n++] = ns[i];
-      used[i] = 1;
-    }
-  }
-
-  if (n == 1) {
-    *rnode = f;
-    goto end;
-  }
-
-  x = make_list(n, us);
-  if (IS_NULL(x)) {
-    xfree(used);
-  err1:
-    xfree(us);
-    onig_node_free(f);
-    return ONIGERR_MEMORY;
-  }
-
-  *rnode = x;
- end:
-  for (i = 0; i < num; i++) {
-    if (used[i] == 0) onig_node_free(ns[i]);
-  }
-
-  xfree(used);
-  xfree(us);
-  return ONIG_NORMAL;
-}
-
-static int
-make_absent_group_repeated_body_tree(Node** node,
-                                     Node* absent_body, Node* step_body,
-                                     ScanEnv* env, int* rid)
-{
-  int i;
-  int r;
-  int id;
-  Node* top;
-  Node* ns1[3];
-  Node* ns2[2];
-
-  *node = NULL_NODE;
-
-  for (i = 0; i < 3; i++) ns1[i] = NULL_NODE;
-  for (i = 0; i < 2; i++) ns2[i] = NULL_NODE;
-
-  ns1[0] = absent_body;
-  ns2[1] = step_body;
-
-  r = node_new_update_var_gimmick(&ns1[1], UPDATE_VAR_RIGHT_RANGE_SPREV, 0, env);
-  if (r != 0) goto err;
-  *rid = id = GIMMICK_(ns1[1])->id;
-
-  r = node_new_fail(&ns1[2], env);
-  if (r != 0) goto err;
-
-  ns2[0] = make_list(3, ns1 + 0);
-  if (IS_NULL(ns2[0])) goto err;
-  for (i = 0; i < 3; i++) ns1[i] = NULL_NODE;
-
-  top = make_alt(2, ns2 + 0);
-  if (IS_NULL(top)) goto err;
-
-  *node = top;
-  return ONIG_NORMAL;
-
- err:
-  for (i = 0; i < 3; i++) onig_node_free(ns1[i]);
-  for (i = 0; i < 2; i++) onig_node_free(ns2[i]);
-  return ONIGERR_MEMORY;
-}
-
-static int
-make_absent_group_restore_fail_for_lower_no_zero(Node** node, Node* repeat_line,
-                                                 int id, ScanEnv* env)
-{
-  int r;
-  Node* restore;
-  Node* alt;
-  Node* ns[2];
-
-  restore = NULL_NODE;
-  ns[0] = ns[1] = NULL_NODE;
-  r = node_new_update_var_gimmick(&ns[0],
-                                  UPDATE_VAR_RIGHT_RANGE_FROM_STACK, id, env);
-  if (r != 0) goto err;
-
-  r = node_new_fail(&ns[1], env);
-  if (r != 0) goto err;
-
-  restore = make_list(2, ns);
-  if (IS_NULL(restore)) {
-    r = ONIGERR_MEMORY;
-    goto err;
-  }
-
-  ns[0] = repeat_line;
-  ns[1] = restore;
-  alt = make_alt(2, ns);
-  if (IS_NULL(alt)) {
-    r = ONIGERR_MEMORY;
-    goto err1;
-  }
-  *node = alt;
-  return ONIG_NORMAL;
-
- err:
-  onig_node_free(ns[0]);
-  onig_node_free(ns[1]);
- err1:
-  onig_node_free(restore);
-  return r;
-}
-
-static int
-make_absent_group_tree(Node** node, Node* absent_body,
-                       Node* generator, ScanEnv* env)
-{
-  int r;
-  int invalid_node;
-  int lower;
-  int id;
-  OnigLen min_len;
-  Node* top;
-  Node* repeat;
-  Node* step_body;
-  Node* repeat_body;
-  Node* stop_bt;
-  Node* save;
-  Node* update;
-  Node* ns[3];
-
-  *node = NULL_NODE;
-  update = stop_bt = save = repeat_body = repeat = step_body = NULL_NODE;
-
-  r = ONIGERR_MEMORY;
-  if (IS_NULL(generator)) {
-    /* default generator */
-#if 1
-    r = node_new_true_anychar(&step_body, env);
-    if (r != 0) goto err1;
-#else
-    step_body = node_new_anychar();
-    if (IS_NULL(step_body)) goto err1;
-#endif
-    lower = 0;
-    repeat = node_new_quantifier(lower, REPEAT_INFINITE, 0);
-    if (IS_NULL(repeat)) goto err1;
-  }
-  else {
-    QuantNode* q;
-    Node* body;
-
-    r = ONIGERR_INVALID_ABSENT_GROUP_GENERATOR_PATTERN;
-    if (NODE_TYPE(generator) != NODE_QUANT) {
-      if (NODE_TYPE(generator) != NODE_ENCLOSURE ||
-          ENCLOSURE_(generator)->type != ENCLOSURE_STOP_BACKTRACK)
-        goto err0;
-
-      stop_bt = generator;
-      generator = NODE_BODY(stop_bt);
-      NODE_BODY(stop_bt) = NULL_NODE;
-      if (NODE_TYPE(generator) != NODE_QUANT) goto err0;
-    }
-
-    q = QUANT_(generator);
-    if (q->greedy == 0) goto err0;
-    body = NODE_BODY(generator);
-    invalid_node = 0;
-    min_len = onig_get_tiny_min_len(body, (BIT_NODE_CALL), &invalid_node);
-    if (invalid_node != 0) {
-      r = ONIGERR_INVALID_ABSENT_GROUP_GENERATOR_PATTERN;
-      goto err0;
-    }
-    if (min_len == 0) goto err0;
-
-    repeat = generator;
-    step_body = body;
-    NODE_BODY(repeat) = NULL_NODE;
-    generator = NULL_NODE;
-    lower = QUANT_(repeat)->lower;
-  }
-
-  invalid_node = 0;
-  min_len = onig_get_tiny_min_len(absent_body, (BIT_NODE_CALL | BIT_NODE_BACKREF),
-                                  &invalid_node);
-  if (invalid_node != 0) {
-    r = ONIGERR_INVALID_ABSENT_GROUP_PATTERN;
-    goto err0;
-  }
-  if (min_len == 0) { // (?~) ==> simple fail
-    Node* fail_with_after;
-    Node* ns[2];
-
-    ns[0] = step_body; ns[1] = absent_body;
-    r = make_fail_with_after(&fail_with_after, env, 2, ns);
-    if (r != 0) goto err0;
-
-    *node = fail_with_after;
-    onig_node_free(repeat);
-    onig_node_free(stop_bt);
-    return ONIG_NORMAL;
-  }
-
-  r = make_absent_group_repeated_body_tree(&repeat_body, absent_body,
-                                      step_body, env, &id);
-  if (r != 0) goto err2;
-
-  NODE_BODY(repeat) = repeat_body;
-  if (IS_NOT_NULL(stop_bt)) {
-    NODE_BODY(stop_bt) = repeat;
-    repeat = NULL_NODE;
-  }
-
-  r = node_new_save_gimmick(&save, SAVE_RIGHT_RANGE, env);
-  if (r != 0) goto err2;
-
-  ns[0] = save;
-  ns[1] = IS_NULL(stop_bt) ? repeat : stop_bt;
-
-  r = node_new_update_var_gimmick(&update, UPDATE_VAR_RIGHT_RANGE_FROM_STACK,
-                                  id, env);
-  if (r != 0) goto err2;
-  ns[2] = update;
-
-  if (lower == 0) {
-    top = make_list(3, ns);
-    if (IS_NULL(top)) {
-      r = ONIGERR_MEMORY;
-      goto err2;
-    }
-  }
-  else {
-    Node* alt;
-    Node* repeat_line;
-    repeat_line = make_list(2, ns + 1);
-    if (IS_NULL(repeat_line)) {
-      r = ONIGERR_MEMORY;
-      goto err2;
-    }
-
-    r = make_absent_group_restore_fail_for_lower_no_zero(&alt, repeat_line, id, env);
-    if (r != 0) goto err2;
-
-    ns[1] = alt;
-    top = make_list(2, ns);
-    if (IS_NULL(top)) {
-      NODE_CAR(alt) = NULL_NODE;
-      onig_node_free(alt);
-      r = ONIGERR_MEMORY;
-      goto err2;
-    }
-  }
-
-  *node = top;
-  return ONIG_NORMAL;
-
- err0:
-  onig_node_free(generator);
- err1:
-  onig_node_free(absent_body);
-  onig_node_free(step_body);
- err2:
-  onig_node_free(repeat);
-  onig_node_free(stop_bt);
-  onig_node_free(save);
-  onig_node_free(update);
-
-  return r;
-}
-#endif
-
 static int
 make_absent_engine(Node** node, int pre_save_right_id, Node* absent,
                    Node* step_one, int lower, int upper, int possessive,