Current grammar representation is not highly readable.
:or rule is redundant. We can recognize that the rule is of 'or' type by the number of alternatives.
Maybe, use something like -> (or even →) at the beginning of each alternative, it can help with getting rid of redundant parentheses.
Maybe, use unicode ε instead of :eps.
Maybe, use symbols instead keywords for all control keyword (:^, :+, :*)
4.1 Possibly use special symbols at the start of an alternative (instead of ->) to designate the type of rule. (e.g. *->)
Current grammar representation is not highly readable.
:or
rule is redundant. We can recognize that the rule is of 'or' type by the number of alternatives.->
(or even→
) at the beginning of each alternative, it can help with getting rid of redundant parentheses.ε
instead of:eps
.:^
,:+
,:*
) 4.1 Possibly use special symbols at the start of an alternative (instead of->
) to designate the type of rule. (e.g.*->
)Example: