class grammarFSM: def fsm_setup(self): self.fsm = FSM('INIT', []) self.fsm.set_default_transition(lgFSM.Error, 'INIT') self.fsm.add_transition_any('INIT', None, 'INIT') self.fsm.add_transition('RW', 'INIT', lgFSM.Root) self.fsm.add_transition('Xp', 'INIT', lgFSM.Period) self.fsm.add_transition('Wd', 'INIT', lgFSM.Declarative, 'DECL') self.fsm.add_transition('Wd', 'DECL', lgFSM.Declarative, 'DECL') self.fsm.add_transition('Ss', 'DECL', lgFSM.Subject, 'INIT') self.fsm.add_transition('AF', 'DECL', lgFSM.Object, 'INIT') def fsm_run(self, input): debug(input) return self.fsm.process_list(input)
class grammarFSM: def fsm_setup(self): self.fsm = FSM('INIT', []) self.fsm.set_default_transition(lgFSM.Error, 'INIT') self.fsm.add_transition_any('INIT', None, 'INIT') self.fsm.add_transition('RW', 'INIT', lgFSM.Root) self.fsm.add_transition('Xp', 'INIT', lgFSM.Period) self.fsm.add_transition('Wd', 'INIT', lgFSM.Declarative, 'DECL') self.fsm.add_transition('Wd', 'DECL', lgFSM.Declarative, 'DECL') self.fsm.add_transition('Ss', 'DECL', lgFSM.Subject, 'INIT') self.fsm.add_transition('AF', 'DECL', lgFSM.Object, 'INIT') def fsm_run(self, input): debug(input) return self.fsm.process_list(input)