Remove obsolete work.py module
authorNick Downing <nick@ndcode.org>
Sun, 27 Jan 2019 23:08:47 +0000 (10:08 +1100)
committerNick Downing <nick@ndcode.org>
Mon, 28 Jan 2019 10:25:15 +0000 (21:25 +1100)
dfa.py
work.py [deleted file]

diff --git a/dfa.py b/dfa.py
index 7a7597b..d9277f2 100644 (file)
--- a/dfa.py
+++ b/dfa.py
@@ -3,7 +3,7 @@ import element
 import flex_dfa
 import numpy
 import numpy_heap
-import work
+#import work
 import sys
 
 # defines the alphabet size, set this to 0x11000 for unicode
diff --git a/work.py b/work.py
deleted file mode 100644 (file)
index cf832c4..0000000
--- a/work.py
+++ /dev/null
@@ -1,173 +0,0 @@
-import sys
-import element
-
-def yychunk_line(root, fin):
-  line = fin.readline()
-  while len(line):
-    element.set_text(root, -1, element.get_text(root, -1) + line)
-    yield
-    line = fin.readline()
-
-def yychunk_block(root, fin, count):
-  block = fin.read(count)
-  while len(block):
-    element.set_text(root, -1, element.get_text(root, -1) + line)
-    yield
-    block = fin.read(count)
-
-def replace_with_element(root, pos0, off0, pos1, off1, child):
-  if pos0 < 0:
-    pos0, off0 = element.to_start_relative(root, pos0, off0)
-  if pos1 < 0:
-    pos1, off1 = element.to_start_relative(root, pos1, off1)
-  count = pos1 - pos0
-  assert count >= 0
-
-  temp = element.get_text(root, pos1)
-  root[pos0:pos1] = [child]
-  element.set_text(root, pos0 + 1, temp[off1:])
-  if count != 0:
-    temp = element.get_text(root, pos0)
-  element.set_text(root, pos0, temp[:off0])
-
-def replace_with_text(root, mark, i, j, text):
-  (pos0, off0) = mark[i]
-  (pos1, off1) = mark[j]
-  count = pos1 - pos0
-  assert count >= 0
-
-  temp = element.get_tail(root, pos1)
-  del root[pos0 + 1:pos1 + 1]
-  element.set_tail(
-    root,
-    pos0,
-    element.get_tail(root, pos0)[:off0] + text + temp[off1:]
-  )
-
-  if j != i + 1:
-    mark[i + 1:j + 1] = [mark[j]]
-  k = i + 1
-  delta_pos = -count
-  delta_off = off0 + len(text) - off1
-  while k < len(mark):
-    (pos2, off2) = mark[k]
-    if pos2 > pos1:
-      break
-    mark[k] = (pos2 + delta_pos, off2 + delta_off)
-    k += 1
-  if delta_pos != 0:
-    while k < len(mark):
-      (pos2, off2) = mark[k]
-      mark[k] = (pos2 + delta_pos, off2)
-      k += 1
-
-def replace_with_content(root, mark, i, j, child):
-  text = element.get_tail(child, -1)
-  if len(child) == 0:
-    replace_with_text(root, mark, i, j, text)
-  else:
-    (pos0, off0) = mark[i]
-    (pos1, off1) = mark[j]
-    count = pos1 - pos0
-    assert count >= 0
-  
-    temp = element.get_tail(root, pos1)
-    root[pos0 + 1:pos1 + 1] = child[:]
-    tail = element.get_tail(root, pos0 + len(child))
-    element.set_tail(root, pos0 + len(child), tail + temp[off1:])
-    if count != 0:
-      temp = element.get_tail(root, pos0)
-    element.set_tail(root, pos0, temp[:off0] + text)
-  
-    if j != i + 1:
-      mark[i + 1:j + 1] = [mark[j]]
-    k = i + 1
-    delta_pos = len(child) - count
-    delta_off = len(tail) - off1
-    while k < len(mark):
-      (pos2, off2) = mark[k]
-      if pos2 > pos1:
-        break
-      mark[k] = (pos2 + delta_pos, off2 + delta_off)
-      k += 1
-    if delta_pos != 0:
-      while k < len(mark):
-        (pos2, off2) = mark[k]
-        mark[k] = (pos2 + delta_pos, off2)
-        k += 1
-
-def extract_element(root, mark, i, j, factory, *args, **kwargs):
-  (pos0, off0) = mark[i]
-  (pos1, off1) = mark[j]
-  count = pos1 - pos0
-  assert count >= 0
-
-  result = factory(*args, **kwargs)
-  result[:] = [i.copy() for i in root[pos0 + 1:pos1 + 1]]
-  tail = element.get_tail(root, pos1)
-  if count == 0:
-    element.set_tail(result, -1, tail[off0:off1])
-  else:
-    element.set_tail(result, count - 1, tail[:off1])
-    tail = element.get_tail(root, pos0)
-    element.set_tail(result, -1, tail[off0:])
-  return result
-
-def extract_text(root, mark, i, j):
-  (pos0, off0) = mark[i]
-  (pos1, off1) = mark[j]
-  #result = [element.get_tail(root, i) for i in range(pos0, pos1 + 1)]
-  #result[-1] = result[-1][:off1]
-  #result[0] = result[0][off0:]
-  #return ''.join(result)
-  assert pos1 == pos0
-  return element.get_tail(root, pos0)[off0:off1]
-
-def apply_markup(root, pos0, off0, pos1, off1, factory, *args, **kwargs):
-  if pos0 < 0:
-    pos0, off0 = element.to_start_relative(root, pos0, off0)
-  if pos1 < 0:
-    pos1, off1 = element.to_start_relative(root, pos1, off1)
-  count = pos1 - pos0
-  assert count >= 0
-
-  child = factory(*args, **kwargs)
-  child[:] = root[pos0:pos1]
-
-  tail = element.get_text(root, pos1)
-  # at present, if count > 0, child[-1] is shared with root[pos1 - 1],
-  # so we cannot change child[-1].tail until after the replacement
-  if count == 0:
-    replace_with_element(root, pos0, off0, pos1, off1, child)
-    element.set_text(child, 0, tail[off0:off1])
-  else:
-    temp = element.get_text(root, pos0)
-    replace_with_element(root, pos0, off0, pos1, off1, child)
-    element.set_text(child, count, tail[:off1])
-    element.set_text(child, 0, temp[off0:])
-  return child
-
-def dump(root, mark):
-  i = 0
-  pos = -1
-  result = ''
-  while True:
-    assert i >= len(mark) or mark[i][0] >= pos
-    tail = element.get_tail(root, pos) 
-    off = 0
-    while off < len(tail) or (i < len(mark) and mark[i][0] == pos):
-      end = len(tail) if i >= len(mark) or mark[i][0] != pos else mark[i][1]
-      if end > off:
-        result += tail[off:end].replace('\n', '(lf)').replace('\t', '(tab)')
-        off = end
-      if i < len(mark) and mark[i][0] == pos:
-        result += '({0:d})'.format(i)
-        i += 1
-    pos += 1
-    if pos >= len(root):
-      break
-    result += '({0:s}{1:d})'.format(root[pos].tag, pos)
-  assert i >= len(mark)
-  result += '(eof)'
-  sys.stdout.write('{0:s}\n'.format(result[-159:])) #79:]))
-  sys.stdout.flush()