LALRPOP 快速开始 文档/教程-中文翻译 | LALRPOP Quick start guide
✏️ 铅笔开头的内容为译者添加
✏️ 翻译自 LALRPOP 教程 | 快速开始 | Quick start guide
✏️ 导航: <<[上篇-基础速成] - [目录] - [下篇-正式教程]>>
✏️ 完整的中文文档(共9篇19k字): https://yuhanawa.github.io/posts/2023/57877
快速开始 | Quick start
要开始使用 LALRPOP, 最好是阅读教程, 它将向你介绍 LALRPOP 文件的语法, 等等.
但是如果你以前做过这个, 或者你是那种没有耐心的人.这里有一个快速的 “小抄”, 用于设置你的项目. 首先, 添加以下几行到你的 Cargo.toml
:
[package]
...
build = "build.rs" # LALRPOP preprocessing
# 生成的代码依赖于 lalrpop-util.
#
# 生成的标志器依赖于 regex crate.
#
# (如果你写了自己的标记器,或者已经有了 regex crate,你可以跳过这个依赖)
[dependencies]
lalrpop-util = "0.19.8"
regex = "1"
# 添加构建时的 lalrpop 依赖:
[build-dependencies]
lalrpop = "0.19.8"
# 如果你提供你自己的外部 lexer,你可以通过禁用 default-features 来使其不包括内置 lexer 功能。
# lalrpop = { version = "0.19.1", default-features = false }
接下来创建一个 build.rs
文件, 看起来像这样:
extern crate lalrpop;
fn main() {
lalrpop::process_root().unwrap();
}
(如果你已经有一个build.rs
文件了, 无论该文件在做什么, 你可以直接调用process_root
)
这就行了, 注意process_root
只是使用默认设置.
如果你想配置 LALRPOP 的执行方式, 请看 高级设置|Advanced setup.
手动运行
如果你愿意, 你也可以将 lalrpop
crate作为一个可执行文件.只需运行cargo install lalrpop
, 然后你就会得到一个可执行的二进制文件, 像这样:
lalrpop file.lalrpop
这将为你生成file.rs
.注意, 它只在file.lalrpop
比file.rs
新的情况下执行
如果你想无条件地执行, 请传递参数-f
(也可以尝试--help
以获得其他选项).
LALRPOP 快速开始 文档/教程-中文翻译 | LALRPOP Quick start guide
http://yuhanawa.github.io/posts/2023/17808/