These changes fix numerous issues with the existing TLA+2 BNF grammar spec, backporting a number of changes from the SANY parser and adding some missing rules. Changelist:
Restricted allowed syntax for INSTANCE substitutions
Allowed use of RECURSIVE operator declarations inside LET-IN constructs
Removed underscore from allowed characters in ProofStepId
Made large changes to InstOrSubexprPrefix rule to match SANY functioning
Encoded when to use - vs -. for the negative prefix operator
Separated ProofStepId from GeneralIdentifier rule
Added nonfix operators, for example +(1,2)
Broke up Expression rule to allow definition of SubscriptExpression rule
These changes fix numerous issues with the existing TLA+2 BNF grammar spec, backporting a number of changes from the SANY parser and adding some missing rules. Changelist:
INSTANCE
substitutionsRECURSIVE
operator declarations insideLET-IN
constructsProofStepId
InstOrSubexprPrefix
rule to match SANY functioning-
vs-.
for the negative prefix operatorProofStepId
fromGeneralIdentifier
rule+(1,2)
Expression
rule to allow definition ofSubscriptExpression
rule