diff --git a/Cargo.lock b/Cargo.lock index 19782c9..3fa6113 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -19,7 +19,7 @@ checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3" [[package]] name = "copager" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "copager", @@ -48,7 +48,7 @@ dependencies = [ [[package]] name = "copager_cfg" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "serde", @@ -57,7 +57,7 @@ dependencies = [ [[package]] name = "copager_core" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "copager_cfg", @@ -76,7 +76,7 @@ dependencies = [ [[package]] name = "copager_core_macros" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "proc-macro2", @@ -87,7 +87,7 @@ dependencies = [ [[package]] name = "copager_ir" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "copager_cfg", @@ -98,7 +98,7 @@ dependencies = [ [[package]] name = "copager_ir_sexp" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "copager_cfg", @@ -114,7 +114,7 @@ dependencies = [ [[package]] name = "copager_ir_void" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "copager_cfg", @@ -126,7 +126,7 @@ dependencies = [ [[package]] name = "copager_lex" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "copager_cfg", @@ -137,7 +137,7 @@ dependencies = [ [[package]] name = "copager_lex_derive" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "copager_cfg", @@ -150,7 +150,7 @@ dependencies = [ [[package]] name = "copager_lex_regex" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "copager_cfg", @@ -164,7 +164,7 @@ dependencies = [ [[package]] name = "copager_parse" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "copager_cfg", @@ -176,7 +176,7 @@ dependencies = [ [[package]] name = "copager_parse_common" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "copager_cfg", @@ -187,7 +187,7 @@ dependencies = [ [[package]] name = "copager_parse_derive" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "copager_cfg", @@ -201,7 +201,7 @@ dependencies = [ [[package]] name = "copager_parse_lr_common" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "copager_cfg", @@ -214,7 +214,7 @@ dependencies = [ [[package]] name = "copager_parse_lr_lalr1" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "copager_cfg", @@ -232,7 +232,7 @@ dependencies = [ [[package]] name = "copager_parse_lr_lr0" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "copager_cfg", @@ -249,7 +249,7 @@ dependencies = [ [[package]] name = "copager_parse_lr_lr1" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "copager_cfg", @@ -267,7 +267,7 @@ dependencies = [ [[package]] name = "copager_parse_lr_slr1" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anyhow", "copager_cfg", @@ -285,7 +285,7 @@ dependencies = [ [[package]] name = "copager_utils" -version = "0.1.1" +version = "0.3.0" dependencies = [ "anyhow", "serde", diff --git a/Cargo.toml b/Cargo.toml index 9179df6..c87e0e9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ cargo-features = ["edition2024"] [package] name = "copager" -version = "0.2.0" +version = "0.3.0" edition = "2024" [dependencies] @@ -36,10 +36,10 @@ example_lang_xml = { path = "./examples/lang_xml" } [features] # all all = [ - "prebuild", "derive", "dev", # common - "regexlex", # lex - "lr0", "lr1", "slr1", # parse - "void", "sexp" # ir + "prebuild", "derive", "dev", # common + "regexlex", # lex + "lr0", "lr1", "slr1", "lalr1", # parse + "void", "sexp" # ir ] # common diff --git a/README.md b/README.md index 764bf78..7db2b92 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Copager -Rust製パーサジェネレータ +「言語処理系生成系」の生成系(**Constructible** **Pa**rser **Ge**nerator on **R**ust) ## Features @@ -27,6 +27,14 @@ Rust製パーサジェネレータ - `void` : [crates/ir_void](crates/ir_void) - `sexp` : [crates/ir_sexp](crates/ir_sexp) +``` +// RegexLex(lex) + LR1(parse) + SExp(ir) +copager = { ..., features = ["derive", "regexlex", "lr1", "sexp"] } + +// RegexLex(lex) + LALR1(parse) + Void(ir) +copager = { ..., features = ["derive", "regexlex", "lalr1", "void"] } +``` + ## Examples - [example_build_oneshot](examples/build_oneshot) diff --git a/crates/cfg/Cargo.toml b/crates/cfg/Cargo.toml index 0514617..d960f3c 100644 --- a/crates/cfg/Cargo.toml +++ b/crates/cfg/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "copager_cfg" -version = "0.2.0" +version = "0.3.0" edition = "2021" [dependencies] diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml index 6f5d292..e11227e 100644 --- a/crates/core/Cargo.toml +++ b/crates/core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "copager_core" -version = "0.2.0" +version = "0.3.0" edition = "2021" [dependencies] diff --git a/crates/core_macros/Cargo.toml b/crates/core_macros/Cargo.toml index d33518c..256afa0 100644 --- a/crates/core_macros/Cargo.toml +++ b/crates/core_macros/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "copager_core_macros" -version = "0.2.0" +version = "0.3.0" edition = "2021" [dependencies] diff --git a/crates/ir/Cargo.toml b/crates/ir/Cargo.toml index c05bab9..9851034 100644 --- a/crates/ir/Cargo.toml +++ b/crates/ir/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "copager_ir" -version = "0.2.0" +version = "0.3.0" edition = "2021" [dependencies] diff --git a/crates/ir_sexp/Cargo.toml b/crates/ir_sexp/Cargo.toml index a3c4ec8..983cc78 100644 --- a/crates/ir_sexp/Cargo.toml +++ b/crates/ir_sexp/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "copager_ir_sexp" -version = "0.2.0" +version = "0.3.0" edition = "2021" [dependencies] diff --git a/crates/ir_void/Cargo.toml b/crates/ir_void/Cargo.toml index fcc2038..9889ab1 100644 --- a/crates/ir_void/Cargo.toml +++ b/crates/ir_void/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "copager_ir_void" -version = "0.2.0" +version = "0.3.0" edition = "2021" [dependencies] diff --git a/crates/lex/Cargo.toml b/crates/lex/Cargo.toml index df17694..d5bc620 100644 --- a/crates/lex/Cargo.toml +++ b/crates/lex/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "copager_lex" -version = "0.2.0" +version = "0.3.0" edition = "2021" [dependencies] diff --git a/crates/lex_derive/Cargo.toml b/crates/lex_derive/Cargo.toml index 6c9cabd..1d2f9ba 100644 --- a/crates/lex_derive/Cargo.toml +++ b/crates/lex_derive/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "copager_lex_derive" -version = "0.2.0" +version = "0.3.0" edition = "2021" [dependencies] diff --git a/crates/lex_regex/Cargo.toml b/crates/lex_regex/Cargo.toml index 5e07b94..58e0284 100644 --- a/crates/lex_regex/Cargo.toml +++ b/crates/lex_regex/Cargo.toml @@ -2,7 +2,7 @@ cargo-features = ["edition2024"] [package] name = "copager_lex_regex" -version = "0.2.0" +version = "0.3.0" edition = "2024" [dependencies] diff --git a/crates/parse/Cargo.toml b/crates/parse/Cargo.toml index 7863532..f4c33f0 100644 --- a/crates/parse/Cargo.toml +++ b/crates/parse/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "copager_parse" -version = "0.2.0" +version = "0.3.0" edition = "2021" [dependencies] diff --git a/crates/parse_common/Cargo.toml b/crates/parse_common/Cargo.toml index 0351c48..7f261cf 100644 --- a/crates/parse_common/Cargo.toml +++ b/crates/parse_common/Cargo.toml @@ -2,7 +2,7 @@ cargo-features = ["edition2024"] [package] name = "copager_parse_common" -version = "0.2.0" +version = "0.3.0" edition = "2024" [dependencies] diff --git a/crates/parse_derive/Cargo.toml b/crates/parse_derive/Cargo.toml index dc2fd69..1046351 100644 --- a/crates/parse_derive/Cargo.toml +++ b/crates/parse_derive/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "copager_parse_derive" -version = "0.2.0" +version = "0.3.0" edition = "2021" [dependencies] diff --git a/crates/parse_lr_common/Cargo.toml b/crates/parse_lr_common/Cargo.toml index ecc8628..372c90e 100644 --- a/crates/parse_lr_common/Cargo.toml +++ b/crates/parse_lr_common/Cargo.toml @@ -2,7 +2,7 @@ cargo-features = ["edition2024"] [package] name = "copager_parse_lr_common" -version = "0.2.0" +version = "0.3.0" edition = "2024" [dependencies] diff --git a/crates/parse_lr_lalr1/Cargo.toml b/crates/parse_lr_lalr1/Cargo.toml index ded6f5c..133e361 100644 --- a/crates/parse_lr_lalr1/Cargo.toml +++ b/crates/parse_lr_lalr1/Cargo.toml @@ -2,7 +2,7 @@ cargo-features = ["edition2024"] [package] name = "copager_parse_lr_lalr1" -version = "0.2.0" +version = "0.3.0" edition = "2024" [dependencies] diff --git a/crates/parse_lr_lr0/Cargo.toml b/crates/parse_lr_lr0/Cargo.toml index 4279751..2be284e 100644 --- a/crates/parse_lr_lr0/Cargo.toml +++ b/crates/parse_lr_lr0/Cargo.toml @@ -2,7 +2,7 @@ cargo-features = ["edition2024"] [package] name = "copager_parse_lr_lr0" -version = "0.2.0" +version = "0.3.0" edition = "2024" [dependencies] diff --git a/crates/parse_lr_lr1/Cargo.toml b/crates/parse_lr_lr1/Cargo.toml index 287b880..9984ed6 100644 --- a/crates/parse_lr_lr1/Cargo.toml +++ b/crates/parse_lr_lr1/Cargo.toml @@ -2,7 +2,7 @@ cargo-features = ["edition2024"] [package] name = "copager_parse_lr_lr1" -version = "0.2.0" +version = "0.3.0" edition = "2024" [dependencies] diff --git a/crates/parse_lr_slr1/Cargo.toml b/crates/parse_lr_slr1/Cargo.toml index e6a1254..493f49a 100644 --- a/crates/parse_lr_slr1/Cargo.toml +++ b/crates/parse_lr_slr1/Cargo.toml @@ -2,7 +2,7 @@ cargo-features = ["edition2024"] [package] name = "copager_parse_lr_slr1" -version = "0.2.0" +version = "0.3.0" edition = "2024" [dependencies] diff --git a/crates/utils/Cargo.toml b/crates/utils/Cargo.toml index 3a9ffc7..10cbc86 100644 --- a/crates/utils/Cargo.toml +++ b/crates/utils/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "copager_utils" -version = "0.1.1" +version = "0.3.0" edition = "2021" [dependencies] diff --git a/src/lib.rs b/src/lib.rs index a291a3f..0fe6f2a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -37,7 +37,7 @@ pub mod ir { } pub mod prelude { - pub use copager_cfg::rule::{RuleTag, Rule, RuleElem}; + pub use copager_cfg::rule::{Rule, RuleElem, RuleTag}; pub use copager_cfg::token::TokenTag; }