pub trait Tokenizable {
fn next(
&mut self,
skip_line_terminators: bool
) -> Result<Option<Token>, CastleError>;
fn peek_n(
&mut self,
skip_n: usize,
skip_line_terminators: bool
) -> Result<Option<&Token>, CastleError>;
fn peek(
&mut self,
skip_line_terminators: bool
) -> Result<Option<&Token>, CastleError> { ... }
fn peek_expect(
&mut self,
skip_line_terminators: bool
) -> Result<&Token, CastleError> { ... }
fn peek_token_kind(
&mut self,
skip_line_terminators: bool
) -> Result<Option<&TokenKind>, CastleError> { ... }
}