C	input.sv	/^class C #($/;"	C
p	input.sv	/^  int p = 1$/;"	c	class:C	parameter:
q	input.sv	/^  parameter int q = 5;  \/\/ local parameter$/;"	c	class:C
t	input.sv	/^  static task t;$/;"	t	class:C
p	input.sv	/^    int p;$/;"	r	task:C.t
x	input.sv	/^    int x = C::p;  \/\/ C::p disambiguates p$/;"	r	task:C.t
C	input.sv	/^class C #($/;"	C
p	input.sv	/^    int p = 1,$/;"	c	class:C	parameter:
T	input.sv	/^    type T = int$/;"	c	class:C	parameter:
f	input.sv	/^function C::T C::f();$/;"	f	class:C.C
C	input.sv	/^virtual class C#(parameter DECODE_W, parameter ENCODE_W = $clog2(DECODE_W));$/;"	C	class:C
DECODE_W	input.sv	/^virtual class C#(parameter DECODE_W, parameter ENCODE_W = $clog2(DECODE_W));$/;"	c	class:C.C	parameter:
ENCODE_W	input.sv	/^virtual class C#(parameter DECODE_W, parameter ENCODE_W = $clog2(DECODE_W));$/;"	c	class:C.C	parameter:
ENCODER_f	input.sv	/^  static function logic [ENCODE_W-1:0] ENCODER_f$/;"	f	class:C.C
DecodeIn	input.sv	/^      (input logic [DECODE_W-1:0] DecodeIn);$/;"	p	function:C.C.ENCODER_f
DECODER_f	input.sv	/^  static function logic [DECODE_W-1:0] DECODER_f$/;"	f	class:C.C
EncodeIn	input.sv	/^      (input logic [ENCODE_W-1:0] EncodeIn);$/;"	p	function:C.C.DECODER_f
PutImp	input.sv	/^interface class PutImp #(type PUT_T = logic);$/;"	l
PUT_T	input.sv	/^interface class PutImp #(type PUT_T = logic);$/;"	c	ifclass:PutImp	parameter:
GetImp	input.sv	/^interface class GetImp #(type GET_T = logic);$/;"	l
GET_T	input.sv	/^interface class GetImp #(type GET_T = logic);$/;"	c	ifclass:GetImp	parameter:
Fifo	input.sv	/^class Fifo #(type T = logic, int DEPTH = 1) implements PutImp#(T), GetImp#(T);$/;"	C
T	input.sv	/^class Fifo #(type T = logic, int DEPTH = 1) implements PutImp#(T), GetImp#(T);$/;"	c	class:Fifo	parameter:
DEPTH	input.sv	/^class Fifo #(type T = logic, int DEPTH = 1) implements PutImp#(T), GetImp#(T);$/;"	c	class:Fifo	parameter:
myFifo	input.sv	/^  T myFifo[$:DEPTH-1];$/;"	r	class:Fifo
put	input.sv	/^  virtual function void put(T a);$/;"	f	class:Fifo
a	input.sv	/^  virtual function void put(T a);$/;"	p	function:Fifo.put
get	input.sv	/^  virtual function T get();$/;"	f	class:Fifo
Stack	input.sv	/^class Stack #(type T = logic, int DEPTH = 1) implements PutImp#(T), GetImp#(T);$/;"	C
T	input.sv	/^class Stack #(type T = logic, int DEPTH = 1) implements PutImp#(T), GetImp#(T);$/;"	c	class:Stack	parameter:
DEPTH	input.sv	/^class Stack #(type T = logic, int DEPTH = 1) implements PutImp#(T), GetImp#(T);$/;"	c	class:Stack	parameter:
myFifo	input.sv	/^  T myFifo[$:DEPTH-1];$/;"	r	class:Stack
put	input.sv	/^  virtual function void put(T a);$/;"	f	class:Stack
a	input.sv	/^  virtual function void put(T a);$/;"	p	function:Stack.put
get	input.sv	/^  virtual function T get();$/;"	f	class:Stack
IntfA	input.sv	/^interface class IntfA #(type T1 = logic);$/;"	l
T1	input.sv	/^interface class IntfA #(type T1 = logic);$/;"	c	ifclass:IntfA	parameter:
T2	input.sv	/^  typedef T1[1:0] T2;$/;"	T	ifclass:IntfA
IntfB	input.sv	/^interface class IntfB #(type T = bit) extends IntfA #(T);$/;"	l
T	input.sv	/^interface class IntfB #(type T = bit) extends IntfA #(T);$/;"	c	ifclass:IntfB	parameter:
generic_fifo	input.sv	/^module generic_fifo$/;"	m
MSB	input.sv	/^  #(parameter MSB=3, LSB=0, DEPTH=4) \/\/ these parameters can be redefined$/;"	c	module:generic_fifo	parameter:
LSB	input.sv	/^  #(parameter MSB=3, LSB=0, DEPTH=4) \/\/ these parameters can be redefined$/;"	c	module:generic_fifo	parameter:
DEPTH	input.sv	/^  #(parameter MSB=3, LSB=0, DEPTH=4) \/\/ these parameters can be redefined$/;"	c	module:generic_fifo	parameter:
in	input.sv	/^   (input  wire [MSB:LSB] in,$/;"	p	module:generic_fifo
clk	input.sv	/^    input  wire clk, read, write, reset,$/;"	p	module:generic_fifo
read	input.sv	/^    input  wire clk, read, write, reset,$/;"	p	module:generic_fifo
write	input.sv	/^    input  wire clk, read, write, reset,$/;"	p	module:generic_fifo
reset	input.sv	/^    input  wire clk, read, write, reset,$/;"	p	module:generic_fifo
out	input.sv	/^    output logic [MSB:LSB] out,$/;"	p	module:generic_fifo
full	input.sv	/^    output logic full, empty );$/;"	p	module:generic_fifo
empty	input.sv	/^    output logic full, empty );$/;"	p	module:generic_fifo
generic_decoder	input.sv	/^module generic_decoder$/;"	m
num_code_bits	input.sv	/^  #(num_code_bits = 3, localparam num_out_bits = 1 << num_code_bits)$/;"	c	module:generic_decoder	parameter:
num_out_bits	input.sv	/^  #(num_code_bits = 3, localparam num_out_bits = 1 << num_code_bits)$/;"	c	module:generic_decoder
A	input.sv	/^   (input [num_code_bits-1:0] A, output reg [num_out_bits-1:0] Y);$/;"	p	module:generic_decoder
Y	input.sv	/^   (input [num_code_bits-1:0] A, output reg [num_out_bits-1:0] Y);$/;"	p	module:generic_decoder
int_t	input.sv	/^typedef int int_t;$/;"	T
user_defined_type_param	input.sv	/^module user_defined_type_param$/;"	m
num_code_bits	input.sv	/^  #(int_t num_code_bits = 3, localparam num_out_bits = 1 << num_code_bits)$/;"	c	module:user_defined_type_param	parameter:
num_out_bits	input.sv	/^  #(int_t num_code_bits = 3, localparam num_out_bits = 1 << num_code_bits)$/;"	c	module:user_defined_type_param
A	input.sv	/^   (input [num_code_bits-1:0] A, output reg [num_out_bits-1:0] Y);$/;"	p	module:user_defined_type_param
Y	input.sv	/^   (input [num_code_bits-1:0] A, output reg [num_out_bits-1:0] Y);$/;"	p	module:user_defined_type_param
L1	input.sv	/^parameter L1 = 0;  \/\/  synonym for the localparam$/;"	c	parameter:
module_with_parameter_port_list	input.sv	/^module module_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter P3, P4/;"	m
P1	input.sv	/^module module_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter P3, P4/;"	c	module:module_with_parameter_port_list	parameter:
P2	input.sv	/^module module_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter P3, P4/;"	c	module:module_with_parameter_port_list	parameter:
L2	input.sv	/^module module_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter P3, P4/;"	c	module:module_with_parameter_port_list
L3	input.sv	/^module module_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter P3, P4/;"	c	module:module_with_parameter_port_list
P3	input.sv	/^module module_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter P3, P4/;"	c	module:module_with_parameter_port_list	parameter:
P4	input.sv	/^module module_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter P3, P4/;"	c	module:module_with_parameter_port_list	parameter:
L4	input.sv	/^  parameter  L4 = "local parameter";  \/\/ synonym for the localparam$/;"	c	module:module_with_parameter_port_list
L5	input.sv	/^  localparam L5 = "local parameter";$/;"	c	module:module_with_parameter_port_list
module_with_empty_parameter_port_list	input.sv	/^module module_with_empty_parameter_port_list #()$/;"	m
L6	input.sv	/^  parameter  L6 = "local parameter";  \/\/ synonym for the localparam$/;"	c	module:module_with_empty_parameter_port_list
L7	input.sv	/^  localparam L7 = "local parameter";$/;"	c	module:module_with_empty_parameter_port_list
module_no_parameter_port_list	input.sv	/^module module_no_parameter_port_list$/;"	m
P5	input.sv	/^  parameter  P5 = "parameter";$/;"	c	module:module_no_parameter_port_list	parameter:
L8	input.sv	/^  localparam L8 = "local parameter";$/;"	c	module:module_no_parameter_port_list
class_with_parameter_port_list	input.sv	/^class class_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter P3, P4);$/;"	C
P1	input.sv	/^class class_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter P3, P4);$/;"	c	class:class_with_parameter_port_list	parameter:
P2	input.sv	/^class class_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter P3, P4);$/;"	c	class:class_with_parameter_port_list	parameter:
L2	input.sv	/^class class_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter P3, P4);$/;"	c	class:class_with_parameter_port_list
L3	input.sv	/^class class_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter P3, P4);$/;"	c	class:class_with_parameter_port_list
P3	input.sv	/^class class_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter P3, P4);$/;"	c	class:class_with_parameter_port_list	parameter:
P4	input.sv	/^class class_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter P3, P4);$/;"	c	class:class_with_parameter_port_list	parameter:
L4	input.sv	/^  parameter  L4 = "local parameter";  \/\/ synonym for the localparam$/;"	c	class:class_with_parameter_port_list
L5	input.sv	/^  localparam L5 = "local parameter";$/;"	c	class:class_with_parameter_port_list
class_with_empty_parameter_port_list	input.sv	/^class class_with_empty_parameter_port_list #();$/;"	C
L6	input.sv	/^  parameter  L6 = "local parameter";  \/\/ synonym for the localparam$/;"	c	class:class_with_empty_parameter_port_list
L7	input.sv	/^  localparam L7 = "local parameter";$/;"	c	class:class_with_empty_parameter_port_list
class_no_parameter_port_list	input.sv	/^class class_no_parameter_port_list;$/;"	C
L8	input.sv	/^  parameter  L8 = "local parameter";  \/\/ synonym for the localparam (class only)$/;"	c	class:class_no_parameter_port_list
L9	input.sv	/^  localparam L9 = "local parameter";$/;"	c	class:class_no_parameter_port_list
program_with_parameter_port_list	input.sv	/^program program_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter P3, /;"	P
P1	input.sv	/^program program_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter P3, /;"	c	program:program_with_parameter_port_list	parameter:
P2	input.sv	/^program program_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter P3, /;"	c	program:program_with_parameter_port_list	parameter:
L2	input.sv	/^program program_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter P3, /;"	c	program:program_with_parameter_port_list
L3	input.sv	/^program program_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter P3, /;"	c	program:program_with_parameter_port_list
P3	input.sv	/^program program_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter P3, /;"	c	program:program_with_parameter_port_list	parameter:
P4	input.sv	/^program program_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter P3, /;"	c	program:program_with_parameter_port_list	parameter:
L4	input.sv	/^  parameter  L4 = "local parameter";  \/\/ synonym for the localparam$/;"	c	program:program_with_parameter_port_list
L5	input.sv	/^  localparam L5 = "local parameter";$/;"	c	program:program_with_parameter_port_list
program_with_empty_parameter_port_list	input.sv	/^program program_with_empty_parameter_port_list #()$/;"	P
L6	input.sv	/^  parameter  L6 = "local parameter";  \/\/ synonym for the localparam$/;"	c	program:program_with_empty_parameter_port_list
L7	input.sv	/^  localparam L7 = "local parameter";$/;"	c	program:program_with_empty_parameter_port_list
program_no_parameter_port_list	input.sv	/^program program_no_parameter_port_list$/;"	P
P5	input.sv	/^  parameter  P5 = "parameter";$/;"	c	program:program_no_parameter_port_list	parameter:
L8	input.sv	/^  localparam L8 = "local parameter";$/;"	c	program:program_no_parameter_port_list
interface_with_parameter_port_list	input.sv	/^interface interface_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter /;"	I
P1	input.sv	/^interface interface_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter /;"	c	interface:interface_with_parameter_port_list	parameter:
P2	input.sv	/^interface interface_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter /;"	c	interface:interface_with_parameter_port_list	parameter:
L2	input.sv	/^interface interface_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter /;"	c	interface:interface_with_parameter_port_list
L3	input.sv	/^interface interface_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter /;"	c	interface:interface_with_parameter_port_list
P3	input.sv	/^interface interface_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter /;"	c	interface:interface_with_parameter_port_list	parameter:
P4	input.sv	/^interface interface_with_parameter_port_list #(P1, P2, localparam L2 = P1+1, L3=P2*2, parameter /;"	c	interface:interface_with_parameter_port_list	parameter:
L4	input.sv	/^  parameter  L4 = "local parameter";  \/\/ synonym for the localparam$/;"	c	interface:interface_with_parameter_port_list
L5	input.sv	/^  localparam L5 = "local parameter";$/;"	c	interface:interface_with_parameter_port_list
interface_with_empty_parameter_port_list	input.sv	/^interface interface_with_empty_parameter_port_list #()$/;"	I
L6	input.sv	/^  parameter  L6 = "local parameter";  \/\/ synonym for the localparam$/;"	c	interface:interface_with_empty_parameter_port_list
L7	input.sv	/^  localparam L7 = "local parameter";$/;"	c	interface:interface_with_empty_parameter_port_list
interface_no_parameter_port_list	input.sv	/^interface interface_no_parameter_port_list$/;"	I
P5	input.sv	/^  parameter  P5 = "parameter";$/;"	c	interface:interface_no_parameter_port_list	parameter:
L8	input.sv	/^  localparam L8 = "local parameter";$/;"	c	interface:interface_no_parameter_port_list
package_has_no_parameter_port_list	input.sv	/^package package_has_no_parameter_port_list;$/;"	K
L1	input.sv	/^  parameter  L1 = "local parameter";$/;"	c	package:package_has_no_parameter_port_list
L2	input.sv	/^  localparam L2 = "local parameter";$/;"	c	package:package_has_no_parameter_port_list
generate_constructs	input.sv	/^module generate_constructs;$/;"	m
L1	input.sv	/^    parameter  L1 = "local parameter";  \/\/ FIXME$/;"	c	module:generate_constructs	parameter:
L2	input.sv	/^    localparam L2 = "local parameter";$/;"	c	module:generate_constructs
