-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
We should get rid of unnecessary attributes and use standard language features over macros whenever possible.
This is a rough sketch of what it could look like:
impl LALR for Parser {
type T = Terminal;
type N = Nonterminal;
const START: Self::N = Nonterminal::Start;
const END: Self::T = Terminal::End;
type Input = str;
type Output = f32;
}
#[lalr]
#[assoc(...)]
impl Parser { /* Rule functions ... */ }
where LALR
is a trait defined as:
trait LALR {
type T;
type N;
const START: Self::N;
const END: Self::T;
type Input;
type Output;
}
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request