code: def function_declaration(self):
          
          self._process(Nature.DEF)
  
          identifier = Identifier(self.token.value)
          self._process(Nature.ID)
  
          parameters = self.parameters()
          return FunctionDeclaration(
              identifier=identifier, parameters=parameters, body=self.function_body()
          )
docs: function_declaration: 'def' ID parameters compound