예제 #1
0
def add_word(suffix, word):
    if suffix is None:
        return ImmDict().put(word, 1)
    elif suffix.get(word) != None:
        return suffix.put(word, 1 + suffix.get(word))
    else:
        return suffix.put(word, 1)
예제 #2
0
def build(filename):
    return build_chain(None, pairs_gen(filename, line_gen), ImmDict())


#for pair in pairs_gen('iliad.txt', line_gen):
#    print(pair)

#t = ImmDict()
#suff1 = ImmDict()
#suff1.dictionary = {"great": 2, "silly": 1}
#suff2 = ImmDict()
#suff2.dictionary = {"funny": 8, "nonsense": 1}
#t.dictionary = {("Yusuf", "is"): suff1, ("Navin", "is"): suff2}
#result = add_to_chain(t, (("Yusuf", "is"), "asdffg")).dictionary
#print(result.get(("Yusuf", "is")).dictionary)
#f = ImmDict()
#suff3 = ImmDict()
#suff3.dictionary = {"great": 2, "silly": 1}
#suff4 = ImmDict()
#suff4.dictionary = {"funny": 8, "nonsense": 1}
#f.dictionary = {("Yusuf", "is"): suff3, ("Navin", "is"): suff4}
#result2 = add_to_chain(f, (("Yusuf", "not"), "asdffg")).dictionary
#print(result2.get(("Yusuf", "not")).dictionary)
#print(result)
#result = add_to_chain(t, (("Yusuf", "is"), "silly")).dictionary
#print(result.get(("Yusuf", "is")).dictionary)
#print(result)
#result = pairs_gen('dracula.txt', line_gen)
#for line in result:
#    print(line)

#generator = pairs_gen('test.txt', line_gen)
#chain = build_chain(None, generator, ImmDict())
#for key in chain.dictionary:
#    print(key)
#    print(chain.dictionary[key].dictionary)
#result = build("aladdin.txt")
#for key in result.dictionary:
#    print(key)
#    print(result.dictionary[key].dictionary)

#TESTING
#for line in line_gen('iliad.txt'):
#print(line)

#for pair in pairs_gen('iliad.txt', line_gen):
#print(pair)
예제 #3
0
def empty_suffix():
    return ImmDict()
예제 #4
0
def empty_suffix():
    """Returns an instance of the ImmDict class- an empty immutable dictionary."""
    return ImmDict()
예제 #5
0
def build(file_name):
    gen = pairs_gen(file_name, line_gen)
    return build_chain(add_to_chain, gen, ImmDict())
예제 #6
0
def add_to_chain(chain, pair):
    if chain.get(pair[0]) is None:
        return chain.put(pair[0], suffix.add_word(ImmDict(), pair[1]))
    else:
        value = chain.get(pair[0])
        return chain.put(pair[0], suffix.add_word(value, pair[1]))
예제 #7
0
def empty_suffix():
    return ImmDict()  # Default constructor for suffix
예제 #8
0
def build(filename):
    return build_chain(None, pairs_gen(filename, line_gen), ImmDict())
예제 #9
0
def build(file):
    return build_chain(add_to_chain, pairs_gen(file, line_gen), ImmDict())