diff --git a/README.md b/README.md index afe0dc752..fd7796b78 100644 --- a/README.md +++ b/README.md @@ -14,14 +14,12 @@ grammar and lexing definitions). First we need to create a file `build.rs` in the root of our project with the following content: ```rust -use cfgrammar::yacc::YaccKind; use lrlex::CTLexerBuilder; fn main() { CTLexerBuilder::new() .lrpar_config(|ctp| { - ctp.yacckind(YaccKind::Grmtools) - .grammar_in_src_dir("calc.y") + ctp.grammar_in_src_dir("calc.y") .unwrap() }) .lexer_in_src_dir("calc.l") @@ -48,6 +46,7 @@ lexer can be found in `src/calc.l`: and where the definitions for the parser can be found in `src/calc.y`: ```rust +%grmtools{yacckind Grmtools} %start Expr %avoid_insert "INT" %% diff --git a/doc/src/errorrecovery.md b/doc/src/errorrecovery.md index e9eca3dab..17201c047 100644 --- a/doc/src/errorrecovery.md +++ b/doc/src/errorrecovery.md @@ -49,6 +49,7 @@ make use of error recovery. A simple calculator grammar looks as follows: ```rust,noplaypen +%grmtools{yacckind Grmtools} %start Expr %% Expr -> u64: @@ -181,6 +182,7 @@ We thus change the grammar so that inserted integers prevent evaluation from occurring: ```rust,noplaypen +%grmtools{yacckind Grmtools} %start Expr %% Expr -> Result: @@ -539,8 +541,7 @@ the first parsing error, with the `recoverer` method in `CTParserBuilder` or ```rust,noplaypen CTLexerBuilder::new() .lrpar_config(|ctp| { - ctp.yacckind(YaccKind::Grmtools) - .recoverer(lrpar::RecoveryKind::None) + ctp.recoverer(lrpar::RecoveryKind::None) .grammar_in_src_dir("calc.y") .unwrap() }) diff --git a/doc/src/manuallexer.md b/doc/src/manuallexer.md index c4c90e9ac..9f29bf9b8 100644 --- a/doc/src/manuallexer.md +++ b/doc/src/manuallexer.md @@ -38,13 +38,11 @@ Putting these together is then relatively easy. First a `build.rs` file for a hand-written lexer will look roughly as follows: ```rust -use cfgrammar::yacc::YaccKind; use lrlex::{ct_token_map, DefaultLexerTypes}; use lrpar::CTParserBuilder; fn main() { let ctp = CTParserBuilder::>::new() - .yacckind(YaccKind::Grmtools) .grammar_in_src_dir("grammar.y") .unwrap() .build() diff --git a/doc/src/quickstart.md b/doc/src/quickstart.md index 1b2656393..5bb803395 100644 --- a/doc/src/quickstart.md +++ b/doc/src/quickstart.md @@ -48,14 +48,12 @@ file inside the root of our project which can process the lexer and grammar. Our `build.rs` file thus looks as follows: ```rust,noplaypen -use cfgrammar::yacc::YaccKind; use lrlex::CTLexerBuilder; fn main() { CTLexerBuilder::new() .lrpar_config(|ctp| { - ctp.yacckind(YaccKind::Grmtools) - .grammar_in_src_dir("calc.y") + ctp.grammar_in_src_dir("calc.y") .unwrap() }) .lexer_in_src_dir("calc.l") @@ -103,6 +101,7 @@ is lexed, but no lexemes are created from it. Our initial version of calc.y looks as follows: ```rust,noplaypen +%grmtools{yacckind Grmtools} %start Expr %% Expr -> Result: diff --git a/lrlex/examples/calc_manual_lex/build.rs b/lrlex/examples/calc_manual_lex/build.rs index 1510be2ac..ba946a95e 100644 --- a/lrlex/examples/calc_manual_lex/build.rs +++ b/lrlex/examples/calc_manual_lex/build.rs @@ -1,4 +1,3 @@ -use cfgrammar::yacc::YaccKind; use lrlex::{ct_token_map, DefaultLexerTypes}; use lrpar::CTParserBuilder; @@ -13,7 +12,6 @@ const TOKENS_MAP: &[(&str, &str)] = &[ fn main() { let ctp = CTParserBuilder::>::new() - .yacckind(YaccKind::Grmtools) .grammar_in_src_dir("calc.y") .unwrap() .build() diff --git a/lrlex/examples/calc_manual_lex/src/calc.y b/lrlex/examples/calc_manual_lex/src/calc.y index c40818521..6956a9b69 100644 --- a/lrlex/examples/calc_manual_lex/src/calc.y +++ b/lrlex/examples/calc_manual_lex/src/calc.y @@ -1,3 +1,4 @@ +%grmtools{yacckind Grmtools} %start Expr %avoid_insert "INT" %expect-unused Unmatched "UNMATCHED" diff --git a/lrpar/examples/calc_actions/build.rs b/lrpar/examples/calc_actions/build.rs index f80dbe619..c441cb011 100644 --- a/lrpar/examples/calc_actions/build.rs +++ b/lrpar/examples/calc_actions/build.rs @@ -1,5 +1,4 @@ #![deny(rust_2018_idioms)] -use cfgrammar::yacc::YaccKind; use lrlex::CTLexerBuilder; fn main() { @@ -8,8 +7,7 @@ fn main() { CTLexerBuilder::new() .rust_edition(lrlex::RustEdition::Rust2021) .lrpar_config(|ctp| { - ctp.yacckind(YaccKind::Grmtools) - .rust_edition(lrpar::RustEdition::Rust2021) + ctp.rust_edition(lrpar::RustEdition::Rust2021) .grammar_in_src_dir("calc.y") .unwrap() }) diff --git a/lrpar/examples/calc_actions/src/calc.y b/lrpar/examples/calc_actions/src/calc.y index 1797499b0..8761eedb0 100644 --- a/lrpar/examples/calc_actions/src/calc.y +++ b/lrpar/examples/calc_actions/src/calc.y @@ -1,6 +1,4 @@ -%grmtools { - yacckind Grmtools -} +%grmtools {yacckind Grmtools} %start Expr %avoid_insert "INT" %% diff --git a/lrpar/examples/calc_ast/build.rs b/lrpar/examples/calc_ast/build.rs index f80dbe619..c441cb011 100644 --- a/lrpar/examples/calc_ast/build.rs +++ b/lrpar/examples/calc_ast/build.rs @@ -1,5 +1,4 @@ #![deny(rust_2018_idioms)] -use cfgrammar::yacc::YaccKind; use lrlex::CTLexerBuilder; fn main() { @@ -8,8 +7,7 @@ fn main() { CTLexerBuilder::new() .rust_edition(lrlex::RustEdition::Rust2021) .lrpar_config(|ctp| { - ctp.yacckind(YaccKind::Grmtools) - .rust_edition(lrpar::RustEdition::Rust2021) + ctp.rust_edition(lrpar::RustEdition::Rust2021) .grammar_in_src_dir("calc.y") .unwrap() }) diff --git a/lrpar/examples/calc_ast/src/calc.y b/lrpar/examples/calc_ast/src/calc.y index c40818521..b2272be7b 100644 --- a/lrpar/examples/calc_ast/src/calc.y +++ b/lrpar/examples/calc_ast/src/calc.y @@ -1,3 +1,4 @@ +%grmtools {yacckind Grmtools} %start Expr %avoid_insert "INT" %expect-unused Unmatched "UNMATCHED" diff --git a/lrpar/examples/calc_parsetree/build.rs b/lrpar/examples/calc_parsetree/build.rs index bf1b81725..cf3b4d309 100644 --- a/lrpar/examples/calc_parsetree/build.rs +++ b/lrpar/examples/calc_parsetree/build.rs @@ -1,4 +1,3 @@ -use cfgrammar::yacc::{YaccKind, YaccOriginalActionKind}; use lrlex::CTLexerBuilder; fn main() { @@ -7,8 +6,7 @@ fn main() { CTLexerBuilder::new() .rust_edition(lrlex::RustEdition::Rust2021) .lrpar_config(|ctp| { - ctp.yacckind(YaccKind::Original(YaccOriginalActionKind::GenericParseTree)) - .rust_edition(lrpar::RustEdition::Rust2021) + ctp.rust_edition(lrpar::RustEdition::Rust2021) .grammar_in_src_dir("calc.y") .unwrap() }) diff --git a/lrpar/examples/clone_param/build.rs b/lrpar/examples/clone_param/build.rs index 2bca2a146..4ba1ae4e8 100644 --- a/lrpar/examples/clone_param/build.rs +++ b/lrpar/examples/clone_param/build.rs @@ -1,5 +1,4 @@ #![deny(rust_2018_idioms)] -use cfgrammar::yacc::YaccKind; use lrlex::CTLexerBuilder; fn main() { @@ -8,8 +7,7 @@ fn main() { CTLexerBuilder::new() .rust_edition(lrlex::RustEdition::Rust2021) .lrpar_config(|ctp| { - ctp.yacckind(YaccKind::Grmtools) - .rust_edition(lrpar::RustEdition::Rust2021) + ctp.rust_edition(lrpar::RustEdition::Rust2021) .grammar_in_src_dir("param.y") .unwrap() }) diff --git a/lrpar/examples/clone_param/src/param.y b/lrpar/examples/clone_param/src/param.y index 6dd21fc7d..d34be3da8 100644 --- a/lrpar/examples/clone_param/src/param.y +++ b/lrpar/examples/clone_param/src/param.y @@ -1,3 +1,4 @@ +%grmtools {yacckind Grmtools} %token Incr Decr %parse-param val: Rc> %% diff --git a/lrpar/examples/start_states/build.rs b/lrpar/examples/start_states/build.rs index f52c2916e..fbe4f0ce2 100644 --- a/lrpar/examples/start_states/build.rs +++ b/lrpar/examples/start_states/build.rs @@ -1,4 +1,3 @@ -use cfgrammar::yacc::{YaccKind, YaccOriginalActionKind}; use lrlex::CTLexerBuilder; fn main() { @@ -7,8 +6,7 @@ fn main() { CTLexerBuilder::new() .rust_edition(lrlex::RustEdition::Rust2021) .lrpar_config(|ctp| { - ctp.yacckind(YaccKind::Original(YaccOriginalActionKind::GenericParseTree)) - .rust_edition(lrpar::RustEdition::Rust2021) + ctp.rust_edition(lrpar::RustEdition::Rust2021) .grammar_in_src_dir("comment.y") .unwrap() }) diff --git a/lrpar/examples/start_states/src/comment.y b/lrpar/examples/start_states/src/comment.y index 9809d79e8..e0aa0ae23 100644 --- a/lrpar/examples/start_states/src/comment.y +++ b/lrpar/examples/start_states/src/comment.y @@ -1,5 +1,6 @@ +%grmtools{yacckind Original(GenericParseTree)} %start Expr %% Expr: Expr Text | ; -Text: 'TEXT'; \ No newline at end of file +Text: 'TEXT';