whole_func_string: function() {
      return this.read_list(function() {
        const node = this.node("staticvariable");
        let variable = this.node("variable");
        // plain variable name
        if (this.expect(this.tok.T_VARIABLE)) {
          const name = this.text().substring(1);
          this.next();
          variable = variable(name, false, false);
        } else {
          variable = variable("#ERR", false, false);
        }
        if (this.token === "=") {
          return node(variable, this.next().read_expr());
        } else {
          return variable;
        }
      }, ",");
    }
func_code_string: function() {
      return this.read_list(function() {
        const node = this.node("staticvariable");
        let variable = this.node("variable");
        // plain variable name
        if (this.expect(this.tok.T_VARIABLE)) {
          const name = this.text().substring(1);
          this.next();
          variable = variable(name, false, false);
        } else {
          variable = variable("#ERR", false, false);
        }
        if (this.token === "=") {
          return node(variable, this.next().read_expr());
        } else {
          return variable;
        }
      }, ",");
    }
func_documentation_string: Reads a list of variables declarations
  
  ```ebnf
  variable_declaration ::= T_VARIABLE ('=' expr)?*
  variable_declarations ::= variable_declaration (',' variable_declaration)*
  ```
  
  Sample code :
  ```php
  <?php static $a = 'hello', $b = 'world';
  ```
  @return {StaticVariable[]} Returns an array composed by a list of variables, or
  assign values