//%set debug_print_ccode = true main module ranger6 declare C is structure Joe : integer range 1..10 endstructure B is structure This_C : C endstructure A is structure This_B : B endstructure This_A : static A a4_type is array[1..5] of integer a3_type is structure a3: integer a4: a4_type endstructure a2_type is structure a2: a3_type endstructure a1_type is structure a1: a2_type endstructure a0 = a1_type(a1: a2_type(a2: a3_type(a3: 12345, a4: a4_type([1]:123,[2]:234,[3]:7,[4]:5) ))) dec_type is array[1..10] of integer dec = table dec_type (0,1,2,3,4,5,6,7,8,9) t1_type is array[0..9] of integer t1_1_type is array[0..9] of t1_type td = table t1_1_type (table t1_type (00,01,02,03,04,05,06,07,08,09) ,table t1_type (10,11,12,13,14,15,16,17,18,19) ,table t1_type (20,21,22,23,24,25,26,27,28,29) ,table t1_type (30,31,32,33,34,35,36,37,38,39) ,table t1_type (40,41,42,43,44,45,46,47,48,49) ,table t1_type (50,51,52,53,54,55,56,57,58,59) ,table t1_type (60,61,62,63,64,65,66,67,68,69) ,table t1_type (70,71,72,73,74,75,76,77,78,79) ,table t1_type (80,81,82,83,84,85,86,87,88,89) ,table t1_type (90,91,92,93,94,95,96,97,98,99) ) zap: static integer range 0..50 enddeclare This_A . This_B . This_C . Joe := a0.a1.a2.a4[5] This_A . This_B . This_C . Joe := a0.a1.a2.a4[dec[5]] This_A . This_B . This_C . Joe := a0.a1.a2.a4[dec[dec[5]]] This_A . This_B . This_C . Joe := a0.a1.a2.a4[dec[dec[dec[5]]]] This_A . This_B . This_C . Joe := a0.a1.a2.a4[dec[dec[dec[dec[5]]]]] zap := td[1,2] zap := td[4,5] zap := td[7,3] zap := td[dec[dec[dec[7]]],3] zap := (td[4,2]/dec[dec[8]])*td[1,dec[dec[2]]] endmodule