ptal / oak

A typed parser generator embedded in Rust code for Parsing Expression Grammars
Apache License 2.0
142 stars 14 forks source link

Sum variants as semantic actions #53

Closed ptal closed 8 years ago

ptal commented 9 years ago
expr =
   digit "+" digit > Plus
 / digit "-" digit > Minus

enum BinOp {
  Plus(i32, i32),
  Minus(i32, i32)
}
ptal commented 9 years ago

To avoid declaring enum directly inside the grammar, we could propose "forward" declaration such as:

use enum [path]::{Plus, Minus};