text: // Generated automatically by nearley, version 2.16.0
  // http://github.com/Hardmath123/nearley
  (function () {
  function id(x) { return x[0]; }
  var grammar = {
      Lexer: undefined,
      ParserRules: [
      {"name": "regel$subexpression$1", "symbols": ["term"]},
      {"name": "regel$subexpression$1", "symbols": ["formel"]},
      {"name": "regel", "symbols": ["_", "regel$subexpression$1", "_"]},
      {"name": "term", "symbols": ["name"]},
      {"name": "term", "symbols": ["konstante"]},
      {"name": "term", "symbols": [{"literal":"-"}, "_", "term"]},
      {"name": "term", "symbols": ["funktion"]},
      {"name": "term", "symbols": ["term", "_", "arithOp", "_", "term"]},
      {"name": "term", "symbols": [{"literal":"("}, "_", "term", "_", {"literal":")"}]},
      {"name": "term", "symbols": ["term", {"literal":"!"}]},
      {"name": "funktion", "symbols": ["name", {"literal":"("}, "_", "argumente", "_", {"literal":")"}]},
      {"name": "argumente", "symbols": ["term"]},
      {"name": "argumente", "symbols": ["term", "_", {"literal":","}, "_", "argumente"]},
      {"name": "arithOp", "symbols": [{"literal":"+"}]},
      {"name": "arithOp", "symbols": [{"literal":"-"}]},
      {"name": "arithOp", "symbols": [{"literal":"*"}]},
      {"name": "arithOp", "symbols": [{"literal":"/"}]},
      {"name": "arithOp", "symbols": [{"literal":"^"}]},
      {"name": "formel", "symbols": ["name"]},
      {"name": "formel", "symbols": [{"literal":"!"}, "formel"]},
      {"name": "formel$string$1", "symbols": [{"literal":"N"}, {"literal":"O"}, {"literal":"T"}], "postprocess": function joiner(d) {return d.join('');}},
      {"name": "formel", "symbols": ["formel$string$1", "_", "formel"]},
      {"name": "formel", "symbols": [{"literal":"["}, "_", "gleichung", "_", {"literal":"]"}]},
      {"name": "formel", "symbols": [{"literal":"("}, "_", "formel", "_", {"literal":")"}]},
      {"name": "formel$subexpression$1", "symbols": ["name"]},
      {"name": "formel$subexpression$1", "symbols": [{"literal":"!"}, "formel"]},
      {"name": "formel$subexpression$1$string$1", "symbols": [{"literal":"N"}, {"literal":"O"}, {"literal":"T"}], "postprocess": function joiner(d) {return d.join('');}},
      {"name": "formel$subexpression$1", "symbols": ["formel$subexpression$1$string$1", "_", "formel"]},
      {"name": "formel$subexpression$1", "symbols": [{"literal":"["}, "_", "gleichung", "_", {"literal":"]"}]},
      {"name": "formel$subexpression$1", "symbols": [{"literal":"("}, "_", "formel", "_", {"literal":")"}]},
      {"name": "formel", "symbols": ["formel$subexpression$1", "_", "boolOp", "_", "formel"]},
      {"name": "gleichung", "symbols": ["term", "_", "relation", "_", "term"]},
      {"name": "gleichung", "symbols": ["term", "_", "relation", "_", "gleichung"]},
      {"name": "relation", "symbols": [{"literal":"="}]},
      {"name": "relation$string$1", "symbols": [{"literal":"!"}, {"literal":"="}], "postprocess": function joiner(d) {return d.join('');}},
      {"name": "relation", "symbols": ["relation$string$1"]},
      {"name": "relation", "symbols": [{"literal":">"}]},
      {"name": "relation", "symbols": [{"literal":"<"}]},
      {"name": "relation$string$2", "symbols": [{"literal":">"}, {"literal":"="}], "postprocess": function joiner(d) {return d.join('');}},
      {"name": "relation", "symbols": ["relation$string$2"]},
      {"name": "relation$string$3", "symbols": [{"literal":"<"}, {"literal":"="}], "postprocess": function joiner(d) {return d.join('');}},
      {"name": "relation", "symbols": ["relation$string$3"]},
      {"name": "boolOp", "symbols": [{"literal":"&"}]},
      {"name": "boolOp$string$1", "symbols": [{"literal":"&"}, {"literal":"&"}], "postprocess": function joiner(d) {return d.join('');}},
      {"name": "boolOp", "symbols": ["boolOp$string$1"]},
      {"name": "boolOp", "symbols": [{"literal":"|"}]},
      {"name": "boolOp$string$2", "symbols": [{"literal":"|"}, {"literal":"|"}], "postprocess": function joiner(d) {return d.join('');}},
      {"name": "boolOp", "symbols": ["boolOp$string$2"]},
      {"name": "boolOp$string$3", "symbols": [{"literal":"O"}, {"literal":"R"}], "postprocess": function joiner(d) {return d.join('');}},
      {"name": "boolOp", "symbols": ["boolOp$string$3"]},
      {"name": "boolOp$string$4", "symbols": [{"literal":"A"}, {"literal":"N"}, {"literal":"D"}], "postprocess": function joiner(d) {return d.join('');}},
      {"name": "boolOp", "symbols": ["boolOp$string$4"]},
      {"name": "boolOp$string$5", "symbols": [{"literal":"X"}, {"literal":"O"}, {"literal":"R"}], "postprocess": function joiner(d) {return d.join('');}},
      {"name": "boolOp", "symbols": ["boolOp$string$5"]},
      {"name": "name$subexpression$1", "symbols": [/[a-z]/]},
      {"name": "name$subexpression$1", "symbols": [/[A-Z]/]},
      {"name": "name$ebnf$1", "symbols": []},
      {"name": "name$ebnf$1$subexpression$1", "symbols": [/[a-z]/]},
      {"name": "name$ebnf$1$subexpression$1", "symbols": [/[A-Z]/]},
      {"name": "name$ebnf$1$subexpression$1", "symbols": [/[0-9]/]},
      {"name": "name$ebnf$1$subexpression$1", "symbols": [{"literal":"_"}]},
      {"name": "name$ebnf$1", "symbols": ["name$ebnf$1", "name$ebnf$1$subexpression$1"], "postprocess": function arrpush(d) {return d[0].concat([d[1]]);}},
      {"name": "name", "symbols": ["name$subexpression$1", "name$ebnf$1"]},
      {"name": "konstante$subexpression$1$subexpression$1", "symbols": [/[1-9]/]},
      {"name": "konstante$subexpression$1$ebnf$1", "symbols": []},
      {"name": "konstante$subexpression$1$ebnf$1$subexpression$1", "symbols": [/[0-9]/]},
      {"name": "konstante$subexpression$1$ebnf$1", "symbols": ["konstante$subexpression$1$ebnf$1", "konstante$subexpression$1$ebnf$1$subexpression$1"], "postprocess": function arrpush(d) {return d[0].concat([d[1]]);}},
      {"name": "konstante$subexpression$1", "symbols": ["konstante$subexpression$1$subexpression$1", "konstante$subexpression$1$ebnf$1"]},
      {"name": "konstante", "symbols": ["konstante$subexpression$1"]},
      {"name": "konstante$subexpression$2$ebnf$1$subexpression$1", "symbols": [/[0-9]/]},
      {"name": "konstante$subexpression$2$ebnf$1", "symbols": ["konstante$subexpression$2$ebnf$1$subexpression$1"]},
      {"name": "konstante$subexpression$2$ebnf$1$subexpression$2", "symbols": [/[0-9]/]},
      {"name": "konstante$subexpression$2$ebnf$1", "symbols": ["konstante$subexpression$2$ebnf$1", "konstante$subexpression$2$ebnf$1$subexpression$2"], "postprocess": function arrpush(d) {return d[0].concat([d[1]]);}},
      {"name": "konstante$subexpression$2$ebnf$2$subexpression$1", "symbols": [/[0-9]/]},
      {"name": "konstante$subexpression$2$ebnf$2", "symbols": ["konstante$subexpression$2$ebnf$2$subexpression$1"]},
      {"name": "konstante$subexpression$2$ebnf$2$subexpression$2", "symbols": [/[0-9]/]},
      {"name": "konstante$subexpression$2$ebnf$2", "symbols": ["konstante$subexpression$2$ebnf$2", "konstante$subexpression$2$ebnf$2$subexpression$2"], "postprocess": function arrpush(d) {return d[0].concat([d[1]]);}},
      {"name": "konstante$subexpression$2", "symbols": ["konstante$subexpression$2$ebnf$1", {"literal":"."}, "konstante$subexpression$2$ebnf$2"]},
      {"name": "konstante", "symbols": ["konstante$subexpression$2"]},
      {"name": "_$ebnf$1", "symbols": []},
      {"name": "_$ebnf$1$subexpression$1", "symbols": [{"literal":" "}]},
      {"name": "_$ebnf$1", "symbols": ["_$ebnf$1", "_$ebnf$1$subexpression$1"], "postprocess": function arrpush(d) {return d[0].concat([d[1]]);}},
      {"name": "_", "symbols": ["_$ebnf$1"]}
  ]
    , ParserStart: "regel"
  }
  if (typeof module !== 'undefined'&& typeof module.exports !== 'undefined') {
     module.exports = grammar;
  } else {
     window.grammar = grammar;
  }
  })();
  