pest_extra
pest_extra provides additional functionality for the Pest parser
Features
Grammar
See below to find how to compile this grammar into Pest grammar.
A variable is a string that you can use in rules:
variable = "value" // easier than variable = { "value" }
Idea: https://github.com/pest-parser/pest/pull/759
Includes all the rules from one grammar to another.
include!
integer = @
primary = _
atom = _
expr =
equation = _
WHITESPACE = _
unary_minus =
bin_op = _
add =
subtract =
multiply =
divide =
modulo =
unary_minus =
divide =
modulo =
WHITESPACE = _
equation = _
bin_op = _
atom = _
integer = @
primary = _
add =
expr =
multiply =
subtract =
Other
Installation (for formatting and minifying):
pest_extra =
Uses pest-fmt.
Usage:
use formatter;
Minifies Pest grammar.
Usage:
use formatter;
Comparsion:
Size: 556 bytes
// No whitespace allowed between digits
integer = @
unary_minus =
primary = _
atom = _
bin_op = _
add =
subtract =
multiply =
divide =
modulo =
expr =
// We can't have SOI and EOI on expr directly, because it is used recursively (e.g. with parentheses)
equation = _
WHITESPACE = _
Size: 272 bytes (saved 48.92%)
integer=@unary_minus=primary=_atom=_bin_op=_add=subtract=multiply=divide=modulo=expr=equation=_WHITESPACE=_
Compiling grammar into the Pest grammar
Installation
pest_extra = "0.1.0"
Usage
use ;
Pest VM
pest_extra has built-in pest_vm to create a parser from your grammar.
Installation
pest_extra =
Usage
use ;
License
MIT