+
+ # Ignores any printable character until a whitespace is encountered
+ protected fun ignore_until_whitespace: Int do
+ while src.length > pos and not src[pos].is_whitespace do pos += 1
+ return pos
+ end
+
+ # Returns the current location as a `Location` object
+ protected fun hot_location: Location do return new Location(line, line_offset)
+
+ # Is `pos` at the end of the source?
+ protected fun eof: Bool do return pos >= src.length