{
 "name" : "context.bnf",
 "patterns" : [
  {
   "include" : "#term"
  },
  {
   "include" : "#text_single"
  },
  {
   "include" : "#text_reverse"
  },
  {
   "include" : "#becomes"
  },
  {
   "include" : "#extra"
  }
 ],
 "repository" : {
  "becomes" : {
   "match" : "::=",
   "name" : "context.operator.symbol.becomes.bnf"
  },
  "extra" : {
   "match" : "|",
   "name" : "context.extra.symbol.extra.bnf"
  },
  "term" : {
   "captures" : {
    "1" : {
     "name" : "context.command.term.open.bnf"
    },
    "2" : {
     "name" : "context.text.term.text.bnf"
    },
    "3" : {
     "name" : "context.command.term.close.bnf"
    }
   },
   "match" : "(<)(([a-zA-Z][a-zA-Z0-9\u005C-]*))(>)"
  },
  "text_double" : {
   "captures" : {
    "1" : {
     "name" : "context.special.doublequoted.open.bnf"
    },
    "2" : {
     "name" : "context.text.doublequoted.text.bnf"
    },
    "3" : {
     "name" : "context.special.doublequoted.close.bnf"
    }
   },
   "match" : "(\u0022)([a-zA-Z0-9]|\u005C~|}|\u005C||{|`|_|\u005C^|\u005C]|\u005C\u005C|\u005C[|@|\u005C?|>|=|<|;|:|/|\u005C.|\u005C-|\u005C-|,|\u005C+|\u005C*|\u005C)|\u005C(|\u005C&|\u005C%|\u005C$|#|\u005C!| )(\u0022)"
  },
  "text_single" : {
   "captures" : {
    "1" : {
     "name" : "context.special.singlequoted.open.bnf"
    },
    "2" : {
     "name" : "context.text.singlequoted.text.bnf"
    },
    "3" : {
     "name" : "context.special.singlequoted.close.bnf"
    }
   },
   "match" : "(')([a-zA-Z0-9]|\u005C~|}|\u005C||{|`|_|\u005C^|\u005C]|\u005C\u005C|\u005C[|@|\u005C?|>|=|<|;|:|/|\u005C.|\u005C-|\u005C-|,|\u005C+|\u005C*|\u005C)|\u005C(|\u005C&|\u005C%|\u005C$|#|\u005C!| )(')"
  }
 },
 "scopeName" : "source.context.bnf",
 "version" : "1.0.0"
}