whole_func_string: function () {
                  var path, args, options,
                      index = parserInput.i,
                      dir   = parserInput.$re(/^@plugin?\s+/);
  
                  if (dir) {
                      args = this.pluginArgs();
  
                      if (args) {
                          options = {
                              pluginArgs: args,
                              isPlugin: true
                          };
                      }
                      else {
                          options = { isPlugin: true };
                      }
  
                      if ((path = this.entities.quoted() || this.entities.url())) {
  
                          if (!parserInput.$char(';')) {
                              parserInput.i = index;
                              error('missing semi-colon on @plugin');
                          }
                          return new(tree.Import)(path, null, options, index, fileInfo);
                      }
                      else {
                          parserInput.i = index;
                          error('malformed @plugin statement');
                      }
                  }
              }
func_code_string: function () {
                  var path, args, options,
                      index = parserInput.i,
                      dir   = parserInput.$re(/^@plugin?\s+/);
  
                  if (dir) {
                      args = this.pluginArgs();
  
                      if (args) {
                          options = {
                              pluginArgs: args,
                              isPlugin: true
                          };
                      }
                      else {
                          options = { isPlugin: true };
                      }
  
                      if ((path = this.entities.quoted() || this.entities.url())) {
  
                          if (!parserInput.$char(';')) {
                              parserInput.i = index;
                              error('missing semi-colon on @plugin');
                          }
                          return new(tree.Import)(path, null, options, index, fileInfo);
                      }
                      else {
                          parserInput.i = index;
                          error('malformed @plugin statement');
                      }
                  }
              }
func_documentation_string: A @plugin directive, used to import plugins dynamically.  @plugin (args) "lib";