def get_CodeTerminal(self, IncidenceId): """TODO: RETURN [0] code [1] LexemeBeginF required [2] LexemeTerminatingZeroF required """ if IncidenceId not in self: return CodeTerminal([""]) return CodeTerminal.from_CodeFragment(self[IncidenceId])
def extract_terminal_db(self, factory, ReloadRequiredF): """SpecialTerminals: END_OF_STREAM FAILURE BAD_LEXATOM ... """ result = {} for incidence_id, code_fragment in self.iteritems(): terminal_type = standard_incidence_db_get_terminal_type(incidence_id) if terminal_type is None: continue elif incidence_id == E_IncidenceIDs.END_OF_STREAM \ and not ReloadRequiredF: continue code_terminal = CodeTerminal.from_CodeFragment(code_fragment) assert terminal_type not in result terminal = factory.do(terminal_type, code_terminal) terminal.set_incidence_id(incidence_id) result[incidence_id] = terminal return result
def get_CodeTerminal(self, IncidenceId): if IncidenceId not in self: return CodeTerminal([""]) return CodeTerminal.from_CodeFragment(self[IncidenceId], LexemeRelevanceF=True)