public int scan(String periodStr, final int position) { int leftPosition = iLeft.scan(periodStr, position); if (leftPosition >= 0) { int rightPosition = iRight.scan(periodStr, iLeft.parse(periodStr, leftPosition)); if (!(rightPosition >= 0 && matchesOtherAffix(iRight.parse(periodStr, rightPosition) - leftPosition, periodStr, position))) { if (leftPosition > 0) { return leftPosition; } else { return rightPosition; } } } return ~position; }
public int scan(String periodStr, final int position) { int leftPosition = iLeft.scan(periodStr, position); if (leftPosition >= 0) { int rightPosition = iRight.scan(periodStr, iLeft.parse(periodStr, leftPosition)); if (!(rightPosition >= 0 && matchesOtherAffix(iRight.parse(periodStr, rightPosition) - leftPosition, periodStr, position))) { if (leftPosition > 0) { return leftPosition; } else { return rightPosition; } } } return ~position; }
public int parse(String periodStr, int position) { int pos = iLeft.parse(periodStr, position); if (pos >= 0) { pos = iRight.parse(periodStr, pos); if (pos >= 0 && matchesOtherAffix(parse(periodStr, pos) - pos, periodStr, position)) { return ~position; } } return pos; }
public int parse(String periodStr, int position) { int pos = iLeft.parse(periodStr, position); if (pos >= 0) { pos = iRight.parse(periodStr, pos); if (pos >= 0 && matchesOtherAffix(parse(periodStr, pos) - pos, periodStr, position)) { return ~position; } } return pos; }
public int scan(String periodStr, final int position) { int leftPosition = iLeft.scan(periodStr, position); if (leftPosition >= 0) { int rightPosition = iRight.scan(periodStr, iLeft.parse(periodStr, leftPosition)); if (!(rightPosition >= 0 && matchesOtherAffix(iRight.parse(periodStr, rightPosition) - leftPosition, periodStr, position))) { if (leftPosition > 0) { return leftPosition; } else { return rightPosition; } } } return ~position; }
public int scan(String periodStr, final int position) { int leftPosition = iLeft.scan(periodStr, position); if (leftPosition >= 0) { int rightPosition = iRight.scan(periodStr, iLeft.parse(periodStr, leftPosition)); if (!(rightPosition >= 0 && matchesOtherAffix(iRight.parse(periodStr, rightPosition) - leftPosition, periodStr, position))) { if (leftPosition > 0) { return leftPosition; } else { return rightPosition; } } } return ~position; }
public int parse(String periodStr, int position) { int pos = iLeft.parse(periodStr, position); if (pos >= 0) { pos = iRight.parse(periodStr, pos); if (pos >= 0 && matchesOtherAffix(parse(periodStr, pos) - pos, periodStr, position)) { return ~position; } } return pos; }
public int parse(String periodStr, int position) { int pos = iLeft.parse(periodStr, position); if (pos >= 0) { pos = iRight.parse(periodStr, pos); if (pos >= 0 && matchesOtherAffix(parse(periodStr, pos) - pos, periodStr, position)) { return ~position; } } return pos; }