thinking about dependnecies

This commit is contained in:
Christoph J. Scherr 2023-12-19 01:31:08 +01:00
parent fc889b57d3
commit 081618681a
3 changed files with 14 additions and 57 deletions

56
Cargo.lock generated
View File

@ -106,7 +106,7 @@ dependencies = [
"heck", "heck",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.41", "syn",
] ]
[[package]] [[package]]
@ -133,28 +133,6 @@ version = "0.4.20"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
[[package]]
name = "memchr"
version = "2.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
[[package]]
name = "minimal-lexical"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
[[package]]
name = "nom"
version = "7.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
dependencies = [
"memchr",
"minimal-lexical",
]
[[package]] [[package]]
name = "num-traits" name = "num-traits"
version = "0.2.17" version = "0.2.17"
@ -171,8 +149,6 @@ dependencies = [
"clap", "clap",
"clap-num", "clap-num",
"clap-verbosity-flag", "clap-verbosity-flag",
"nom",
"racc",
] ]
[[package]] [[package]]
@ -193,42 +169,12 @@ dependencies = [
"proc-macro2", "proc-macro2",
] ]
[[package]]
name = "racc"
version = "0.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3a93af6fd1d634b74440a3f0602fcbcea7db7950960a99c9c9a9f05b7da93594"
dependencies = [
"log",
"proc-macro2",
"quote",
"ramp_table",
"syn 1.0.109",
]
[[package]]
name = "ramp_table"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1bff95c0969b90c5d05263ee9543720e6361c59a686e6dfd149b4a1ddcc28217"
[[package]] [[package]]
name = "strsim" name = "strsim"
version = "0.10.0" version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
[[package]]
name = "syn"
version = "1.0.109"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]] [[package]]
name = "syn" name = "syn"
version = "2.0.41" version = "2.0.41"

View File

@ -5,3 +5,16 @@ Object oriented pseudo syntax is another esoteric programming language.
## oopsc ## oopsc
The oops compiler compiles oops source code to a native executable. The oops compiler compiles oops source code to a native executable.
### Approaches
- [`nom`](https://docs.rs/nom): parser combinator, meaning we don't write grammar and generate code from
it but we write many small functions that magically work together. Sounds cool
but coming from a university course with antlr and ply I don't get it.
- [`pest`](https://pest.rs/): weird grammar syntax but seems like a very
professional choice.
- [`lalrpop`](https://github.com/lalrpop/lalrpop): seems most similar to ply and
antlr, but feels confusing from the first glance.
`pest` seems the most mature and usable for a rust project, there is even a
list of pretty popular stuff written with it [here](https://github.com/pest-parser/pest#projects-using-pest).

View File

@ -19,5 +19,3 @@ default = []
clap = "4.4.11" clap = "4.4.11"
clap-num = "1.0.2" clap-num = "1.0.2"
clap-verbosity-flag = "2.1.1" clap-verbosity-flag = "2.1.1"
nom = "7.1.3"
racc = "0.0.4"