Struct GrammarBuilder
pub struct GrammarBuilder {
pub regex: RegexBuilder,
/* private fields */
}
Fields§
§regex: RegexBuilder
Implementations§
§impl GrammarBuilder
impl GrammarBuilder
pub fn new( tok_env: Option<Arc<dyn TokenizerEnv + Sync>>, limits: ParserLimits, ) -> GrammarBuilder
pub fn check_limits(&self) -> Result<(), Error>
pub fn add_grammar( &mut self, options: LLGuidanceOptions, skip: RegexAst, ) -> Result<SymIdx, Error>
pub fn size(&self) -> usize
pub fn string(&mut self, s: &str) -> NodeRef
pub fn token_ranges( &mut self, token_ranges: Vec<RangeInclusive<u32>>, ) -> Result<NodeRef, Error>
pub fn special_token(&mut self, token: &str) -> Result<NodeRef, Error>
pub fn gen_grammar( &mut self, data: GenGrammarOptions, props: NodeProps, ) -> NodeRef
pub fn gen( &mut self, data: GenOptions, props: NodeProps, ) -> Result<NodeRef, Error>
pub fn lexeme(&mut self, rx: ExprRef) -> NodeRef
pub fn lexeme_ext( &mut self, rx: ExprRef, temperature: Option<f32>, props: NodeProps, ) -> NodeRef
pub fn select(&mut self, options: &[NodeRef]) -> NodeRef
pub fn max_tokens(&mut self, node: NodeRef, max_tokens: usize) -> NodeRef
pub fn join(&mut self, values: &[NodeRef]) -> NodeRef
pub fn join_props(&mut self, values: &[NodeRef], props: NodeProps) -> NodeRef
pub fn empty(&mut self) -> NodeRef
pub fn num_nodes(&self) -> usize
pub fn optional(&mut self, value: NodeRef) -> NodeRef
pub fn one_or_more(&mut self, elt: NodeRef) -> NodeRef
pub fn zero_or_more(&mut self, elt: NodeRef) -> NodeRef
pub fn repeat( &mut self, elt: NodeRef, min: usize, max: Option<usize>, ) -> NodeRef
pub fn new_node(&mut self, name: &str) -> NodeRef
pub fn set_placeholder(&mut self, placeholder: NodeRef, node: NodeRef)
pub fn set_start_node(&mut self, node: NodeRef)
pub fn link_gen_grammar( &mut self, gg: NodeRef, grm_start: SymIdx, ) -> Result<(), Error>
pub fn finalize(self, symidx: SymIdx) -> GrammarResult
Auto Trait Implementations§
impl Freeze for GrammarBuilder
impl !RefUnwindSafe for GrammarBuilder
impl Send for GrammarBuilder
impl Sync for GrammarBuilder
impl Unpin for GrammarBuilder
impl !UnwindSafe for GrammarBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Forward to the method defined on the type
Any
.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Forward to the method defined on the type
Any
.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more