diff options
Diffstat (limited to 'ass2/ukkonen.py')
| -rw-r--r-- | ass2/ukkonen.py | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/ass2/ukkonen.py b/ass2/ukkonen.py index b4b0b98..bc8b563 100644 --- a/ass2/ukkonen.py +++ b/ass2/ukkonen.py @@ -1,10 +1,11 @@ import sys +ALPHABET_SIZE = 28 class OrderedDict(dict): def __init__(self): super().__init__() - self.first_letters = [None for _ in range(27)] + self.first_letters = [None for _ in range(ALPHABET_SIZE)] def __setitem__(self, key, value): super().__setitem__(key, value) @@ -22,10 +23,13 @@ class OrderedDict(dict): @staticmethod def rank(char): - # result = 26 if char == "$" else ord(char) - 97 - result = 0 if char == "$" else ord(char) - 96 - assert result in range(0, 27) - return result + if char == "$": + return 26 + elif char == "&": + return 27 + else: + return ord(char) - 96 + class Node: @@ -118,8 +122,6 @@ class Point: self.node = node self.edge = "" self.length = 0 - if not self.is_explicit(): - print("WARNING: Node.set_node", file=sys.stderr) @property def edge_node(self) -> Node: |
