code: function $(tok) {
          var match, length, c, endIndex;
  
          // Non-terminal
          if (tok instanceof Function) {
              return tok.call(parser.parsers);
          // Terminal
          // Either match a single character in the input,
          // or match a regexp in the current chunk (chunk[j]).
          } else if (typeof(tok) === 'string') {
              match = input.charAt(i) === tok ? tok : null;
              length = 1;
              sync();
          } else {
              sync();
  
              match = tok.exec(chunks[j]);
              if (match) {
                  length = match[0].length;
              } else {
                  return null;
              }
          }
  
          // The match is confirmed, add the match length to `i`,
          // and consume any extra white-space characters (' ' || '\n')
          // which come after that. The reason for this is that LeSS's
          // grammar is mostly white-space insensitive.
          if (match) {
              var mem = i += length;
              endIndex = i + chunks[j].length - length;
  
              while (i < endIndex) {
                  c = input.charCodeAt(i);
                  if (! (c === 32 || c === 10 || c === 9)) { break; }
                  i++;
              }
              chunks[j] = chunks[j].slice(length + (i - mem));
              current = i;
  
              if (chunks[j].length === 0 && j < chunks.length - 1) { j++; }
  
              if (typeof(match) === 'string') {
                  return match;
              } else {
                  return match.length === 1 ? match[0] : match;
              }
          }
      }
docs: Parse from a token, regexp or string, and move forward if match