[−][src]Struct scdlang::Scdlang
Core parser and also Builder
.
Examples
ⓘThis example is not tested
use scdlang::semantics::Kind; let mut parser = Scdlang::new(); parser.with_err_path("test.scl") for semantic_type in iter_from(source)? { match semantic_type { Kind::Expression(expr) => {/* expr.[methods] */} Kind::Statement(stmnt) => {/* stmnt.[methods] */} Kind::Declaration(declr) => { /* declr.expressions.[methods] // access each expressions declr.statements.[methods] //access each statements */ } } }
Fields
semantic_error: bool
Methods
impl<'s> Scdlang<'s>
[src]
pub fn new() -> Self
[src]
This method is prefered for instantiating
than using Default::default()
pub fn finish(self) -> Result<Self, Error>
[src]
Call this when
Drop
cause panic!.
Manually drop this object which can return Err(Deadlock), useful when in multi-thread process.
impl<'g> Scdlang<'g>
[src]
pub fn parse(&self, source: &'g str) -> Result<Pairs<Rule>, Error>
[src]
Parse from source
and also reformat the error messages.
pub fn parse_from(source: &str) -> Result<Pairs<Rule>, Error>
[src]
Parse from source
but don't modify or fix the error messages.
pub fn iter_from(&self, source: &'g str) -> Result<Vec<Kind>, Error>
[src]
Parse from source
then iterate.
This is the preferred methods for implementing transpiler, codegen, or compiler.
Trait Implementations
impl<'g> Builder<'g> for Scdlang<'g>
[src]
fn with_err_path(&mut self, path: &'g str) -> &mut dyn Builder<'g>
[src]
fn with_err_line(&mut self, line: usize) -> &mut dyn Builder<'g>
[src]
fn with_err_semantic(&mut self, default: bool) -> &mut dyn Builder<'g>
[src]
fn auto_clear_cache(&mut self, default: bool) -> &mut dyn Builder<'g>
[src]
impl<'g> Drop for Scdlang<'g>
[src]
impl<'g> Default for Scdlang<'g>
[src]
impl<'g> Clone for Scdlang<'g>
[src]
fn clone(&self) -> Scdlang<'g>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<'_> Display for Scdlang<'_>
[src]
impl<'g> Parser<Rule> for Scdlang<'g>
[src]
Auto Trait Implementations
impl<'g> Send for Scdlang<'g>
impl<'g> Unpin for Scdlang<'g>
impl<'g> Sync for Scdlang<'g>
impl<'g> UnwindSafe for Scdlang<'g>
impl<'g> RefUnwindSafe for Scdlang<'g>
Blanket Implementations
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,