コード例 #1
0
 def activate(self, ruleName, window=0, exclusive=None, noError=0):
     if ruleName not in self.validRules:
         raise gramparser.GrammarError(
             "rule %s was not exported in the grammar" % ruleName,
             self.scanObj)
     if type(ruleName) != six.binary_type:
         raise gramparser.GrammarError(
             'GrammarBase, wrong type in activate, %s (%s)' %
             (ruleName, type(ruleName)), self.scanObj)
     if ruleName in self.activeRules:
         if window == self.activeRules[ruleName]:
             print 'rule %s already active for window %s' % (ruleName,
                                                             window)
             return
         else:
             print 'change rule %s from window %s to window %s' % (
                 ruleName, self.activeRules[ruleName], window)
             self.gramObj.deactivate(ruleName)
     if debugLoad:
         print 'activate rule %s (window: %s)' % (ruleName, window)
     self.gramObj.activate(ruleName, window)
     self.activeRules[ruleName] = window
     if not exclusive is None:
         if debugLoad:
             print 'set exclusive mode to %s for rule %s' % (exclusive,
                                                             ruleName)
         self.setExclusive(exclusive)
     pass
コード例 #2
0
ファイル: natlinkutils.py プロジェクト: codebold/hiccup
 def deactivate(self, ruleName, noError=0):
     if ruleName not in self.validRules:
         if noError: return
         raise gramparser.GrammarError(
             "rule %s was not exported in the grammar" % ruleName,
             self.scanObj)
     if ruleName not in self.activeRules:
         if noError: return
         raise gramparser.GrammarError("rule %s is not active",
                                       self.scanObj)
     self.gramObj.deactivate(ruleName)
     self.activeRules.remove(ruleName)
コード例 #3
0
ファイル: natlinkutils.py プロジェクト: codebold/hiccup
 def activate(self, ruleName, window=0, exclusive=None, noError=0):
     if ruleName not in self.validRules:
         raise gramparser.GrammarError(
             "rule %s was not exported in the grammar" % ruleName,
             self.scanObj)
     if ruleName in self.activeRules:
         if noError: return None
         raise gramparser.GrammarError(
             "rule %s is already active" % ruleName, self.scanObj)
     self.gramObj.activate(ruleName, window)
     self.activeRules.append(ruleName)
     if exclusive != None:
         self.gramObj.setExclusive(exclusive)
コード例 #4
0
ファイル: natlinkutils.py プロジェクト: mrob95/natlink
 def deactivate(self, ruleName, noError=0):
     if type(ruleName) == six.text_type:
         ruleName = utilsqh.convertToBinary(ruleName)
     if ruleName not in self.validRules:
         if noError: return
     if type(ruleName) != six.binary_type:
         print 'GrammarBase, deactivate, %s (%s)'% (ruleName, type(ruleName))
         raise gramparser.GrammarError( "rule %s (%s) was not exported in the grammar" %
                                       ruleName, type(ruleName), self.scanObj)
     if ruleName not in self.activeRules:
         if noError: return
         raise gramparser.GrammarError( "rule %s is not active", self.scanObj)
     if debugLoad: print 'deactivate rule %s'% ruleName
     self.gramObj.deactivate(ruleName)
     del self.activeRules[ruleName]
コード例 #5
0
 def emptyList(self, listName):
     if type(listName) == six.text_type:
         listName = utilsqh.convertToBinary(listName)
     if listName not in self.validLists:
         raise gramparser.GrammarError(
             "list %s was not defined in the grammar" % listName,
             self.scanObj)
     self.gramObj.emptyList(listName)
コード例 #6
0
ファイル: natlinkutils.py プロジェクト: codebold/hiccup
 def appendList(self, listName, words):
     if listName not in self.validLists:
         raise gramparser.GrammarError(
             "list %s was not defined in the grammar" % listName,
             self.scanObj)
     if type(words) == type(""):
         self.gramObj.appendList(listName, words)
     else:
         for x in words:
             self.gramObj.appendList(listName, x)
コード例 #7
0
ファイル: natlinkutils.py プロジェクト: mrob95/natlink
 def appendList(self, listName, words):
     listName = utilsqh.convertToBinary(listName)
     if listName not in self.validLists:
         raise gramparser.GrammarError( "list %s was not defined in the grammar" % listName , self.scanObj)
     if type(words) in (six.binary_type, six.text_type):
         words = utilsqh.convertToBinary(words)
         self.gramObj.appendList(listName,words)
     else:
         for x in words:
             if type(x) == six.text_type:
                 x = utilsqh.convertToBinary(x)
             self.gramObj.appendList(listName,x)
コード例 #8
0
ファイル: natlinkutils.py プロジェクト: codebold/hiccup
 def activateSet(self, ruleNames, window=0, exclusive=None):
     if not type(ruleNames) in (types.ListType, types.TupleType):
         raise TypeError(
             "activateSet, ruleNames (%s) must be a list or a tuple, not: %s"
             % ( ` ruleNames `, type(ruleNames)))
     for x in copy.copy(self.activeRules):
         if not x in ruleNames:
             self.gramObj.deactivate(x)
             self.activeRules.remove(x)
     for x in ruleNames:
         if x not in self.validRules:
             raise gramparser.GrammarError(
                 "rule %s was not exported in the grammar" % x,
                 self.scanObj)
         if not x in self.activeRules:
             self.gramObj.activate(x, window)
             self.activeRules.append(x)
     if exclusive != None:
         self.gramObj.setExclusive(exclusive)
コード例 #9
0
 def emptyList(self, listName):
     if listName not in self.validLists:
         raise gramparser.GrammarError(
             "list %s was not defined in the grammar" % listName,
             self.scanObj)
     self.gramObj.emptyList(listName)