Exemple #1
0
    def __init__(self, num_choice_500s, num_specs):

        mapping = {}
        extras = []
        defaults = {}

        w500 = get_500_words()
        spec_base = ""
        text_base = ""

        for k in range(0, num_choice_500s):
            extra_name = "giant_" + str(k)
            spec_base += " <" + extra_name + ">"
            text_base += " %(" + extra_name + ")s"
            extras.append(get_giant_choice(extra_name))

        for i in range(0, num_specs):
            word = w500[i]
            mapping[word + spec_base] = R(Text(word + text_base), show=False)

        MergeRule.__init__(self,
                           name="complexity test",
                           mapping=mapping,
                           extras=extras,
                           defaults=defaults)
Exemple #2
0
 def __init__(self,
              name=None,
              mapping=None,
              extras=None,
              defaults=None,
              exported=None,
              refresh=True):
     MergeRule.__init__(self, name, mapping, extras, defaults, exported)
     self._merger = None
     if refresh: self.refresh()
Exemple #3
0
 def __init__(self,
              name=None,
              mapping=None,
              extras=None,
              defaults=None,
              exported=None,
              refresh=True):
     MergeRule.__init__(self, name, mapping, extras, defaults, exported)
     self._merger = None
     if refresh: self.refresh()
Exemple #4
0
 def __init__(self, nexus):
     self.nexus = nexus
     MergeRule.__init__(
         self,
         name="repeat that",
         extras=[IntegerRefST("n", 1, 50)],
         defaults={"n": 1},
         mapping={
             "again (<n> [(times|time)] | do)":
             R(Function(lambda n: self._create_asynchronous(n)), show=False)
         })
Exemple #5
0
 def __init__(self, nexus):
     self.nexus = nexus
     MergeRule.__init__(
         self,
         name="repeat that",
         extras=[IntegerRefST("n", 1, 50)],
         defaults={"n": 1},
         mapping={
             "again (<n> [(times|time)] | do)":
                 R(Function(lambda n: self._create_asynchronous(n)), show=False)
         })
Exemple #6
0
 def reset(self, mapping):
     grammar = self._grammar # save reference because Grammar.remove_rule nullifies it
     ccr = self._merger is not None
     
     if grammar is not None and not ccr:
         grammar.unload() 
         grammar.remove_rule(self)
         
     extras = self.extras.values() if self.extras is not None and len(self.extras)>0 else [IntegerRefST("n", 1, 50), Dictation("s")]
     defaults = self.defaults if self.defaults is not None and len(self.defaults)>0 else {"n":1}
     MergeRule.__init__(self, self.name, mapping, extras, defaults, self.exported, self.context)
     
     if ccr: self._merger.merge(2) # 2 is Inf.SELFMOD 
     
     if grammar is not None and not ccr:
         grammar.add_rule(self)
         grammar.load()
Exemple #7
0
    def reset(self, mapping):
        grammar = self._grammar  # save reference because Grammar.remove_rule nullifies it
        ccr = self._merger is not None

        if grammar is not None and not ccr:
            grammar.unload()
            grammar.remove_rule(self)

        extras = self.extras if self.extras else [IntegerRefST("n", 1, 50), Dictation("s")]
        defaults = self.defaults if self.defaults else { "n": 1 }
        MergeRule.__init__(self, self.name, mapping, extras, defaults, self.exported,
                           self.context)

        if ccr: self._merger.merge(MergeInf.SELFMOD)

        if grammar is not None and not ccr:
            grammar.add_rule(self)
            grammar.load()
Exemple #8
0
    def __init__(self, num_choice_500s, num_specs):

        mapping = {}
        extras = []
        defaults = {}

        w500 = get_500_words()
        spec_base = ""
        text_base = ""

        for k in range(0, num_choice_500s):
            extra_name = "giant_" + str(k)
            spec_base += " <" + extra_name + ">"
            text_base += " %(" + extra_name + ")s"
            extras.append(get_giant_choice(extra_name))

        for i in range(0, num_specs):
            word = w500[i]
            mapping[word + spec_base] = R(Text(word + text_base), show=False)

        MergeRule.__init__(self, name="complexity test", mapping=mapping, extras=extras, defaults=defaults)