pub struct LexerGen {
pub max_utf8_chars: u32,
pub nbr_groups: u32,
pub initial_state: StateId,
pub first_end_state: StateId,
pub nbr_states: StateId,
pub ascii_to_group: Vec<GroupId>,
pub utf8_to_group: HashMap<char, GroupId>,
pub seg_to_group: SegMap<GroupId>,
pub state_table: Vec<StateId>,
pub terminal_table: Vec<Terminal>,
pub symbol_table: Option<SymbolTable>,
/* private fields */
}Fields§
§max_utf8_chars: u32§nbr_groups: u32§initial_state: StateId§first_end_state: StateId§nbr_states: StateId§ascii_to_group: Vec<GroupId>§utf8_to_group: HashMap<char, GroupId>§seg_to_group: SegMap<GroupId>§state_table: Vec<StateId>§terminal_table: Vec<Terminal>§symbol_table: Option<SymbolTable>Implementations§
Source§impl LexerGen
impl LexerGen
pub const DEFAULT_UTF8_TABLE_SIZE: u32 = 128u32
pub fn add_header<T: Into<String>>(&mut self, header: T)
pub fn extend_headers<I: IntoIterator<Item = T>, T: Into<String>>( &mut self, headers: I, )
pub fn use_full_lib(&mut self, use_full_lib: bool)
pub fn set_crate(&mut self, lcrate: LexigramCrate)
pub fn build_from_dfa(dfa: Dfa<Normalized>, max_utf8_chars: u32) -> Self
pub fn write_source_code( &self, file: Option<File>, indent: usize, ) -> Result<(), Error>
pub fn gen_source_code(&self, indent: usize) -> String
pub fn try_gen_source_code( self, indent: usize, ) -> Result<(BufLog, String), BuildError>
Trait Implementations§
Source§impl BuildFrom<Dfa<Normalized>> for LexerGen
impl BuildFrom<Dfa<Normalized>> for LexerGen
Source§fn build_from(dfa: Dfa<Normalized>) -> Self
fn build_from(dfa: Dfa<Normalized>) -> Self
Converts to this type from the input type.
Source§impl BuildFrom<LexerGen> for LexerTables
impl BuildFrom<LexerGen> for LexerTables
Source§fn build_from(lexer_gen: LexerGen) -> LexerTables
fn build_from(lexer_gen: LexerGen) -> LexerTables
Converts to this type from the input type.
Source§impl HasBuildErrorSource for LexerGen
impl HasBuildErrorSource for LexerGen
const SOURCE: BuildErrorSource = BuildErrorSource::LexerGen
fn get_build_error_source() -> BuildErrorSource
Source§impl TryBuildFrom<LexerGen> for LexerTables
impl TryBuildFrom<LexerGen> for LexerTables
Source§type Error = BuildError
type Error = BuildError
The type returned in the event of a conversion error.
Auto Trait Implementations§
impl Freeze for LexerGen
impl RefUnwindSafe for LexerGen
impl Send for LexerGen
impl Sync for LexerGen
impl Unpin for LexerGen
impl UnwindSafe for LexerGen
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
Source§impl<S> BuildFrom<S> for S
impl<S> BuildFrom<S> for S
Source§fn build_from(source: S) -> S
fn build_from(source: S) -> S
Converts to this type from the input type.
Source§impl<S, T> BuildInto<T> for Swhere
T: BuildFrom<S>,
impl<S, T> BuildInto<T> for Swhere
T: BuildFrom<S>,
Source§fn build_into(self) -> T
fn build_into(self) -> T
Calls T::from(self) to convert a [S] into a [T].
Source§impl<S, T> TryBuildFrom<S> for Twhere
S: LogReader<Item = BufLog> + HasBuildErrorSource,
T: LogReader<Item = BufLog> + BuildFrom<S> + HasBuildErrorSource,
impl<S, T> TryBuildFrom<S> for Twhere
S: LogReader<Item = BufLog> + HasBuildErrorSource,
T: LogReader<Item = BufLog> + BuildFrom<S> + HasBuildErrorSource,
Source§type Error = BuildError
type Error = BuildError
The type returned in the event of a conversion error.
Source§fn try_build_from(source: S) -> Result<T, <T as TryBuildFrom<S>>::Error>
fn try_build_from(source: S) -> Result<T, <T as TryBuildFrom<S>>::Error>
Performs the conversion.
Source§impl<S, T> TryBuildInto<T> for Swhere
T: TryBuildFrom<S>,
impl<S, T> TryBuildInto<T> for Swhere
T: TryBuildFrom<S>,
Source§type Error = <T as TryBuildFrom<S>>::Error
type Error = <T as TryBuildFrom<S>>::Error
The type returned in the event of a conversion error.
Source§fn try_build_into(self) -> Result<T, <T as TryBuildFrom<S>>::Error>
fn try_build_into(self) -> Result<T, <T as TryBuildFrom<S>>::Error>
Performs the conversion.