lib/grammar/tokenizer.js
function setSideConditions(topSymbol) {
      if (topSymbol === "prefixDecl") {
        state.inPrefixDecl = true;
      } else {
        state.inPrefixDecl = false;
      }
      switch (topSymbol) {
        case "disallowVars":
          state.allowVars = false;
          break;
        case "allowVars":
          state.allowVars = true;
          break;
        case "disallowBnodes":
          state.allowBnodes = false;
          break;
        case "allowBnodes":
          state.allowBnodes = true;
          break;
        case "storeProperty":
          state.storeProperty = true;
          break;
      }
    }
function setSideConditions(topSymbol) {
      if (topSymbol === "prefixDecl") {
        state.inPrefixDecl = true;
      } else {
        state.inPrefixDecl = false;
      }
      switch (topSymbol) {
        case "disallowVars":
          state.allowVars = false;
          break;
        case "allowVars":
          state.allowVars = true;
          break;
        case "disallowBnodes":
          state.allowBnodes = false;
          break;
        case "allowBnodes":
          state.allowBnodes = true;
          break;
        case "storeProperty":
          state.storeProperty = true;
          break;
      }
    }
function setSideConditions ( topSymbol ) { if ( topSymbol === "prefixDecl" ) { state . inPrefixDecl = true ; } else { state . inPrefixDecl = false ; } switch ( topSymbol ) { case "disallowVars" : state . allowVars = false ; break ; case "allowVars" : state . allowVars = true ; break ; case "disallowBnodes" : state . allowBnodes = false ; break ; case "allowBnodes" : state . allowBnodes = true ; break ; case "storeProperty" : state . storeProperty = true ; break ; } }
Some fake non-terminals are just there to have side-effect on state - i.e. allow or disallow variables and bnodes in certain non-nesting contexts
Some fake non - terminals are just there to have side - effect on state - i . e . allow or disallow variables and bnodes in certain non - nesting contexts