Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: toy/saf/original/extracted
Source used for this grammar: James Robert Williams, Super Awesome Fighter!, 11 October 2012 [Documentation]
Fighter
, Personality
, Characteristic
, Value
, Rule
, Conditions
, Condition
, ComboKeyword
, MoveAction
, FightAction
), 0 root (—), 1 top (Fighter
), 1 bottom (Name
).Fighter ::= Name "{" Personality Rule "}"
Personality ::=
Characteristic "=" Value
Characteristic ::= "punchPower" "punchReach" "kickPower" "kickReach"
Value ::= "1" "2" "3" "4" "5" "6" "7" "8" "9" "10"
Rule ::= Conditions "[" MoveAction FightAction "]"
Conditions ::=Condition ComboKeyword
Condition ::= "far" "near" "much_weaker" "weaker" "even" "stronger" "much_stronger"
ComboKeyword ::= "and" "or"
MoveAction ::= "run_towards" "run_away" "walk_towards" "walk_away" "stand" "crouch" "choose" "(" MoveAction ")"
FightAction ::= "block_high" "block_low" "punch_high" "punch_low" "kick_high" "kick_low" "choose" "(" FightAction ")"