#[derive(Clone, Copy, Debug, PartialEq, Eq)]/// A token produced by the lexer.
pubstructToken{/// Symbol identifier for this token.
pubsym:u16,
/// Starting byte offset in the source.
pubstart:usize,
/// Length of the token in bytes.
publen:usize,
}/// A source of tokens for the parser.
pubtraitTokenSource{/// Peek at the next token without consuming it.
fnpeek(&mutself)->Option<Token>;/// Advance past the previously peeked token.
fnbump(&mutself);/// Current byte offset.
fnoffset(&self)->usize;}