assignment	input.sv	/^module assignment;$/;"	m
bar	input.sv	/^  function int bar();$/;"	f	module:assignment
msg	input.sv	/^  string msg = $sformatf("GP miscompare between '%s' and '%s':\\nlhs = %s\\nrhs = %s",$/;"	r	module:assignment
unpackedbits	input.sv	/^  bit unpackedbits [1:0] = '{1,1};$/;"	r	module:assignment
unpackedints	input.sv	/^  int unpackedints [1:0] = '{1'b1, 1'b1};$/;"	r	module:assignment
y	input.sv	/^  int y;$/;"	r	module:assignment
unpackedints2	input.sv	/^  int unpackedints2 [1:0] = '{2 {y}};$/;"	r	module:assignment
n	input.sv	/^  int n[1:2][1:3] = '{2{'{3{y}}}};$/;"	r	module:assignment
abkey	input.sv	/^  struct {int a; time b;} abkey[1:0];$/;"	S	module:assignment
a	input.sv	/^  struct {int a; time b;} abkey[1:0];$/;"	w	struct:assignment.abkey
b	input.sv	/^  struct {int a; time b;} abkey[1:0];$/;"	w	struct:assignment.abkey
abkey_fun	input.sv	/^  struct {int a; time b;} abkey_fun[1:0] = '{'{a:bar(), b:2ns}, '{int:5, time:$time}};$/;"	S	module:assignment
a	input.sv	/^  struct {int a; time b;} abkey_fun[1:0] = '{'{a:bar(), b:2ns}, '{int:5, time:$time}};$/;"	w	struct:assignment.abkey_fun
b	input.sv	/^  struct {int a; time b;} abkey_fun[1:0] = '{'{a:bar(), b:2ns}, '{int:5, time:$time}};$/;"	w	struct:assignment.abkey_fun
st	input.sv	/^  } st;$/;"	T	module:assignment
x	input.sv	/^    int x;$/;"	w	typedef:assignment.st
y	input.sv	/^    int y;$/;"	w	typedef:assignment.st
k	input.sv	/^  int k = 1;$/;"	r	module:assignment
s1	input.sv	/^  st s1 = '{1, 2+k}; \/\/ by position;$/;"	r	module:assignment
s2	input.sv	/^  st s2 = '{x:2, y:3+k}; \/\/ by name$/;"	r	module:assignment
s3	input.sv	/^  struct { int x; int y; } s3 = '{1, 2+k};$/;"	S	module:assignment
x	input.sv	/^  struct { int x; int y; } s3 = '{1, 2+k};$/;"	w	struct:assignment.s3
y	input.sv	/^  struct { int x; int y; } s3 = '{1, 2+k};$/;"	w	struct:assignment.s3
s4	input.sv	/^  struct { int x; int y; } s4 = '{x:2, y:3+k};$/;"	S	module:assignment
x	input.sv	/^  struct { int x; int y; } s4 = '{x:2, y:3+k};$/;"	w	struct:assignment.s4
y	input.sv	/^  struct { int x; int y; } s4 = '{x:2, y:3+k};$/;"	w	struct:assignment.s4
s5	input.sv	/^  st s5 = '{default:2};$/;"	r	module:assignment
ab	input.sv	/^  typedef struct { int a; shortreal b; } ab;  \/\/ LRM 5.10$/;"	T	module:assignment
a	input.sv	/^  typedef struct { int a; shortreal b; } ab;  \/\/ LRM 5.10$/;"	w	typedef:assignment.ab
b	input.sv	/^  typedef struct { int a; shortreal b; } ab;  \/\/ LRM 5.10$/;"	w	typedef:assignment.ab
abkey	input.sv	/^  ab abkey[1:0] = '{'{a:1, b:1.0}, '{int:2, shortreal:2.0}};$/;"	r	module:assignment
ABC	input.sv	/^  } ABC, DEF;$/;"	S	module:assignment
A	input.sv	/^    int A;$/;"	w	struct:assignment.ABC
BC1	input.sv	/^    } BC1, BC2;$/;"	w	struct:assignment.ABC
BC2	input.sv	/^    } BC1, BC2;$/;"	w	struct:assignment.ABC
DEF	input.sv	/^  } ABC, DEF;$/;"	S	module:assignment
A	input.sv	/^    int A;$/;"	w	struct:assignment.DEF
BC1	input.sv	/^    } BC1, BC2;$/;"	w	struct:assignment.DEF
BC2	input.sv	/^    } BC1, BC2;$/;"	w	struct:assignment.DEF
sa	input.sv	/^  } sa;$/;"	T	module:assignment
a	input.sv	/^    logic [7:0] a;$/;"	w	typedef:assignment.sa
b	input.sv	/^    bit b;$/;"	w	typedef:assignment.sa
c	input.sv	/^    bit signed [31:0] c;$/;"	w	typedef:assignment.sa
s	input.sv	/^    string s;$/;"	w	typedef:assignment.sa
s2	input.sv	/^  sa s2 = '{int:1, default:0, string:""};$/;"	r	module:assignment
A3	input.sv	/^  int A3[1:3];$/;"	r	module:assignment
AI3	input.sv	/^  typedef int AI3[1:3];$/;"	T	module:assignment
A3	input.sv	/^  AI3 A3;$/;"	r	module:assignment
A9	input.sv	/^  int A9[1:9];$/;"	r	module:assignment
