thinking about dependnecies
This commit is contained in:
parent
fc889b57d3
commit
081618681a
|
@ -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"
|
||||||
|
|
13
README.md
13
README.md
|
@ -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).
|
||||||
|
|
|
@ -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"
|
|
||||||
|
|
Loading…
Reference in New Issue