Cant access the uvm registered components

Hi,
Can someone tell me why am I not able access all the uvm registered testbench components in my testbench although I have included the header file’include “uvm_macros.svh” and import uvm_pkg::*.

There are a bunch of similar error for every uvm registered component like :

ncvlog: *E,SVNOTY (testbench.sv,440|28): Syntactically this identifier appears to begin a datatype but it does not refer to a visible datatype in the current scope.
ncvlog: *E,SVNOTY (testbench.sv,204|30): Syntactically this identifier appears to begin a datatype but it does not refer to a visible datatype in the current scope.
(define macro: m_uvm_component_registry_internal [/playground_lib/uvm-1.2/src/macros/uvm_object_defines.svh line 467], define macro: uvm_component_utils [/playground_lib/uvm-1.2/src/macros/uvm_object_defines.svh line 330], file: testbench.sv line 204)
`uvm_component_utils(monitor)

                        |

ncvlog: *E,SVEXTK (testbench.sv,440|28): expecting a ‘;’ (to terminate a type_declaration).
(define macro: m_uvm_component_registry_internal [/playground_lib/uvm-1.2/src/macros/uvm_object_defines.svh line 467], define macro: uvm_component_utils [/playground_lib/uvm-1.2/src/macros/uvm_object_defines.svh line 330], file: testbench.sv line 440)
`uvm_component_utils(Test)

I don’t understand whats the issue though everything seems correct.

My EDA code is:
DPRAM

In reply to sai_pra99:

You have a bunch of errors before that. Always fix compilation errors in order. The ones that come after may be meaningless.