def make_general_rules(base: int, ulim: int, forest: list): forest.append(make_tree(["d", "P"], ["d", "P"], "MUL")) forest.append(make_tree(["M", "N"], ["M", "N"], "ADD")) forest.append(make_tree("digits", range(1, base), "MEM")) # Generate separate terms for powers of the base exp = 2 i = base**exp powers = [] while i in range(base**2, ulim + 1): forest.append(make_tree("B**" + str(exp), [str(base), str(exp)], "POW")) powers.append(i) exp += 1 i = base**exp powers.append(base) """for p in powers: mult = [] for i in range(1, base): if i * p >= ulim: break mult.append(i * p) forest.append(make_tree("power " + str(p), mult, "MEM"))""" forest.append(make_tree("powers", powers, "MEM")) return forest
def mnd(): num_type = 6 ulim = None forest = [] terms = [ "yil", "er4", "san1", "si4", "wu3", "liu4", "qil", "ba1", "jiu3", "shi2" ] forest = first_three(forest, terms) forest = successors(forest, terms, 3, 10) forest.append(language_tree.make_tree(["w", "shi2"], ["w", "shi2"], "MUL")) forest.append(language_tree.make_tree(["u", "v"], ["u", "v"], "ADD")) forest.append(language_tree.make_tree("bai3", ["shi2", "er4"], "POW")) #forest.append(language_tree.make_tree( #"u", ["er4", "san1", "si4", "wu3", "liu4", "qi1", "ba1", "jiu3"], "MEM")) #forest.append(language_tree.make_tree("v", [ #"shi2", "er4shi2", "san1shi2", "si4shi2", "wu3shi2", "liu4shi2", "qi1shi2", "ba1shi2", "jiu3shi2"], "MEM")) forest.append( language_tree.make_tree( "w", ["yi1", "er4", "san1", "si4", "wu3", "liu4", "qi1", "ba1", "jiu3"], "MEM")) return forest, num_type, ulim
def chi(): num_type = 0 ulim = None forest = [] terms = ["taman", "surumana"] forest.append(language_tree.make_tree(terms[0], 1, "ONE")) forest.append(language_tree.make_tree(terms[1], [2, 100], "HIG")) return forest, num_type, ulim
def prh(): num_type = 0 ulim = None forest = [] forest.append(language_tree.make_tree("hoi_1", 1, "GAU")) forest.append(language_tree.make_tree("hoi_2", [2, 4], "GAU")) forest.append(language_tree.make_tree("aibaagi", [5, 100], "GAU")) return forest, num_type, ulim
def war(): num_type = 0 ulim = None forest = [] forest.append(language_tree.make_tree("xica pe", 1, "ONE")) forest.append(language_tree.make_tree("dois", 2, "GAU")) forest.append(language_tree.make_tree("many", [3, 100], "GAU")) return forest, num_type, ulim
def knk(): num_type = 1 ulim = 3 forest = [] terms = ["putchik", "narimbo", "krutuip", "inhauit", "kuan"] forest = first_three(forest, terms) forest.append(language_tree.make_tree(terms[3], 4, "SUC")) forest.append(language_tree.make_tree(terms[4], [5, 100], "HIG")) return forest, num_type, ulim
def fuy(): num_type = 0 ulim = None forest = [] terms = ["fidan", "yovalo", "yovalo hul mindan", "hukas"] forest.append(language_tree.make_tree(terms[0], 1, "ONE")) forest.append(language_tree.make_tree(terms[1], 2, "GAU")) forest.append(language_tree.make_tree(terms[2], 3, "GAU")) forest.append(language_tree.make_tree(terms[3], [4, 100], "HIG")) return forest, num_type, ulim
def awp(): num_type = 1 ulim = 4 forest = [] terms = ["maza", "pas", "kutna", "ambara"] forest = first_three(forest, terms) forest.append(language_tree.make_tree("ambara", 4, "SUC")) forest.append(language_tree.make_tree("ambara", [5, 100], "HIG")) return forest, num_type, ulim
def make_rules_up_to_base(base: int): forest = [] if base < 4: # Handle bases smaller than subitizing range for i in range(1, base): forest.append(make_tree(i, i, "ONE", True)) forest.append(make_tree("B", base, "SUC")) return forest forest = first_three(forest, [1, 2, 3]) forest = successors(forest, [i for i in range(4, base + 1)], 3, base) return forest
def myu(): num_type = 0 ulim = None forest = [] terms = ["pug", "xep xep", "ebapug", "ebadipdip", "adesu", "ade"] forest = first_three(forest, terms) forest.append(language_tree.make_tree(terms[3], 4, "GAU")) forest.append(language_tree.make_tree(terms[4], [5, 11], "GAU")) forest.append(language_tree.make_tree(terms[5], [12, 100], "GAU")) return forest, num_type, ulim
def kay(): num_type = 1 ulim = 4 forest = [] terms = ["warngiida", "kiyarrngka", "burldamurra", "mirdinda", "muthaa"] forest = first_three(forest, terms) forest.append(language_tree.make_tree(terms[3], 4, "SUC")) forest.append(language_tree.make_tree(terms[4], [5, 100], "HIG")) return forest, num_type, ulim
def goo(): num_type = 0 ulim = None forest = [] terms = ["yoowarni", "garndiwiddidi", "ngarloodoo", "marla", "many"] for c in range(2): forest.append(language_tree.make_tree(terms[c], c + 1, "ONE")) for c in range(2, 4): forest.append(language_tree.make_tree(terms[c], c + 1, "GAU")) forest.append(language_tree.make_tree(terms[4], 7, "GAU")) return forest, num_type, ulim
def successors(forest, terms, start, end, exclude_beginning=True): for c in range(start, end): term_index = c if exclude_beginning: term_index = c - start forest.append(language_tree.make_tree(terms[term_index], c + 1, "SUC")) return forest
def wsk(): num_type = 1 ulim = 10 forest = [] terms = ["itoketa", "itelala", "iteltoke"] forest = first_three(forest, terms) forest.append(language_tree.make_tree(["w", "-", "w"], ["w", "w"], "ADD")) forest.append( language_tree.make_tree(["w", "-", "w", "itoketa"], ["w-w", "itoketa"], "ADD")) forest.append( language_tree.make_tree(["iteltoke", "-", "iteltoke", "-", "itelala"], ["iteltoke-iteltoke", "itelala"], "ADD")) forest.append( language_tree.make_tree( ["kuting", "dilisan", "sa", "itelala", "-", "itelala"], ["itelala-itelala-itoketa", "itelala-itelala"], "ADD")) forest.append( language_tree.make_tree(["kuting", "dilisan", "-", "dilisan"], ["itelala-itelala-itoketa", "itelala"], "MUL")) forest.append( language_tree.make_tree("kuting dilisan-dilisan", [11, 100], "HIG")) forest.append(language_tree.make_tree("u", ["itelala", "iteltoke"], "MEM")) return forest, num_type, ulim
def add_rule(self, form, numeral, op): self.forest.append( language_tree.make_tree(form, numeral, op, self.num_only)) def first_three(self, terms): for c in range(3): self.forest.append( language_tree.make_tree(terms[c], c + 1, "ONE", self.num_only))
def acg(): num_type = 1 ulim = 3 forest = [] terms = ["bague", "chamai", "matalii"] forest = first_three(forest, terms) forest.append(language_tree.make_tree(terms[2], [4, 100], "HIG")) return forest, num_type, ulim
def yid(): num_type = 1 ulim = 5 forest = [] terms = ["guman", "jambul", "dagul", "yunggan gunyjii", "mala"] forest = first_three(forest, terms) forest = successors(forest, terms, 3, 5) forest.append(language_tree.make_tree("mala", [6, 100], "HIG")) return forest, num_type, ulim
def mrt(): num_type = 1 ulim = 3 forest = [] terms = ["kalika", "kayarra", "jarrkurti", "maruwarla"] forest = first_three(forest, terms) forest.append(language_tree.make_tree(terms[3], [4, 100], "HIG")) return forest, num_type, ulim
def myi(): num_type = 1 ulim = 3 forest = [] terms = ["yawumbawa", "yabaranwa", "yabalawa"] forest = first_three(forest, terms) forest.append(language_tree.make_tree(terms[2], [4, 100], "HIG")) return forest, num_type, ulim
def bae(): num_type = 1 ulim = 3 forest = [] terms = ["baku-nakaji", "biku-nama", "kijiku-nama"] forest = first_three(forest, terms) forest.append(language_tree.make_tree(terms[2], [4, 100], "HIG")) return forest, num_type, ulim
def ram(): num_type = 1 ulim = 5 forest = [] terms = ["saimig", "puksak", "pansak", "kugkugbi", "kwikistar"] forest = first_three(forest, terms) forest = successors(forest, terms, 3, 5) forest.append(language_tree.make_tree(terms[4], [6, 100], "HIG")) return forest, num_type, ulim
def pit(): num_type = 1 ulim = 3 forest = [] terms = ["kutju", "kutjara", "mankurpa"] forest = first_three(forest, terms) forest.append(language_tree.make_tree(terms[2], [4, 100], "HIG")) return forest, num_type, ulim
def hix(): num_type = 1 ulim = 3 forest = [] terms = ["towenyxa", "asako", "osorwawo"] forest = first_three(forest, terms) forest.append(language_tree.make_tree(terms[2], [4, 100], "HIG")) return forest, num_type, ulim
def xoo(): num_type = 1 ulim = 3 forest = [] terms = ["?ua(p)", "num(p)", "ae(p)"] forest = first_three(forest, terms) forest.append(language_tree.make_tree(terms[2], [4, 100], "HIG")) return forest, num_type, ulim
def ana(): num_type = 1 ulim = 3 forest = [] terms = ["peada", "betacata", "quimisha"] forest = first_three(forest, terms) forest.append(language_tree.make_tree(["quimsha", "beta"], [4, 100], "HIG")) return forest, num_type, ulim
def imo(): num_type = 1 ulim = 5 forest = [] terms = [ "mugasl", "sabla", "sabla mugo", "sabla sabla", "sabla sabla mugo" ] forest = first_three(forest, terms) forest = successors(forest, terms, 3, 5) forest.append(language_tree.make_tree(terms[4], [6, 100], "HIG")) return forest, num_type, ulim
def brs(): num_type = 1 ulim = 5 forest = [] terms = [ "sig-u/o", "hua-ra", "idia-ra", "babarirak-u/o", "kohobokarak-u/o" ] forest = first_three(forest, terms) forest = successors(forest, terms, 3, 5) forest.append(language_tree.make_tree(terms[4], [6, 100], "HIG")) return forest, num_type, ulim
def spa(): num_type = 6 ulim = None forest = [] terms = [ "uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve", "diez", "once", "doce", "trece", "catorce", "quinze" ] forest = first_three(forest, terms) forest = successors(forest, terms, 3, 15) forest.append(language_tree.make_tree(["u", "v"], ["u", "v"], "ADD")) forest.append(language_tree.make_tree(["w", "y", "v"], ["w", "v"], "ADD")) forest.append(language_tree.make_tree("cien", ["diez", "dos"], "POW")) #forest.append(language_tree.make_tree( #"x", ["seis", "siete", "ocho", "nueve"], "MEM")) #forest.append(language_tree.make_tree( #"u", ["veinti", "treinta", "cuaranta", "cincuenta", "sesenta", "setenta", "ochenta", "noventa"], #"MEM")) forest.append( language_tree.make_tree("v", [ "uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve" ], "MEM")) forest.append( language_tree.make_tree("w", [ "dieci", "veinti", "treinta", "cuaranta", "cincuenta", "sesenta", "setenta", "ochenta", "noventa" ], "MEM")) forest.append(language_tree.make_tree("diez", "dieci", "EQU")) forest.append(language_tree.make_tree("thir", "three", "EQU")) forest.append(language_tree.make_tree("for", "four", "EQU")) forest.append(language_tree.make_tree("fif", "five", "EQU")) forest.append(language_tree.make_tree("eigh", "eight", "EQU")) return forest, num_type, ulim
def hpd(): num_type = 1 ulim = 20 forest = [] terms = ["?ayup", "ko?ap", "mora?ap", "babni", "?aedapuh"] forest = first_three(forest, terms) forest = successors(forest, terms, 3, 5) forest.append( language_tree.make_tree(["cap", "cob", "popog"], ["?aedapuh", "?ayup"], "ADD")) forest.append( language_tree.make_tree(["u", "cob", "cakget"], ["?u", "?aedapuh"], "ADD")) forest.append( language_tree.make_tree(["cob", "ni-", "hu?"], ["?aedapuh", "ko?ap"], "MUL")) forest.append( language_tree.make_tree(["v", "jib", "cakget"], ["v", "cob ni-hu?"], "ADD")) forest.append( language_tree.make_tree(["?ayup", "jib", "hu?"], ["?aedapuh", "mora?ap"], "MUL")) forest.append( language_tree.make_tree(["jib", "ni-", "hu?"], ["?aedapuh", "babni"], "MUL")) forest.append(language_tree.make_tree("jib ni-hu?", [21, 100], "HIG")) forest.append( language_tree.make_tree("u", ["ko?ap", "mora?ap", "babni"], "MEM")) forest.append( language_tree.make_tree("v", ["form(another)", "ko?ap", "mora?ap", "babni"], "MEM")) forest.append(language_tree.make_tree("form(another", "?ayup", "EQU")) return forest, num_type, ulim
def wch(): num_type = 1 ulim = 10 forest = [] terms = [ "wenyala", "tagw", "najtefwayal", "fwantes ihi", "qwe wenyal", "ipofwuj", "ipofwustoj", "ipofwusfwaya el", "ipofwusfwantes ihi", "oqwecho taqs" ] forest = first_three(forest, terms) forest = successors(forest, terms, 3, 10) forest.append(language_tree.make_tree(terms[8], [11, 100], "HIG")) return forest, num_type, ulim