whole_func_string: function () {
                      var js, index = parserInput.i;
  
                      parserInput.save();
  
                      var escape = parserInput.$char('~');
                      var jsQuote = parserInput.$char('`');
  
                      if (!jsQuote) {
                          parserInput.restore();
                          return;
                      }
  
                      js = parserInput.$re(/^[^`]*`/);
                      if (js) {
                          parserInput.forget();
                          return new(tree.JavaScript)(js.substr(0, js.length - 1), Boolean(escape), index, fileInfo);
                      }
                      parserInput.restore('invalid javascript definition');
                  }
func_code_string: function () {
                      var js, index = parserInput.i;
  
                      parserInput.save();
  
                      var escape = parserInput.$char('~');
                      var jsQuote = parserInput.$char('`');
  
                      if (!jsQuote) {
                          parserInput.restore();
                          return;
                      }
  
                      js = parserInput.$re(/^[^`]*`/);
                      if (js) {
                          parserInput.forget();
                          return new(tree.JavaScript)(js.substr(0, js.length - 1), Boolean(escape), index, fileInfo);
                      }
                      parserInput.restore('invalid javascript definition');
                  }
func_documentation_string: JavaScript code to be evaluated  `window.location.href`