Skip to main content

Parse

Trait Parse 

Source
pub trait Parse<'src>: Sized {
    // Required method
    fn parser(    ) -> impl Parser<'src, &'src str, Self, Full<Simple<'src, char>, (), ()>>;
}
Expand description

A parser whose input is &'src str (char stream) and whose error type is Simple<char>.

The lifetime 'src is the input lifetime. Output type Self is owned and does not borrow from the input.

Required Methods§

Source

fn parser() -> impl Parser<'src, &'src str, Self, Full<Simple<'src, char>, (), ()>>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<'__vihaco_src, Ty> Parse<'__vihaco_src> for Parameter<Ty>
where u32: Parse<'__vihaco_src> + '__vihaco_src, Ty: Parse<'__vihaco_src> + '__vihaco_src,

Source§

fn parser() -> impl Parser<'__vihaco_src, &'__vihaco_src str, Parameter<Ty>, Full<Simple<'__vihaco_src, char>, (), ()>>

Source§

impl<'__vihaco_src, Ty> Parse<'__vihaco_src> for Signature<Ty>
where Vec<Parameter<Ty>>: Parse<'__vihaco_src> + '__vihaco_src, Vec<Ty>: Parse<'__vihaco_src> + '__vihaco_src,

Source§

fn parser() -> impl Parser<'__vihaco_src, &'__vihaco_src str, Signature<Ty>, Full<Simple<'__vihaco_src, char>, (), ()>>

Source§

impl<'__vihaco_src, Type> Parse<'__vihaco_src> for FunctionInfo<Type>
where u32: Parse<'__vihaco_src> + '__vihaco_src, Signature<Type>: Parse<'__vihaco_src> + '__vihaco_src,

Source§

fn parser() -> impl Parser<'__vihaco_src, &'__vihaco_src str, FunctionInfo<Type>, Full<Simple<'__vihaco_src, char>, (), ()>>

Source§

impl<'__vihaco_src, V, Ty, Info> Parse<'__vihaco_src> for ProgramMetadata<V, Ty, Info>
where Vec<FunctionInfo<Ty>>: Parse<'__vihaco_src> + '__vihaco_src, Vec<LabelInfo>: Parse<'__vihaco_src> + '__vihaco_src, Vec<V>: Parse<'__vihaco_src> + '__vihaco_src, Vec<String>: Parse<'__vihaco_src> + '__vihaco_src, Option<u32>: Parse<'__vihaco_src> + '__vihaco_src, Vec<SourceSymbolInfo>: Parse<'__vihaco_src> + '__vihaco_src, Info: Parse<'__vihaco_src> + '__vihaco_src,

Source§

fn parser() -> impl Parser<'__vihaco_src, &'__vihaco_src str, ProgramMetadata<V, Ty, Info>, Full<Simple<'__vihaco_src, char>, (), ()>>

Source§

impl<'__vihaco_src> Parse<'__vihaco_src> for LabelInfo
where u32: Parse<'__vihaco_src> + '__vihaco_src,

Source§

fn parser() -> impl Parser<'__vihaco_src, &'__vihaco_src str, LabelInfo, Full<Simple<'__vihaco_src, char>, (), ()>>

Source§

impl<'__vihaco_src> Parse<'__vihaco_src> for NoInfo

Source§

fn parser() -> impl Parser<'__vihaco_src, &'__vihaco_src str, NoInfo, Full<Simple<'__vihaco_src, char>, (), ()>>

Source§

impl<'__vihaco_src> Parse<'__vihaco_src> for SourceSymbolInfo
where u32: Parse<'__vihaco_src> + '__vihaco_src, String: Parse<'__vihaco_src> + '__vihaco_src,

Source§

fn parser() -> impl Parser<'__vihaco_src, &'__vihaco_src str, SourceSymbolInfo, Full<Simple<'__vihaco_src, char>, (), ()>>

Source§

impl<'src, A, B> Parse<'src> for (A, B)
where A: Parse<'src> + 'src, B: Parse<'src> + 'src,

Source§

fn parser() -> impl Parser<'src, &'src str, (A, B), Full<Simple<'src, char>, (), ()>>

Source§

impl<'src, T> Parse<'src> for Option<T>
where T: Parse<'src> + 'src,

Source§

fn parser() -> impl Parser<'src, &'src str, Option<T>, Full<Simple<'src, char>, (), ()>>

Source§

impl<'src, T> Parse<'src> for Vec<T>
where T: Parse<'src> + 'src,

Source§

fn parser() -> impl Parser<'src, &'src str, Vec<T>, Full<Simple<'src, char>, (), ()>>

Source§

impl<'src> Parse<'src> for String

Source§

fn parser() -> impl Parser<'src, &'src str, String, Full<Simple<'src, char>, (), ()>>

§

impl<'src> Parse<'src> for Type

Parse type syntax directly into the runtime type vocabulary.

§

fn parser() -> impl Parser<'src, &'src str, Type, Full<Simple<'src, char>, (), ()>>

§

impl<'src> Parse<'src> for Value

Typed metadata constants use the existing SST value vocabulary.

§

fn parser() -> impl Parser<'src, &'src str, Value, Full<Simple<'src, char>, (), ()>>

Source§

impl<'src> Parse<'src> for bool

Source§

fn parser() -> impl Parser<'src, &'src str, bool, Full<Simple<'src, char>, (), ()>>

Source§

impl<'src> Parse<'src> for f32

Source§

fn parser() -> impl Parser<'src, &'src str, f32, Full<Simple<'src, char>, (), ()>>

Source§

impl<'src> Parse<'src> for f64

Source§

fn parser() -> impl Parser<'src, &'src str, f64, Full<Simple<'src, char>, (), ()>>

Source§

impl<'src> Parse<'src> for i32

Source§

fn parser() -> impl Parser<'src, &'src str, i32, Full<Simple<'src, char>, (), ()>>

Source§

impl<'src> Parse<'src> for i64

Source§

fn parser() -> impl Parser<'src, &'src str, i64, Full<Simple<'src, char>, (), ()>>

Source§

impl<'src> Parse<'src> for u32

Source§

fn parser() -> impl Parser<'src, &'src str, u32, Full<Simple<'src, char>, (), ()>>

Source§

impl<'src> Parse<'src> for u64

Source§

fn parser() -> impl Parser<'src, &'src str, u64, Full<Simple<'src, char>, (), ()>>

Source§

impl<'src> Parse<'src> for usize

Source§

fn parser() -> impl Parser<'src, &'src str, usize, Full<Simple<'src, char>, (), ()>>

Implementors§

Source§

impl<'src> Parse<'src> for BareToken

Source§

impl<'src> Parse<'src> for Ident

Source§

impl<'src> Parse<'src> for QuotedString