Struct combine_language::LanguageEnv
[−]
[src]
pub struct LanguageEnv<'a, I> { // some fields omitted }
A type containing parsers for a specific language.
Methods
impl<'a, I> LanguageEnv<'a, I> where I: Stream<Item=char>
[src]
fn new<A, B, C, D, E, F, G>(def: LanguageDef<A, B, C, D, E, F, G>) -> LanguageEnv<'a, I> where A: Parser<Input=I, Output=char> + 'a, B: Parser<Input=I, Output=char> + 'a, C: Parser<Input=I, Output=char> + 'a, D: Parser<Input=I, Output=char> + 'a, E: Parser<Input=I, Output=()> + 'a, F: Parser<Input=I, Output=()> + 'a, G: Parser<Input=I, Output=()> + 'a
Constructs a new parser from a language defintion
fn lex<'b, P>(&'b self, p: P) -> Lex<'a, 'b, P> where P: Parser<Input=I> + 'b
Creates a lexing parser from p
fn white_space<'b>(&'b self) -> WhiteSpace<'a, 'b, I>
Skips spaces and comments
fn symbol<'b>(&'b self, name: &'static str) -> Lex<'a, 'b, String<I>>
Parses a symbol, lexing the stream if it is successful
fn identifier<'b>(&'b self) -> LanguageParser<'a, 'b, I, String>
Parses an identifier, failing if it parses something that is a reserved identifier
fn reserved<'b>(&'b self, name: &'static str) -> Reserved<'a, 'b, I> where I::Range: 'b
Parses the reserved identifier name
fn op<'b>(&'b self) -> LanguageParser<'a, 'b, I, String>
Parses an operator, failing if it parses something that is a reserved operator
fn reserved_op<'b>(&'b self, name: &'static str) -> Reserved<'a, 'b, I> where I::Range: 'b
Parses the reserved operator name
fn char_literal<'b>(&'b self) -> LanguageParser<'a, 'b, I, char>
Parses a character literal taking escape sequences into account
fn string_literal<'b>(&'b self) -> LanguageParser<'a, 'b, I, String>
Parses a string literal taking character escapes into account
fn angles<'b, P>(&'b self, parser: P) -> BetweenChar<'a, 'b, P> where P: Parser<Input=I>, I::Range: 'b
Parses p
inside angle brackets
< p >
fn braces<'b, P>(&'b self, parser: P) -> BetweenChar<'a, 'b, P> where P: Parser<Input=I>, I::Range: 'b
Parses p
inside braces
{ p }
fn brackets<'b, P>(&'b self, parser: P) -> BetweenChar<'a, 'b, P> where P: Parser<Input=I>, I::Range: 'b
Parses p
inside brackets
[ p ]
fn parens<'b, P>(&'b self, parser: P) -> BetweenChar<'a, 'b, P> where P: Parser<Input=I>, I::Range: 'b
Parses p
inside parentheses
( p )
fn integer<'b>(&'b self) -> LanguageParser<'a, 'b, I, i64>
Parses an integer
fn float<'b>(&'b self) -> LanguageParser<'a, 'b, I, f64>
Parses a floating point number