<commit_before>{
   "comment": "JSON Math Parser",

   "lex": {
      "rules": [
         ["\\s+",                    "/* skip whitespace */"],
         ["[0-9]+(?:\\.[0-9]+)?\\b", "return 'NUMBER'"],
         ["\\*",                     "return '*'"],
         ["\\/",                     "return '/'"],
         ["-",                       "return '-'"],
         ["\\+",                     "return '+'"],
         ["\\^",                     "return '^'"],
         ["!",                       "return '!'"],
         ["%",                       "return '%'"],
         ["\\(",                     "return '('"],
         ["\\)",                     "return ')'"],
         ["PI\\b",                   "return 'PI'"],
         ["E\\b",                    "return 'E'"],
         ["$",                       "return 'EOF'"]
      ]
   },

   "operators": [
      ["left", "+", "-"],
      ["left", "*", "/"],
      ["left", "^"],
      ["right", '!'],
      ["right", '%'],
      ["left", "UMINUS"]
   ],

   "bnf": {
      "expressions": [["e EOF",   "return $1"]],

      "e" :[
         ["e + e",  "$$ = $1+$3"],
         ["e - e",  "$$ = $1-$3"],
         ["e * e",  "$$ = $1*$3"],
         ["e / e",  "$$ = $1/$3"],
         ["e ^ e",  "$$ = Math.pow($1, $3)"],
         ["e !",    "$$ = (function(n) {if(n==0) return 1; return arguments.callee(n-1) * n})($1)"],
         ["e %",    "$$ = $1/100"],
         ["- e",    "$$ = -$2", {"prec": "UMINUS"}],
         ["( e )",  "$$ = $2"],
         ["NUMBER", "$$ = Number(yytext)"],
         ["E",      "$$ = Math.E"],
         ["PI",     "$$ = Math.PI"],
      ]
   }
}<commit_msg>fix JSON format of example grammar<commit_after>{
   "comment": "JSON Math Parser",

   "lex": {
      "rules": [
         ["\\s+",                    "/* skip whitespace */"],
         ["[0-9]+(?:\\.[0-9]+)?\\b", "return 'NUMBER'"],
         ["\\*",                     "return '*'"],
         ["\\/",                     "return '/'"],
         ["-",                       "return '-'"],
         ["\\+",                     "return '+'"],
         ["\\^",                     "return '^'"],
         ["!",                       "return '!'"],
         ["%",                       "return '%'"],
         ["\\(",                     "return '('"],
         ["\\)",                     "return ')'"],
         ["PI\\b",                   "return 'PI'"],
         ["E\\b",                    "return 'E'"],
         ["$",                       "return 'EOF'"]
      ]
   },

   "operators": [
      ["left", "+", "-"],
      ["left", "*", "/"],
      ["left", "^"],
      ["right", "!"],
      ["right", "%"],
      ["left", "UMINUS"]
   ],

   "bnf": {
      "expressions": [["e EOF",   "return $1"]],

      "e" :[
         ["e + e",  "$$ = $1+$3"],
         ["e - e",  "$$ = $1-$3"],
         ["e * e",  "$$ = $1*$3"],
         ["e / e",  "$$ = $1/$3"],
         ["e ^ e",  "$$ = Math.pow($1, $3)"],
         ["e !",    "$$ = (function(n) {if(n==0) return 1; return arguments.callee(n-1) * n})($1)"],
         ["e %",    "$$ = $1/100"],
         ["- e",    "$$ = -$2", {"prec": "UMINUS"}],
         ["( e )",  "$$ = $2"],
         ["NUMBER", "$$ = Number(yytext)"],
         ["E",      "$$ = Math.E"],
         ["PI",     "$$ = Math.PI"]
      ]
   }
}
{'fraction_non_alphanumeric': 0.3066869300911854, 'fraction_numerical': 0.015197568389057751, 'mean_word_length': 1.0091575091575091, 'pattern_counts': {'":': 14, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3273590', 'n_tokens_mistral': 1137, 'n_tokens_neox': 1091, 'n_words': 171}