Struct syntex_syntax::parse::lexer::StringReader   
                   
                       [−]
                   
               [src]
pub struct StringReader<'a> {
    pub span_diagnostic: &'a Handler,
    pub pos: BytePos,
    pub last_pos: BytePos,
    pub col: CharPos,
    pub curr: Option<char>,
    pub filemap: Rc<FileMap>,
    pub peek_tok: Token,
    pub peek_span: Span,
    // some fields omitted
}Fields
span_diagnostic: &'a Handler
                           pos: BytePos
                           The absolute offset within the codemap of the next character to read
last_pos: BytePos
                           The absolute offset within the codemap of the last character read(curr)
col: CharPos
                           The column of the next character to read
curr: Option<char>
                           The last character to be read
filemap: Rc<FileMap>
                           peek_tok: Token
                           peek_span: Span
                           Methods
impl<'a> StringReader<'a>[src]
fn new_raw<'b>(span_diagnostic: &'b Handler, filemap: Rc<FileMap>) -> StringReader<'b>
For comments.rs, which hackily pokes into pos and curr
fn new<'b>(span_diagnostic: &'b Handler, filemap: Rc<FileMap>) -> StringReader<'b>
fn curr_is(&self, c: char) -> bool
fn fatal_span(&self, sp: Span, m: &str) -> FatalError
Report a fatal lexical error with a given span.
fn err_span(&self, sp: Span, m: &str)
Report a lexical error with a given span.
fn help_span(&self, sp: Span, m: &str)
Suggest some help with a given span.
fn with_str_from<T, F>(&self, start: BytePos, f: F) -> T where F: FnOnce(&str) -> T
Calls f with a string slice of the source text spanning from start
up to but excluding self.last_pos, meaning the slice does not include
the character self.curr.
fn name_from(&self, start: BytePos) -> Name
Create a Name from a given offset to the current offset, each adjusted 1 towards each other (assumes that on either side there is a single-byte delimiter).
fn name_from_to(&self, start: BytePos, end: BytePos) -> Name
As name_from, with an explicit endpoint.
fn bump(&mut self)
Advance the StringReader by one character. If a newline is discovered, add it to the FileMap's list of line start offsets.
fn nextch(&self) -> Option<char>
fn nextch_is(&self, c: char) -> bool
fn nextnextch(&self) -> Option<char>
fn nextnextch_is(&self, c: char) -> bool
Trait Implementations
impl<'a> Reader for StringReader<'a>[src]
fn is_eof(&self) -> bool
fn next_token(&mut self) -> TokenAndSpan
Return the next token. EFFECT: advances the string_reader.
fn fatal(&self, m: &str) -> FatalError
Report a fatal error with the current span.
fn err(&self, m: &str)
Report a non-fatal error with the current span.
fn peek(&self) -> TokenAndSpan
fn real_token(&mut self) -> TokenAndSpan
Get a token the parser cares about.