Package ghidra.util.ascii
Interface ByteStreamCharMatcher
- All Known Implementing Classes:
MultiByteCharMatcher
public interface ByteStreamCharMatcher
ByteStreamCharMatcher are state machines used to look for char sequences within a stream of bytes.
Bytes from the stream are added one a time and converted to character stream which are in
turn fed into a char stream recognizer. As each byte is added, an indication is returned if that byte caused
a terminated sequence to be found. A sequence is simply a pair of indexes indicated the start and
end indexes into the byte stream where the char sequence started and ended respectively along with
an indication that the sequence was null terminated.
-
Method Summary
Modifier and TypeMethodDescriptionboolean
add
(byte b) Adds the next contiguous byte to this matcherboolean
Tells the matcher that there are no more contiguous bytes.Returns the currently recognized sequence which only exists immediately after an add or end sequence is called with a return value of true.void
reset()
Resets the internal state of this ByteMatcher so that it can be reused against another byte stream.
-
Method Details
-
add
boolean add(byte b) Adds the next contiguous byte to this matcher- Parameters:
b
- the next contiguous byte in the search stream.- Returns:
- true if the given byte triggered a sequence match. Note that this byte may not be a part of the recognized sequence.
-
endSequence
boolean endSequence()Tells the matcher that there are no more contiguous bytes. If the current state of the matcher is such that there is a valid sequence that can be at the end of the stream, then a sequence will be created and true will be returned.- Returns:
- true if there is a valid sequence at the end of the stream.
-
getSequence
Sequence getSequence()Returns the currently recognized sequence which only exists immediately after an add or end sequence is called with a return value of true.- Returns:
-
reset
void reset()Resets the internal state of this ByteMatcher so that it can be reused against another byte stream.
-