commit 8930bdee2e7de948cd34438370fb67527ae92afa
parent 1d9ca57e5cdfaa5cc1915b44032fe3d2f4017484
Author: amin <dev@aminmesbah.com>
Date: Thu, 27 Apr 2017 18:31:53 +0000
Clarify comments.
FossilOrigin-Name: d506e72ef0445b437aff691129da13bf09ce9e98e282d93f237b40569c320e49
Diffstat:
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/speller.py b/speller.py
@@ -34,13 +34,13 @@ def spell(word, symbols=ELEMENTS):
"""
log.info('Word: {}'.format(word))
- log.debug('Using graph speller')
g = Graph()
build_spelling_graph(word, g)
elemental_spellings = sorted(
[
tuple(node.value.capitalize() for node in path)
+ # There will only ever be at most 2 firsts and 2 lasts.
for first in g.firsts()
for last in g.lasts()
for path in find_all_paths(g._children_of, first, last)
@@ -129,13 +129,13 @@ class Graph():
return export.getvalue()
-# A single node of the graph.
+# A single node of the graph. A glyph and its position in the word.
Node = namedtuple('Node', ['value', 'position'])
def build_spelling_graph(word, graph, symbols=ELEMENTS):
"""Given a word and a graph, find all single and double-character
- tokens in the word. Add them to the graph only if they are present
+ glyphs in the word. Add them to the graph only if they are present
within the given set of allowed symbols.
"""
@@ -143,8 +143,8 @@ def build_spelling_graph(word, graph, symbols=ELEMENTS):
"""Pop the single and double-character roots off the front of a
given string, then recurse into what remains.
- For the word 'because', the roots and remainders look something
- like:
+ For the word 'because', the roots and remainders for each call
+ look something like:
'b' 'ecause'
'e' 'cause'
diff --git a/stoichiograph.py b/stoichiograph.py
@@ -109,6 +109,7 @@ def main():
with words_file.open('r') as f:
dictionary = f.readlines()
+ # TODO(amin): Handle punctuation, apostraphies, etc.
words = [word.rstrip('\n') for word in dictionary if "'" not in word]
else:
words = args.words