def visitUnitSingleOrPairOperator(self, ctx): """ """ if ctx.start.type == UnitXLexer.AT: return Unit() if ctx.unitOperator(i=1): unit = Unit() numer_tokens = self.visitUnitOperator(ctx.unitOperator(i=0)) denom_tokens = self.visitUnitOperator(ctx.unitOperator(i=1)) if len(numer_tokens) == 2: unit.ex_numer, unit.numer = numer_tokens[0].text, numer_tokens[1].text else: unit.numer = numer_tokens[0].text if len(denom_tokens) == 2: unit.ex_denom, unit.denom = denom_tokens[0].text, denom_tokens[1].text else: unit.denom = denom_tokens[0].text return unit else: unit = Unit() numer_tokens = self.visitUnitOperator(ctx.unitOperator(i=0)) if len(numer_tokens) == 2: unit.ex_numer, unit.numer = numer_tokens[0].text, numer_tokens[1].text else: unit.numer = numer_tokens[0].text return unit