Syntax error in imp declaration in a uvm scoreboard

`uvm_analysis_imp_decl(_vip_rx)

I declare imp like this in scorebaord:
uvm_analysis_imp_vip_rx #(ethernet_transaction, scoreboard) exp_vip_rx;

but I see this syntax error:
Following verilog source has syntax error :
token is ‘#’
uvm_analysis_imp_vip_rx #(ethernet_transaction, scoreboard) exp_vip_rx;

So the error is pointed at ‘#’

analysis port and imp are connected in my env (agent is also instatiated in env).

But there is some syntaz error which I am unable to debug, can you please tell how can I debug it or what is the syntax error?
I have looked above this specific line and below this line to see if any syntax error above/below is causing this, but no, apparently everything else is fine.

In reply to uvmuser_1:

You’re probably not showing enough code. Is all of it in a single package?

Sometime syntax errors are caused by the line that preceded being reported.