コード例 #1
0
    def push(self, ch):
        if ch == '}':
            self.machine = None
            return True

        if self.machine is not None:
            if self.machine.push(ch):
                self.module["method"].append(self.machine.func)
                self.machine.clear()
        else:
            if ch == '{':
                self.keyworld = ''
                self.module["method"] = []
                self.machine = func()
                return False

            if ch == '(':
                self.keyworld = deleteNoneSpacelstrip(self.keyworld)
                if self.keyworld != '':
                    self.name = deleteNoneSpacelstrip(self.keyworld)
                self.keyworld = ''
                return False

            if ch == ')':
                self.keyworld = deleteNoneSpacelstrip(self.keyworld)
                if self.keyworld != '' and self.keyworld in ['client_call_hub', 'hub_call_client', 'hub_call_hub']:
                    self.module["module_type"] = self.keyworld
                self.keyworld = ''
                return False

            self.keyworld += ch

        return False
コード例 #2
0
 def push(self, ch):
     if self.machine is not None:
         if self.machine.push(ch):
             if isinstance(self.machine, module):
                 self.module[self.machine.name] = self.machine.module
                 self.machine = None
             if isinstance(self.machine, enum):
                 self.enum[self.machine.name] = self.machine.enum
                 self.machine = None
             if isinstance(self.machine, struct):
                 self.struct[self.machine.name] = self.machine.elem
                 self.machine = None
     else:
         if ch in [' ', '    ', '\r', '\n', '\t', '\0']:
             if deleteNoneSpacelstrip(self.keyworld) == 'module':
                 self.machine = module()
                 self.keyworld = ''
             elif deleteNoneSpacelstrip(self.keyworld) == 'enum':
                 self.machine = enum()
                 self.keyworld = ''
             elif deleteNoneSpacelstrip(self.keyworld) == 'struct':
                 self.machine = struct()
                 self.keyworld = ''
         else:
             self.keyworld += ch
コード例 #3
0
    def push(self, ch):
        if ch == '=':
            self.keyworld = deleteNoneSpacelstrip(self.keyworld)
            if self.keyworld != '':
                self.key = deleteNoneSpacelstrip(self.keyworld)
            self.keyworld = ''
            return False

        if ch == ';':
            self.keyworld = deleteNoneSpacelstrip(self.keyworld)
            if self.keyworld != '':
                self.value = deleteNoneSpacelstrip(self.keyworld)
            self.keyworld = ''
            return True

        self.keyworld += ch

        return False
コード例 #4
0
    def push(self, ch):
        if ch in [' ', '    ', '\r', '\n', '\t', '\0'] and self.keyworld != '':
            self.keyworld = deleteNoneSpacelstrip(self.keyworld)
            if self.keyworld != '':
                self.key = self.keyworld
            self.keyworld = ''
            return False

        if ch == ';':
            self.keyworld = deleteNoneSpacelstrip(self.keyworld)
            if self.keyworld != '':
                self.value = self.keyworld
            self.keyworld = ''
            return True

        self.keyworld += ch
        self.keyworld = deleteNoneSpacelstrip(self.keyworld)

        return False
コード例 #5
0
 def push(self, ch):
     if self.machine is not None:
         if self.machine.push(ch):
             if isinstance(self.machine, module):
                 self.module[self.machine.name] = self.machine.module
                 self.machine = None
             if isinstance(self.machine, enum):
                 self.enum[self.machine.name] = self.machine.enum
                 self.machine = None
     else:
         if ch == ' ' or ch == '\0':
             if deleteNoneSpacelstrip(self.keyworld) == 'module':
                 self.machine = module()
                 self.keyworld = ''
             elif deleteNoneSpacelstrip(self.keyworld) == 'enum':
                 self.machine = enum()
                 self.keyworld = ''
         else:
             self.keyworld += ch
コード例 #6
0
    def push(self, ch):
        if ch == '}':
            return True

        if self.machine is not None:
            if self.machine.push(ch):
                self.enum.append((self.machine.key, self.machine.value))
                self.machine.clear()
        else:
            if ch == '{':
                self.keyworld = deleteNoneSpacelstrip(self.keyworld)
                if self.keyworld != '':
                    self.name = deleteNoneSpacelstrip(self.keyworld)
                self.keyworld = ''
                self.machine = keyvalue()
                return False

            self.keyworld += ch

        return False
コード例 #7
0
    def push(self, ch):
        if ch == ' ' or ch == '\0':
            self.keyworld = deleteNoneSpacelstrip(self.keyworld)
            if self.keyworld != '':
                if self.argvtuple is None:
                    self.func.append(self.keyworld)
                else:
                    self.argvtuple.append(self.keyworld)
                self.keyworld = ''
                return False

        if ch == ',':
            if self.keyworld != '':
                self.argvtuple.append(deleteNoneSpacelstrip(self.keyworld))
                self.func.append(self.argvtuple)
                self.keyworld = ''
                self.argvtuple = []
                return False

        if ch == '(':
            self.keyworld = deleteNoneSpacelstrip(self.keyworld)
            if self.keyworld != '':
                self.func.append(deleteNoneSpacelstrip(self.keyworld))
            self.argvtuple = []
            self.keyworld = ''
            return False

        if ch == ')':
            if self.keyworld != '':
                self.argvtuple.append(deleteNoneSpacelstrip(self.keyworld))
                self.func.append(self.argvtuple)
                self.keyworld = ''
                return False

        if ch == ';':
            return True

        self.keyworld += ch

        return False
コード例 #8
0
    def push(self, ch):
        if ch == ' ' or ch == '\0':
            self.keyworld = deleteNoneSpacelstrip(self.keyworld)
            if self.keyworld != '':
                if self.argvtuple is None:
                    self.func.append(self.keyworld)
                else:
                    self.argvtuple.append(self.keyworld)
                self.keyworld = ''
                return False

        if ch == ',':
            if self.keyworld != '':
                self.argvtuple.append(deleteNoneSpacelstrip(self.keyworld))
                self.func.append(self.argvtuple)
                self.keyworld = ''
                self.argvtuple = []
                return False

        if ch == '(':
            self.keyworld = deleteNoneSpacelstrip(self.keyworld)
            if self.keyworld != '':
                self.func.append(deleteNoneSpacelstrip(self.keyworld))
            self.argvtuple = []
            self.keyworld = ''
            return False

        if ch == ')':
            if self.keyworld != '':
                self.argvtuple.append(deleteNoneSpacelstrip(self.keyworld))
                self.func.append(self.argvtuple)
                self.keyworld = ''
                return False

        if ch == ';':
            return True

        self.keyworld += ch

        return False
コード例 #9
0
ファイル: statemachine.py プロジェクト: Ding8222/abelkhan
 def push(self, ch):
     if self.machine is not None:
         if self.machine.push(ch):
             if isinstance(self.machine, module):
                 self.module[self.machine.name] = self.machine.module
                 self.machine = None
     else:
         if ch == ' ' or ch == '\0':
             if deleteNoneSpacelstrip(self.keyworld) == 'module':
                 self.machine = module()
                 self.keyworld = ''
         else:
             self.keyworld += ch
コード例 #10
0
ファイル: statemachine.py プロジェクト: flycloud123/darkforce
    def push(self, ch):
        if ch == " " or ch == "\0":
            self.keyworld = deleteNoneSpacelstrip(self.keyworld)
            if self.keyworld != "":
                if self.argvtuple is None:
                    self.func.append(self.keyworld)
                else:
                    self.argvtuple.append(self.keyworld)
                self.keyworld = ""
                return False

        if ch == ",":
            if self.keyworld != "":
                self.argvtuple.append(deleteNoneSpacelstrip(self.keyworld))
                self.func.append(self.argvtuple)
                self.keyworld = ""
                self.argvtuple = []
                return False

        if ch == "(":
            self.func.append(deleteNoneSpacelstrip(self.keyworld))
            self.argvtuple = []
            self.keyworld = ""
            return False

        if ch == ")":
            if self.keyworld != "":
                self.argvtuple.append(deleteNoneSpacelstrip(self.keyworld))
                self.func.append(self.argvtuple)
                self.keyworld = ""
                return False

        if ch == ";":
            return True

        self.keyworld += ch

        return False
コード例 #11
0
    def push(self, ch):
        if ch == ' ' or ch == '\0':
            self.keyworld = deleteNoneSpacelstrip(self.keyworld)
            if self.keyworld != '':
                if self.argvtuple is None:
                    self.func.append(deleteNoneSpacelstrip(self.keyworld))
                else:
                    if self.keyworld in [
                            'table', 'array', 'int', 'string', 'float', 'bool'
                    ]:
                        self.argvtuple.append(
                            deleteNoneSpacelstrip(self.keyworld))
                self.keyworld = ''
            return False

        if ch == ',':
            if self.keyworld != '' and self.keyworld in [
                    'table', 'array', 'int', 'string', 'float', 'bool'
            ]:
                self.argvtuple.append(deleteNoneSpacelstrip(self.keyworld))
                self.keyworld = ''

            return False

        if ch == '(':
            self.keyworld = deleteNoneSpacelstrip(self.keyworld)
            if self.keyworld != '':
                self.func.append(deleteNoneSpacelstrip(self.keyworld))
            self.argvtuple = []
            self.keyworld = ''
            return False

        if ch == ')':
            if self.keyworld != '' and self.keyworld in [
                    'table', 'array', 'int', 'string', 'float', 'bool'
            ]:
                self.argvtuple.append(deleteNoneSpacelstrip(self.keyworld))

            if self.argvtuple is None:
                self.func.append([])
            else:
                self.func.append(self.argvtuple)

            self.keyworld = ''
            return False

        if ch == ';':
            return True

        self.keyworld += ch

        return False
コード例 #12
0
ファイル: statemachine.py プロジェクト: flycloud123/darkforce
    def push(self, ch):
        if ch == "}":
            self.machine = None
            return True

        if self.machine is not None:
            if self.machine.push(ch):
                self.module.append(self.machine.func)
                self.machine.clear()
        else:
            if ch == "{":
                self.name = deleteNoneSpacelstrip(self.keyworld)
                self.keyworld = ""
                self.machine = func()
                return False

            self.keyworld += ch

        return False
コード例 #13
0
    def push(self, ch):
        if ch == '}':
            self.machine = None
            return True

        if self.machine is not None:
            if self.machine.push(ch):
                self.module.append(self.machine.func)
                self.machine.clear()
        else:
            if ch == '{':
                self.name = deleteNoneSpacelstrip(self.keyworld)
                self.keyworld = ''
                self.machine = func()
                return False

            self.keyworld += ch

        return False
コード例 #14
0
ファイル: statemachine.py プロジェクト: Ding8222/abelkhan
    def push(self, ch):
        if ch == ' ' or ch == '\0':
            self.keyworld = deleteNoneSpacelstrip(self.keyworld)
            if self.keyworld != '':
                if self.argvtuple is None:
                    self.func.append(deleteNoneSpacelstrip(self.keyworld))
                else:
                    if self.keyworld in ['table', 'array', 'int', 'string', 'float', 'bool']:
                        self.argvtuple.append(deleteNoneSpacelstrip(self.keyworld))
                self.keyworld = ''
            return False

        if ch == ',':
            if self.keyworld != '' and self.keyworld in ['table', 'array', 'int', 'string', 'float', 'bool']:
                self.argvtuple.append(deleteNoneSpacelstrip(self.keyworld))
                self.keyworld = ''

            return False

        if ch == '(':
            self.keyworld = deleteNoneSpacelstrip(self.keyworld)
            if self.keyworld != '':
                self.func.append(deleteNoneSpacelstrip(self.keyworld))
            self.argvtuple = []
            self.keyworld = ''
            return False

        if ch == ')':
            if self.keyworld != '' and self.keyworld in ['table', 'array', 'int', 'string', 'float', 'bool']:
                self.argvtuple.append(deleteNoneSpacelstrip(self.keyworld))

            if self.argvtuple is None:
                self.func.append([])
            else:
                self.func.append(self.argvtuple)

            self.keyworld = ''
            return False

        if ch == ';':
            return True

        self.keyworld += ch

        return False
コード例 #15
0
    def push(self, ch):
        if ch == ' ' or ch == '\0':
            if self.keyworld != '':
                self.argvdef.append(self.keyworld)

        if ch == '{':
            self.name = deleteNoneSpacelstrip(self.keyworld)
            self.keyworld = ''
            return False

        if ch == ';':
            self.struct.append(self.argvdef)
            self.argvdef = []

        if ch == '}':
            return True

        self.keyworld += ch

        return False
コード例 #16
0
ファイル: statemachine.py プロジェクト: flycloud123/darkforce
    def push(self, ch):
        if ch == " " or ch == "\0":
            if self.keyworld != "":
                self.argvdef.append(self.keyworld)

        if ch == "{":
            self.name = deleteNoneSpacelstrip(self.keyworld)
            self.keyworld = ""
            return False

        if ch == ";":
            self.struct.append(self.argvdef)
            self.argvdef = []

        if ch == "}":
            return True

        self.keyworld += ch

        return False
コード例 #17
0
    def push(self, ch):
        if ch == ' ' or ch == '\0':
            if self.keyworld != '':
                self.argvdef.append(self.keyworld)

        if ch == '{':
            self.name = deleteNoneSpacelstrip(self.keyworld)
            self.keyworld = ''
            return False

        if ch == ';':
            self.struct.append(self.argvdef)
            self.argvdef = []

        if ch == '}':
            return True

        self.keyworld += ch

        return False
コード例 #18
0
    def push(self, ch):
        if ch in [' ', '    ', '\r', '\n', '\t', '\0']:
            self.keyworld = deleteNoneSpacelstrip(self.keyworld)
            if self.keyworld != '':
                if self.argvtuple is None:
                    self.func.append(deleteNoneSpacelstrip(self.keyworld))
                    self.keyworld = ''
                else:
                    self.ignore = True
            return False

        if ch == ',':
            if self.keyworld != '':
                self.argvtuple.append(deleteNoneSpacelstrip(self.keyworld))
                self.keyworld = ''
                self.ignore = False

            return False

        if ch == '(':
            self.keyworld = deleteNoneSpacelstrip(self.keyworld)
            if self.keyworld != '':
                self.func.append(deleteNoneSpacelstrip(self.keyworld))
            self.argvtuple = []
            self.keyworld = ''
            return False

        if ch == ')':
            if self.keyworld != '':
                self.argvtuple.append(deleteNoneSpacelstrip(self.keyworld))

            if self.argvtuple is None:
                self.func.append([])
            else:
                self.func.append(self.argvtuple)

            self.ignore = False
            self.argvtuple = None
            self.keyworld = ''

            return False

        if ch == ';':
            return True

        if not self.ignore:
            self.keyworld += ch

        return False