whole_func_string: function(first) {
          var input = this.source;
          if (this.cursor >= input.length) return null;
          var ch = input[this.cursor];
  
          // first check for \u escapes
          if (ch === '\\' && input[this.cursor+1] === 'u') {
              // get the character value
              try {
                  ch = String.fromCharCode(parseInt(
                      input.substring(this.cursor + 2, this.cursor + 6),
                      16));
              } catch (ex) {
                  return null;
              }
              this.cursor += 5;
          }
  
          var valid = isValidIdentifierChar(ch, first);
          if (valid) this.cursor++;
          return (valid ? ch : null);
      }
func_code_string: function(first) {
          var input = this.source;
          if (this.cursor >= input.length) return null;
          var ch = input[this.cursor];
  
          // first check for \u escapes
          if (ch === '\\' && input[this.cursor+1] === 'u') {
              // get the character value
              try {
                  ch = String.fromCharCode(parseInt(
                      input.substring(this.cursor + 2, this.cursor + 6),
                      16));
              } catch (ex) {
                  return null;
              }
              this.cursor += 5;
          }
  
          var valid = isValidIdentifierChar(ch, first);
          if (valid) this.cursor++;
          return (valid ? ch : null);
      }
func_documentation_string: /* Gets a single valid identifier char from the input stream, or null
  if there is none.