Trait exprz::parse::Parser [−][src]
parse
only.Expression
Parser Trait
The parser Parser<T, E>
can parse an Expression
of type E
from
an iterator over T
.
Associated Types
type AtomParseError
[src]
Atom
Parsing Error Type
Required methods
fn classify(term: &T) -> SymbolType
[src]
Classifies an incoming term.
fn parse_atom_continue<I>(
iter: &mut Peekable<I>
) -> Result<E::Atom, Self::AtomParseError> where
I: Iterator<Item = T>,
[src]
iter: &mut Peekable<I>
) -> Result<E::Atom, Self::AtomParseError> where
I: Iterator<Item = T>,
Provided methods
fn parse<I>(iter: I) -> Result<E, Self::AtomParseError> where
E::Group: FromIterator<E>,
I: IntoIterator<Item = T>,
[src]
E::Group: FromIterator<E>,
I: IntoIterator<Item = T>,
Parses an Expression
from an Iterator
over T
.
Note
This function consumes the iterator expecting nothing before or after the parsed
Expression
. To pause parsing after one Expression
, try
parse_continue
instead.
fn parse_continue<I>(iter: &mut Peekable<I>) -> Result<E, Self::AtomParseError> where
E::Group: FromIterator<E>,
I: Iterator<Item = T>,
[src]
E::Group: FromIterator<E>,
I: Iterator<Item = T>,
Tries to parse an Expression
from an Iterator
over T
.
Note
The iterator may still have elements remaining after parsing one Expression
.
To parse exactly one Expression
, consuming the incoming iterator, try
parse
instead.
fn parse_atom<I>(iter: I) -> Result<E::Atom, Self::AtomParseError> where
I: IntoIterator<Item = T>,
[src]
I: IntoIterator<Item = T>,
Parses an Atom
from an Iterator
over T
.
Note
This function consumes the iterator expecting nothing before or after the parsed
Atom
. To pause parsing after one Atom
, try
parse_atom_continue
instead.
fn parse_atom_expression<I>(iter: I) -> Result<E, Self::AtomParseError> where
I: IntoIterator<Item = T>,
[src]
I: IntoIterator<Item = T>,
Parses an Atom
from an Iterator
over T
.
Note
This function consumes the iterator expecting nothing before or after the parsed
Atom
. To pause parsing after one Atom
, try
parse_atom_continue
instead.
fn parse_atom_expression_continue<I>(
iter: &mut Peekable<I>
) -> Result<E, Self::AtomParseError> where
I: Iterator<Item = T>,
[src]
iter: &mut Peekable<I>
) -> Result<E, Self::AtomParseError> where
I: Iterator<Item = T>,
Tries to parse an Atom
from an Iterator
over T
.
Note
The iterator may still have elements remaining after parsing one Atom
.
To parse exactly one Atom
, consuming the incoming iterator, try
parse_atom
instead.
fn parse_group<I>(iter: I) -> Result<E::Group, Self::AtomParseError> where
E::Group: FromIterator<E>,
I: IntoIterator<Item = T>,
[src]
E::Group: FromIterator<E>,
I: IntoIterator<Item = T>,
Parses an Group
from an Iterator
over T
.
Note
This function consumes the iterator expecting nothing before or after the parsed
Group
. To pause parsing after one Group
, try
parse_group_continue
instead.
fn parse_group_expression<I>(iter: I) -> Result<E, Self::AtomParseError> where
E::Group: FromIterator<E>,
I: IntoIterator<Item = T>,
[src]
E::Group: FromIterator<E>,
I: IntoIterator<Item = T>,
Parses an Group
from an Iterator
over T
.
Note
This function consumes the iterator expecting nothing before or after the parsed
Group
. To pause parsing after one Group
, try
parse_group_continue
instead.
fn parse_group_continue<I>(
iter: &mut Peekable<I>
) -> Result<E::Group, Self::AtomParseError> where
E::Group: FromIterator<E>,
I: Iterator<Item = T>,
[src]
iter: &mut Peekable<I>
) -> Result<E::Group, Self::AtomParseError> where
E::Group: FromIterator<E>,
I: Iterator<Item = T>,
Tries to parse a Group
from an Iterator
over T
.
Note
The iterator may still have elements remaining after parsing one Group
.
To parse exactly one Group
, consuming the incoming iterator, try
parse_group
instead.
fn parse_group_expression_continue<I>(
iter: &mut Peekable<I>
) -> Result<E, Self::AtomParseError> where
E::Group: FromIterator<E>,
I: Iterator<Item = T>,
[src]
iter: &mut Peekable<I>
) -> Result<E, Self::AtomParseError> where
E::Group: FromIterator<E>,
I: Iterator<Item = T>,
Implementors
impl<E> Parser<char, E> for FromCharacters where
E: Expression,
E::Atom: FromIterator<char>,
[src]
E: Expression,
E::Atom: FromIterator<char>,
type AtomParseError = FromCharactersParseError
fn classify(term: &char) -> SymbolType
[src]
fn parse_atom_continue<I>(
iter: &mut Peekable<I>
) -> Result<E::Atom, Self::AtomParseError> where
I: Iterator<Item = char>,
[src]
iter: &mut Peekable<I>
) -> Result<E::Atom, Self::AtomParseError> where
I: Iterator<Item = char>,