Moved ranged safe reads in block scanner
This commit is contained in:
parent
79d8b977a6
commit
619f01906f
|
@ -152,6 +152,18 @@ public class FourCornerZionStenoLexer {
|
|||
}
|
||||
|
||||
abstract ScanResult process(Iterator<Integer> input);
|
||||
|
||||
protected ScanResult safeReadCakePoints(Iterator<Integer> input, List<Integer> result) {
|
||||
return safeReadRange(input, result, false);
|
||||
}
|
||||
|
||||
protected ScanResult safeReadSliceOffsets(Iterator<Integer> input, List<Integer> result) {
|
||||
return safeReadRange(input, result, true);
|
||||
}
|
||||
|
||||
protected ScanResult safeReadRange(Iterator<Integer> input, List<Integer> result, boolean offset) {
|
||||
return safeReadRanged(input, blockStart, blockStop, result, offset);
|
||||
}
|
||||
}
|
||||
|
||||
public void read(List<Integer> points) {
|
||||
|
@ -214,15 +226,7 @@ public class FourCornerZionStenoLexer {
|
|||
return ScanResult.DONE;
|
||||
}
|
||||
|
||||
private ScanResult safeReadCakePoints(Iterator<Integer> input, int start, int stop, List<Integer> result) {
|
||||
return safeReadRange(input, start, stop, result, false);
|
||||
}
|
||||
|
||||
private ScanResult safeReadSliceOffsets(Iterator<Integer> input, int start, int stop, List<Integer> result) {
|
||||
return safeReadRange(input, start, stop, result, true);
|
||||
}
|
||||
|
||||
private ScanResult safeReadRange(Iterator<Integer> input, int start, int stop, List<Integer> result, boolean offset) {
|
||||
private ScanResult safeReadRanged(Iterator<Integer> input, int start, int stop, List<Integer> result, boolean offset) {
|
||||
while (cakePoint >= start && cakePoint <= stop) {
|
||||
if (offset) {
|
||||
result.add(cakePoint - start);
|
||||
|
@ -248,7 +252,7 @@ public class FourCornerZionStenoLexer {
|
|||
@Override
|
||||
public ScanResult process(Iterator<Integer> input) {
|
||||
List<Integer> result = new ArrayList<>();
|
||||
ScanResult status = safeReadSliceOffsets(input, cakeSlice.getStart(), cakeSlice.getStop(), result);
|
||||
ScanResult status = safeReadSliceOffsets(input, result);
|
||||
if (!result.isEmpty()) {
|
||||
handler.strobeWords(cakeSlice, result);
|
||||
}
|
||||
|
@ -265,7 +269,7 @@ public class FourCornerZionStenoLexer {
|
|||
@Override
|
||||
public ScanResult process(Iterator<Integer> input) {
|
||||
List<Integer> result = new ArrayList<>();
|
||||
ScanResult status = safeReadCakePoints(input, FourCornerDotCake.FC_NETHER.getStart(), FourCornerDotCake.FC_NETHER.getStop(), result);
|
||||
ScanResult status = safeReadCakePoints(input, result);
|
||||
if (!result.isEmpty()) {
|
||||
handlePoints(result);
|
||||
}
|
||||
|
@ -287,7 +291,7 @@ public class FourCornerZionStenoLexer {
|
|||
@Override
|
||||
public ScanResult process(Iterator<Integer> input) {
|
||||
List<Integer> result = new ArrayList<>();
|
||||
ScanResult status = safeReadCakePoints(input, FourCornerDotCake.FC_NCR1632_XD.getStart(), FourCornerDotCake.FC_NCR1632_XN.getStop(), result);
|
||||
ScanResult status = safeReadCakePoints(input, result);
|
||||
if (!result.isEmpty()) {
|
||||
handlePoints(result); // mix of the two blocks
|
||||
}
|
||||
|
@ -342,7 +346,7 @@ public class FourCornerZionStenoLexer {
|
|||
@Override
|
||||
public ScanResult process(Iterator<Integer> input) {
|
||||
List<Integer> result = new ArrayList<>();
|
||||
ScanResult status = safeReadCakePoints(input, FourCornerDotCake.FC_UNI2K_11.getStart(), FourCornerDotCake.FC_UNI2K_22.getStop(), result);
|
||||
ScanResult status = safeReadCakePoints(input, result);
|
||||
if (!result.isEmpty()) {
|
||||
handlePoints(result); // mix of the two unicode blocks pages
|
||||
}
|
||||
|
@ -386,7 +390,7 @@ public class FourCornerZionStenoLexer {
|
|||
@Override
|
||||
public ScanResult process(Iterator<Integer> input) {
|
||||
List<Integer> result = new ArrayList<>();
|
||||
ScanResult status = safeReadCakePoints(input, FourCornerDotCake.FC_CDC1604_P6.getStart(), FourCornerDotCake.__MIND_THE_GAP8.getStop(), result);
|
||||
ScanResult status = safeReadCakePoints(input, result);
|
||||
if (!result.isEmpty()) {
|
||||
handlePoints(result);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue