pub enum Rule {
Show 59 variants
EOI,
bymc_spec,
local_variables,
shared_variables,
parameters,
define_statement,
assumption_list,
location,
location_list,
initial_condition_list,
rule,
rule_list,
specification,
specification_list,
unchanged_expr,
reset_expr,
assignment_expr,
action_expr,
action_list,
integer_const,
add,
sub,
mul,
div,
integer_binary_op,
negation,
integer_unary_op,
integer_atom,
integer_expr,
bool_true,
bool_false,
bool_const,
and,
or,
boolean_connective,
not,
boolean_unary_op,
equal,
n_equal,
less_eq,
less,
greater_eq,
greater,
comparison_op,
comparison_expr,
boolean_atom,
boolean_expr,
boolean_expr_list,
eventually,
globally,
implication,
ltl_binary_op,
ltl_unary_op,
ltl_atom,
ltl_expr,
identifier,
identifier_list,
COMMENT,
WHITESPACE,
}Expand description
This file specifies a pest grammar for the specification format introduced by BYMC (https://github.com/konnov/bymc).
A formal grammar can be found here https://github.com/konnov/bymc/blob/266366f738bce9dbd5d04336fd9123d85ae2bca1/bymc/doc/ta-format.md?plain=1#L7
This grammar is more permissive as some benchmarks do not follow the original grammar.
Variants§
EOI
End-of-input
bymc_spec
local_variables
parameters
define_statement
assumption_list
location
location_list
initial_condition_list
rule
rule_list
specification
specification_list
unchanged_expr
reset_expr
assignment_expr
action_expr
action_list
integer_const
add
sub
mul
div
integer_binary_op
negation
integer_unary_op
integer_atom
integer_expr
bool_true
bool_false
bool_const
and
or
boolean_connective
not
boolean_unary_op
equal
n_equal
less_eq
less
greater_eq
greater
comparison_op
comparison_expr
boolean_atom
boolean_expr
boolean_expr_list
eventually
globally
implication
ltl_binary_op
ltl_unary_op
ltl_atom
ltl_expr
identifier
identifier_list
COMMENT
WHITESPACE
Implementations§
Trait Implementations§
Source§impl Ord for Rule
impl Ord for Rule
Source§impl Parser<Rule> for PestByMCParser
impl Parser<Rule> for PestByMCParser
Source§impl PartialOrd for Rule
impl PartialOrd for Rule
impl Copy for Rule
impl Eq for Rule
impl StructuralPartialEq for Rule
Auto Trait Implementations§
impl Freeze for Rule
impl RefUnwindSafe for Rule
impl Send for Rule
impl Sync for Rule
impl Unpin for Rule
impl UnwindSafe for Rule
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more