diff -c -r sim5.0/sim/FUNC_TABLE sim5.0-linux/sim/FUNC_TABLE *** sim5.0/sim/FUNC_TABLE 1997-08-15 07:46:14.000000000 +0930 --- sim5.0-linux/sim/FUNC_TABLE 2003-08-26 14:21:34.000000000 +0930 *************** *** 1,222 **** ! 0002bf88 SVID_libm_err ! 00029778 _allocate ! 00028f7c _block ! 00028080 _check_queue ! 0002a86c _complain ! 00029818 _deallocate ! 00027ff4 _drop_message ! 0002a7f0 _error ! 00029e84 _get_nbrs ! 0002a42c _get_next_node ! 0002a4ec _insert_sched ! 0002804c _message_init ! 00029fac _neighbor_update ! 00029e50 _network_init ! 0002a218 _push_node ! 0002a30c _remove_sched ! 000281e0 _reschedule ! 0002a118 _sched_init ! 000290d8 _serv_init ! 00029630 _swap_init ! 0002af88 _tbl_log_hi ! 0002b788 _tbl_log_lo ! 000046fc a_compare ! 0000477c a_hashfn ! 000287c8 abs_advance ! 00010e18 add_conv ! 00020bf0 add_recv_str ! 000286a8 advance ! 0002d180 aint ! 00014f18 allocate_buffers ! 00014d40 allocate_bw ! 0002d210 anint ! 000288b0 any_messages ! 000047ec b_compare ! 00004850 b_hashfn ! 000175a8 background ! 00005ca0 c_compare ! 00005d04 c_hashfn ! 0002d2d0 ceil ! 00015630 check_buffers ! 00010f78 check_conv ! 00026d50 check_hamming ! 0000e3dc check_queue ! 0000b1b8 close_result_file ! 00006200 close_smart_buffer ! 00003270 compute_alpha ! 0000e590 compute_bw_levels ! 0001543c compute_fq_weights ! 0000e870 compute_level ! 00017db8 controlled_rate ! 0002a0a8 copy_funclist ! 00004eb8 custom_monitor ! 00018770 dec ! 000108e0 decongest_all ! 0000ff88 decongest_first ! 000101f0 decongest_last ! 000105e0 decongest_random ! 0000d9b8 decrement_counters ! 00010e6c delete_conv ! 0000588c deq ! 0000f790 dequeue ! 000139e0 do_departure_processing ! 00014268 do_transition ! 000054b4 dump_graf ! 0000fe38 dump_q ! 000261a0 ecn_error ! 00026ef8 ecn_flow ! 00023430 ecn_master ! 00025f98 ecn_receiver ! 00024670 ecn_router ! 00025220 ecn_sender1 ! 00025578 ecn_sender2 ! 000258d8 ecn_sender3 ! 00025c38 ecn_sender4 ! 00023098 ecn_simple ! 00023cb0 ecn_slave ! 000057ec enq ! 000055d0 enq_high ! 00006ec4 err ! 00006f14 errline ! 00031720 etext ! 00006be8 expntl ! 00006d5c extract_float ! 0000fddc fc_fs ! 00003150 find_area ! 000114d0 find_min_finish ! 00020c88 find_recv_str ! 0002d368 floor ! 0002a93c flush_windows ! 00011204 fq ! 000195b8 generic ! 0000e494 get_be_cell ! 00002a58 get_error ! 00010ff4 get_fcfs_pkt ! 0000f258 get_from_op_q ! 00028acc get_neighbors ! 0000d6d8 get_next_active ! 00006f40 get_node_name ! 0000fd24 get_num_buffers_in_q ! 0000fcd0 get_num_buffers_in_use ! 0000fd80 get_num_bytes_in_q ! 0000491c hash ! 00004518 hash_create ! 000048a0 hash_init ! 00004660 hash_insert ! 000045a0 hash_locate ! 0000e150 head_service_list ! 0000d238 hrr ! 0000db14 init_hrr ! 0000ec08 init_q ! 00006040 init_sb ! 0000afd0 init_table ! 000031f4 init_trap ! 00005074 init_values ! 00004b60 initialise ! 0000a9b4 initialize_graph ! 00004ab4 invert ! 0002d400 irint ! 0001a060 jk_reno ! 0001b650 jk_tahoe ! 0002ac78 log ! 00006a78 main ! 0000b03c make_entry ! 00005da4 make_flt_plot ! 00005ffc make_plot ! 00020b94 make_recv_str ! 0002d178 matherr ! 0000d148 max_of ! 0000d1c0 min_of ! 0001cc88 mmpp ! 00002870 moddiff ! 0002a924 nest_cook ! 00029480 nest_destroy ! 0002a914 nest_freeze ! 00027bb8 nest_parse_args ! 000294e4 nest_restore ! 0002a900 nest_stack ! 00029568 nest_store ! 0002a908 nest_xstack ! 0000c7e0 new_arrival ! 0002d424 nint ! 000059a0 num_in_q ! 00021978 onoff ! 000221f0 onoff_closed ! 0000ee24 op_q_full ! 0000eeb8 op_q_mt ! 0000b160 open_result_file ! 00006c84 pkt_print ! 00011830 plot_qsize ! 0001d1f0 poisson ! 00002c70 poss_high ! 00002b7c poss_low ! 00002d64 poss_med ! 0001d6d8 pp ! 00006ba8 pr_error ! 0000b1dc print_report ! 0000bef4 print_summary ! 0002a780 print_wait ! 0000ae50 put_address ! 0000ddc4 put_in_head ! 0000ef40 put_in_op_q ! 0000df64 put_in_tail ! 00015698 queue_or_send ! 0001fc18 random_rate ! 0000a9ec real_parse_args ! 000283f0 recvm ! 00027d04 reliable ! 0000d808 reload ! 00014c74 remove_conv ! 0000cda0 remove_old_conv ! 0000bc94 report ! 0000c1dc report_var ! 00011620 reset_all_finish ! 0002d448 rint ! 00006398 route_graph ! 00011938 router ! 0000c45c router_type ! 000289fc runtime ! 00020590 safe_send ! 00005a80 sb_append ! 0000aeb4 scan_in ! 000174c8 select_from_op_q ! 00020448 send_pkt ! 00024cec sendit ! 00027cb8 sendm ! 00014610 set_bit ! 000062b0 set_timer ! 00028b20 simulate ! 000206e0 sink ! 0002a960 sqrt ! 0002503c t_dequeue ! 00024f30 t_enqueue ! 00015190 tear_down_connection ! 00020d10 telnet ! 00022b88 trace ! 0000ae08 trace_set ! 00002290 tx_chan ! 0000c58c type_to_str ! 00002f08 xcentroid ! 000028f0 xintercept ! 00016568 xu_check_queue ! 00016c58 xu_compute_class ! 00016200 xu_head_service_list ! 0001663c xu_init_bw_levels ! 00015c88 xu_init_queues ! 0001723c xu_new_arrival ! 00015d80 xu_put_in_head ! 00015f8c xu_put_in_tail ! 000158b0 xu_sched ! 000173ac xu_teardown ! 00003024 ycentroid ! 000029a4 yintercept ! 0000804c yyback ! 00006fa8 yyerror ! 000080e0 yyinput ! 00006fcc yylex ! 00007518 yylook ! 000081f0 yyoutput ! 0000827c yyparse ! 00008208 yyunput ! 000074f4 yywrap ! 00002020 tart --- 1,219 ---- ! 0805bc6a abs_advance ! 0804a138 a_compare ! 0804fde4 add_conv ! 08057528 add_recv_str ! 0805bb68 advance ! 0804a164 a_hashfn ! 0805c82d _allocate ! 080517fc allocate_buffers ! 0805173c allocate_bw ! 0805bcf8 any_messages ! 08052330 background ! 0804a18c b_compare ! 0805bee4 bcopy ! 0804a1a4 b_hashfn ! 0805c28e _block ! 0805bf00 bzero ! 0804aa20 c_compare ! 0804aa40 c_hashfn ! 08051a98 check_buffers ! 0804fe78 check_conv ! 0805ab18 check_hamming ! 0805b72d _check_queue ! 0804ef34 check_queue ! 0804dc78 close_result_file ! 0804ad88 close_smart_buffer ! 0805d31a _complain ! 08049700 compute_alpha ! 0804efe8 compute_bw_levels ! 080519f8 compute_fq_weights ! 0804f0d8 compute_level ! 08052744 controlled_rate ! 0805ce33 copy_funclist ! 0804a4dc custom_monitor ! 0805c89f _deallocate ! 08052dc0 dec ! 0804fb78 decongest_all ! 0804f748 decongest_first ! 0804f858 decongest_last ! 0804fa14 decongest_random ! 0804ec3c decrement_counters ! 0804fe24 delete_conv ! 0804a840 deq ! 0804f4f8 dequeue ! 0805102c do_departure_processing ! 080513bc do_transition ! 0805b6d1 _drop_message ! 0804a6d4 dump_graf ! 0804f6b8 dump_q ! 0805a310 ecn_error ! 0805ab2c ecn_flow ! 08058b28 ecn_master ! 0805a208 ecn_receiver ! 0805962c ecn_router ! 08059b2c ecn_sender1 ! 08059ce0 ecn_sender2 ! 08059e98 ecn_sender3 ! 0805a050 ecn_sender4 ! 08058940 ecn_simple ! 080590a0 ecn_slave ! 0804a804 enq ! 0804a764 enq_high ! 0804b378 err ! 0804b3ac errline ! 0805d2cc _error ! 0804b234 expntl ! 0804b2e0 extract_float ! 0804f698 fc_fs ! 0805bf1b ffs ! 080496b4 find_area ! 080500b4 find_min_finish ! 08057560 find_recv_str ! 0805d464 _fini ! 0804ff60 fq ! 08053728 generic ! 0804ef70 get_be_cell ! 080493f4 get_error ! 0804fea0 get_fcfs_pkt ! 0804f400 get_from_op_q ! 0805cce7 _get_nbrs ! 0805beb8 get_neighbors ! 0804ebac get_next_active ! 0805d093 _get_next_node ! 0804b3c4 get_node_name ! 0804f658 get_num_buffers_in_q ! 0804f63c get_num_buffers_in_use ! 0804f678 get_num_bytes_in_q ! 0804a1f4 hash ! 0804a008 hash_create ! 0804a1bc hash_init ! 0804a0dc hash_insert ! 0804a08c hash_locate ! 0804ee94 head_service_list ! 0804ea18 hrr ! 08048c44 _init ! 0804eca0 init_hrr ! 0804a380 initialise ! 0804d814 initialize_graph ! 0804f218 init_q ! 0804ac40 init_sb ! 0804db9c init_table ! 080496d8 init_trap ! 0804a604 init_values ! 0805d10a _insert_sched ! 0804a338 invert ! 08053d14 jk_reno ! 080546bc jk_tahoe ! 0805d40c __libc_csu_fini ! 0805d3dc __libc_csu_init ! 0804b13c main ! 0804dbd0 make_entry ! 0804aa84 make_flt_plot ! 0804ac28 make_plot ! 080574e4 make_recv_str ! 0804e9e0 max_of ! 0805b70e _message_init ! 0804e9fc min_of ! 08055100 mmpp ! 08049308 moddiff ! 0805cd95 _neighbor_update ! 0805d3b8 nest_cook ! 0805c60c nest_destroy ! 0805d390 nest_freeze ! 0805b3a8 nest_parse_args ! 0805c64e nest_restore ! 0805d384 nest_stack ! 0805c6af nest_store ! 0805d38a nest_xstack ! 0805ccc8 _network_init ! 0804e568 new_arrival ! 0804a88c num_in_q ! 08057d0c onoff ! 08058180 onoff_closed ! 0804dc40 open_result_file ! 0804f2b4 op_q_full ! 0804f2e4 op_q_mt ! 0804b274 pkt_print ! 080501dc plot_qsize ! 0805542c poisson ! 080494d4 poss_high ! 0804946c poss_low ! 08049548 poss_med ! 080556f0 pp ! 0804b20c pr_error ! 0804dc8c print_report ! 0804e178 print_summary ! 0805d289 print_wait ! 0805cf50 _push_node ! 0804da8c put_address ! 0804ed88 put_in_head ! 0804f310 put_in_op_q ! 0804ee08 put_in_tail ! 08051abc queue_or_send ! 08056c60 random_rate ! 0804d82c real_parse_args ! 0805b97d recvm ! 0805b475 reliable ! 0804ebe4 reload ! 080516d4 remove_conv ! 0804e7c4 remove_old_conv ! 0805cff2 _remove_sched ! 0804e074 report ! 0804e2e0 report_var ! 0805b7e2 _reschedule ! 0805011c reset_all_finish ! 0804ae98 route_graph ! 0805026c router ! 0804e3cc router_type ! 0805bdd9 runtime ! 0805717c safe_send ! 0804a8c4 sb_append ! 0804dac4 scan_in ! 0805ce88 _sched_init ! 080522d8 select_from_op_q ! 08059950 sendit ! 0805b450 sendm ! 080570f0 send_pkt ! 0805c398 _serv_init ! 08051494 set_bit ! 0804adfc set_timer ! 0805bf4c simulate ! 08057260 sink ! 08048fcc _start ! 0805c73c _swap_init ! 08059ad4 t_dequeue ! 080518ec tear_down_connection ! 08057584 telnet ! 08059a84 t_enqueue ! 08058628 trace ! 0804da54 trace_set ! 0804907c tx_chan ! 0804e438 type_to_str ! 08049600 xcentroid ! 08049334 xintercept ! 08051ef0 xu_check_queue ! 0805203c xu_compute_class ! 08051e38 xu_head_service_list ! 08051f34 xu_init_bw_levels ! 08051ccc xu_init_queues ! 0805222c xu_new_arrival ! 08051d0c xu_put_in_head ! 08051d9c xu_put_in_tail ! 08051bb0 xu_sched ! 08052288 xu_teardown ! 08049650 ycentroid ! 08049394 yintercept ! 0804c12c yy_create_buffer ! 0804c1a0 yy_delete_buffer ! 0804b3f8 yyerror ! 0804c23c yy_flush_buffer ! 0804c1ec yy_init_buffer ! 0804b40c yylex ! 0804c0fc yy_load_buffer_state ! 0804c55c yyparse ! 0804c060 yyrestart ! 0804c280 yy_scan_buffer ! 0804c33c yy_scan_bytes ! 0804c318 yy_scan_string ! 0804c0ac yy_switch_to_buffer ! 0804c454 yywrap diff -c -r sim5.0/sim/kernel/channels.c sim5.0-linux/sim/kernel/channels.c *** sim5.0/sim/kernel/channels.c 1997-06-18 06:48:28.000000000 +0930 --- sim5.0-linux/sim/kernel/channels.c 2003-08-26 14:13:09.000000000 +0930 *************** *** 38,44 **** { /* create an interrupt packet */ ! intr = (PKT_PTR) malloc ((unsigned) sizeof (PKT)); *intr = *pkt; intr->type = INT; --- 38,47 ---- { /* create an interrupt packet */ ! /* error checking added c. pope 20/7/99 */ ! /***LEAK==608,CLEAN***/ ! if ((intr = (PKT_PTR) malloc ((unsigned) sizeof (PKT))) == NULL) ! pr_error("Memory allocation error creating interrupt packet in channels.c"); *intr = *pkt; intr->type = INT; diff -c -r sim5.0/sim/kernel/config.h sim5.0-linux/sim/kernel/config.h *** sim5.0/sim/kernel/config.h 1997-08-14 06:14:23.000000000 +0930 --- sim5.0-linux/sim/kernel/config.h 2003-08-26 14:13:09.000000000 +0930 *************** *** 5,14 **** /* Simulator sizing info */ ! #define MAX_NODES 40 #define MAX_FAN_OUT 15 /* Max number of outgoing trunks */ ! #define MAX_CONVERSATIONS 50 /* Max conversations in system */ #define MAX_WINDOW_SIZE 10000 /* window size limit */ #define NUM_LEVELS 2 /* at least 2, if d_hrr_levels is used */ --- 5,14 ---- /* Simulator sizing info */ ! #define MAX_NODES 80 #define MAX_FAN_OUT 15 /* Max number of outgoing trunks */ ! #define MAX_CONVERSATIONS 400 /* Max conversations in system */ #define MAX_WINDOW_SIZE 10000 /* window size limit */ #define NUM_LEVELS 2 /* at least 2, if d_hrr_levels is used */ Binary files sim5.0/sim/kernel/demux and sim5.0-linux/sim/kernel/demux differ diff -c -r sim5.0/sim/kernel/demux.c sim5.0-linux/sim/kernel/demux.c *** sim5.0/sim/kernel/demux.c 1997-08-14 03:33:13.000000000 +0930 --- sim5.0-linux/sim/kernel/demux.c 2003-08-26 14:13:09.000000000 +0930 *************** *** 10,148 **** /* all chars, so that the compiler won't pad it for me */ struct dbuf { ! unsigned char index[1]; ! unsigned char time[4]; ! unsigned char value[4]; }; #define CHART_PKT 1 #define DATA_PKT 2 ! #define MAX_CHARTS 64 FILE *ftab[MAX_CHARTS]; struct { ! char type; ! short length; } data_packet_template; struct { ! unsigned char type; ! unsigned short length; ! unsigned char index; ! char name[64]; } chart_packet_template; unsigned char read_char(fd) ! int fd; { ! char data; ! int r; ! if ((r = read(fd, &data, 1)) is - 1) { ! perror("read"); ! pr_error("couldn't read plot file\n"); ! } ! if (r is 0) ! exit(); ! return data; } unsigned short read_short(fd) ! int fd; { ! short data; ! int r; ! if ((r = read(fd, &data, 2)) is - 1) { ! perror("read"); ! pr_error("couldn't read plot file\n"); ! } ! if (r is 0) ! exit(); ! return data; } float read_float(fd) ! int fd; { ! float data; ! int r; ! if ((r = read(fd, &data, 4)) is - 1) { ! perror("read"); ! pr_error("couldn't read plot file\n"); ! } ! if (r is 0) ! exit(); ! return data; } main(argc, argv) ! char argc; ! char **argv; { ! int i, fd; ! unsigned char type, index, *zerobuf; ! unsigned short length; ! char nmbuf[64]; ! float time, value, t; ! ! if (argc < 2){ ! printf("usage: demux \n"); ! exit(); ! } ! ! zerobuf = (unsigned char *) calloc(64, 1); ! ! if ((fd = open(argv[1], O_RDONLY)) is - 1) { ! perror("open"); ! pr_error("unable to open plot file!"); ! } ! while (1) { ! type = read_char(fd); ! D(printf("type = %d ", type);) ! length = ntohs(read_short(fd)); ! D(printf("length = %d ", length);) switch (type) { ! case CHART_PKT: ! index = read_char(fd); ! bcopy(zerobuf, nmbuf, 64); ! read(fd, nmbuf, length-2); ! D(printf("index %d name %s\n", index, nmbuf);) ! printf("Creating file %s\n", nmbuf); ! ftab[index] = fopen(nmbuf, "w+"); ! break; ! ! case DATA_PKT: ! for(i = 0; i < length/9; i++){ ! index = read_char(fd); ! time = read_float(fd); #ifdef __alpha ! cvt_ftof(&time, CVT_BIG_ENDIAN_IEEE_S, &t, CVT_IEEE_S, 0); ! time = t; #endif ! value = read_float(fd); #ifdef __alpha ! cvt_ftof(&value, CVT_BIG_ENDIAN_IEEE_S, &t, CVT_IEEE_S, 0); ! value = t; #endif ! D(printf("index %d, time %f, value %f\n", index, time, value);) ! fprintf(ftab[index], "%f %f\n", time, value); ! } ! break; ! } ! } } pr_error(s) ! char *s; { printf("Fatal error %s\n", s); exit(); --- 10,148 ---- /* all chars, so that the compiler won't pad it for me */ struct dbuf { ! unsigned char index[1]; ! unsigned char time[4]; ! unsigned char value[4]; }; #define CHART_PKT 1 #define DATA_PKT 2 ! #define MAX_CHARTS 300 FILE *ftab[MAX_CHARTS]; struct { ! char type; ! short length; } data_packet_template; struct { ! unsigned char type; ! unsigned short length; ! unsigned char index; ! char name[64]; } chart_packet_template; unsigned char read_char(fd) ! int fd; { ! char data; ! int r; ! if ((r = read(fd, &data, 1)) is - 1) { ! perror("read"); ! pr_error("couldn't read plot file\n"); ! } ! if (r is 0) ! exit(); ! return data; } unsigned short read_short(fd) ! int fd; { ! short data; ! int r; ! if ((r = read(fd, &data, 2)) is - 1) { ! perror("read"); ! pr_error("couldn't read plot file\n"); ! } ! if (r is 0) ! exit(); ! return data; } float read_float(fd) ! int fd; { ! float data; ! int r; ! if ((r = read(fd, &data, 4)) is - 1) { ! perror("read"); ! pr_error("couldn't read plot file\n"); ! } ! if (r is 0) ! exit(); ! return data; } main(argc, argv) ! char argc; ! char **argv; { ! int i, fd; ! unsigned char type, index, *zerobuf; ! unsigned short length; ! char nmbuf[64]; ! float time, value, t; ! ! if (argc < 2){ ! printf("usage: demux \n"); ! exit(); ! } ! ! zerobuf = (unsigned char *) calloc(64, 1); ! ! if ((fd = open(argv[1], O_RDONLY)) is - 1) { ! perror("open"); ! pr_error("unable to open plot file!"); ! } ! while (1) { ! type = read_char(fd); ! D(printf("type = %d ", type);) ! length = ntohs(read_short(fd)); ! D(printf("length = %d ", length);) switch (type) { ! case CHART_PKT: ! index = read_char(fd); ! bcopy(zerobuf, nmbuf, 64); ! read(fd, nmbuf, length-2); ! D(printf("index %d name %s\n", index, nmbuf);) ! printf("Creating file %s\n", nmbuf); ! ftab[index] = fopen(nmbuf, "w+"); ! break; ! ! case DATA_PKT: ! for(i = 0; i < length/9; i++){ ! index = read_char(fd); ! time = read_float(fd); #ifdef __alpha ! cvt_ftof(&time, CVT_BIG_ENDIAN_IEEE_S, &t, CVT_IEEE_S, 0); ! time = t; #endif ! value = read_float(fd); #ifdef __alpha ! cvt_ftof(&value, CVT_BIG_ENDIAN_IEEE_S, &t, CVT_IEEE_S, 0); ! value = t; #endif ! D(printf("index %d, time %f, value %f\n", index, time, value);) ! fprintf(ftab[index], "%f %f\n", time, value); ! } ! break; ! } ! } } pr_error(s) ! char *s; { printf("Fatal error %s\n", s); exit(); diff -c -r sim5.0/sim/kernel/hash.c sim5.0-linux/sim/kernel/hash.c *** sim5.0/sim/kernel/hash.c 1998-05-29 01:32:41.000000000 +0930 --- sim5.0-linux/sim/kernel/hash.c 2003-08-26 14:13:09.000000000 +0930 *************** *** 14,23 **** { struct hash_template * h; ! h = (struct hash_template*) malloc((unsigned)sizeof(struct hash_template)); h->size = size; ! h->hashtab = (struct bucket **)malloc((unsigned)(size * sizeof(struct bucket))); ! bzero(h->hashtab, size*sizeof(struct bucket)); h->compare = compare; h->hashfn = hashfn; return h; --- 14,29 ---- { struct hash_template * h; ! /***LEAK==16***/ ! if ((h = malloc((unsigned)sizeof(struct hash_template))) == NULL) ! pr_error("Memory allocation error creating hash table"); h->size = size; ! /***LEAK==24576,384000***/ ! if((h->hashtab = malloc((unsigned)(size * sizeof(struct bucket)))) == NULL) ! pr_error("Memory allocation error creating hash bucket"); ! #ifndef BUGFIX ! memset(h->hashtab, 0, size * sizeof(struct bucket)); ! #endif h->compare = compare; h->hashfn = hashfn; return h; *************** *** 52,59 **** struct bucket * b; index = (h->hashfn)(input, h->size); ! ! b = (struct bucket *) malloc((unsigned) sizeof (struct bucket)); b->input = input; b->value = value; b->next = h->hashtab[index]; --- 58,66 ---- struct bucket * b; index = (h->hashfn)(input, h->size); ! /***LEAK==12***/ ! if ((b = (struct bucket *) malloc((unsigned) sizeof (struct bucket))) == NULL) ! pr_error("Memory allocation error adding to hash table"); b->input = input; b->value = value; b->next = h->hashtab[index]; *************** *** 146,174 **** int *c, *d; static int conv_id = 0; ! h = hashptr[node]; ! if(h is 0){ ! h = hash_create (MAX_CONVERSATIONS * MAX_NODES, a_compare, a_hashfn); ! hashptr[node] = h; } ! s = (struct sode*) malloc((unsigned)sizeof(struct sode)); s->so = so; s->de = de; if((c = hash_locate (h, s)) is (int*) -1) { ! c = (int *) malloc ((unsigned)sizeof(int)); ! *c = conv_id; ! hash_insert(h, s, c); hinv = hinvptr[node]; if(hinv is 0){ ! hinv = hash_create (MAX_CONVERSATIONS * MAX_NODES, b_compare, b_hashfn); ! hinvptr[node] = hinv; ! } ! hash_insert(hinv, c, s); ! conv_id ++; } ! return *c; } --- 153,218 ---- int *c, *d; static int conv_id = 0; ! h = hashptr[node]; ! if(h is 0){ ! h = hash_create (MAX_CONVERSATIONS * MAX_NODES, a_compare, a_hashfn); ! hashptr[node] = h; } ! #ifndef FOO ! /***LEAK==8***/ ! if ((s = (struct sode*) malloc((unsigned)sizeof(struct sode))) == NULL) ! pr_error("Memory allocation error hashing value to hash table"); s->so = so; s->de = de; if((c = hash_locate (h, s)) is (int*) -1) { ! /***LEAK==4***/ ! if ((c = (int *) malloc ((unsigned)sizeof(int))) == NULL) ! pr_error("Memory allocation error creating new hash entry"); ! #ifndef BUGFIX ! if (conv_id >= MAX_CONVERSATIONS) pr_error("MAX_CONVERSATIONS exceeded\n"); ! #endif ! *c = conv_id; ! hash_insert(h, s, c); ! ! hinv = hinvptr[node]; ! if(hinv is 0){ ! hinv = hash_create (MAX_CONVERSATIONS * MAX_NODES, b_compare, b_hashfn); ! hinvptr[node] = hinv; ! } ! hash_insert(hinv, c, s); ! conv_id ++; ! } ! #ifndef BUGFIX ! else free(s); ! #endif ! #else ! { ! struct sode so; ! ! so.so = so; ! so.de = de; ! if((c = hash_locate (h, &so)) is (int*) -1) { ! /***LEAK==12***/ ! if ((s = malloc(sizeof(int) + sizeof(struct sode))) == NULL) ! pr_error("Memory allocation error hashing value to hash table"); ! if (conv_id >= MAX_CONVERSATIONS) ! pr_error("MAX_CONVERSATIONS exceeded\n"); ! *s = so; ! c = (int *) (s+1); ! *c = conv_id; ! hash_insert(h, s, c); hinv = hinvptr[node]; if(hinv is 0){ ! hinv = hash_create(MAX_CONVERSATIONS*MAX_NODES, b_compare, b_hashfn); ! hinvptr[node] = hinv; ! } ! hash_insert(hinv, c, s); ! conv_id ++; ! } } ! #endif return *c; } diff -c -r sim5.0/sim/kernel/makefile sim5.0-linux/sim/kernel/makefile *** sim5.0/sim/kernel/makefile 1997-08-15 07:45:52.000000000 +0930 --- sim5.0-linux/sim/kernel/makefile 2003-08-26 14:20:42.000000000 +0930 *************** *** 10,16 **** # Standard make variables CC = cc ! CFLAGS = -g -c -w LINT = lint LINTFLAGS = -buxz --- 10,16 ---- # Standard make variables CC = cc ! CFLAGS = -g -O2 -c -w LINT = lint LINTFLAGS = -buxz *************** *** 26,39 **** headers = ../kernel/config.h ../kernel/parameters.h ../kernel/types.h ../../src/nest.h ../../src/graph.h ../../src/dcctime.h ../../src/nest.a ../router/router.h ! functions = channels.c monitor.c timer.c symtab.c \ ! fuzzy.c node_queue.c routing.c table.c \ ! hash.c plotting.c sim.c init.c switches.c ! functionobj = channels.o monitor.o timer.o symtab.o \ ! fuzzy.o node_queue.o routing.o table.o \ ! hash.o plotting.o sim.o init.o switches.o final: $(functionobj) $(headers) demux --- 26,36 ---- headers = ../kernel/config.h ../kernel/parameters.h ../kernel/types.h ../../src/nest.h ../../src/graph.h ../../src/dcctime.h ../../src/nest.a ../router/router.h ! functions = channels.c monitor.c timer.c symtab.c fuzzy.c node_queue.c routing.c table.c hash.c plotting.c sim.c init.c switches.c ! functionobj = channels.o monitor.o timer.o symtab.o fuzzy.o node_queue.o routing.o table.o hash.o plotting.o sim.o init.o switches.o ! final: $(functionobj) $(headers) demux *************** *** 41,47 **** $(CC) $(CFLAGS) $(LIBS) $(LDFLAGS) symtab.c sim.o: sim.c ! $(CC) $(CFLAGS) -I$(INC) $(LIBS) $(LDFLAGS) -cckr sim.c .c.o : ; $(CC) $(CFLAGS) $*.c --- 38,44 ---- $(CC) $(CFLAGS) $(LIBS) $(LDFLAGS) symtab.c sim.o: sim.c ! $(CC) $(CFLAGS) -I$(INC) $(LIBS) $(LDFLAGS) sim.c .c.o : ; $(CC) $(CFLAGS) $*.c *************** *** 50,60 **** ctags *.c demux: demux.c - # use the next line everywhere except Solaris $(CC) demux.c -o demux -lm - # Solaris sucks--Bill, how could do this? - # use the next line for Solaris - # $(CC) demux.c -o demux -lm -lsocket -lnsl depend: $(functions) ../../src/makedepend $(functions) > depends --- 47,53 ---- *************** *** 71,80 **** # DO NOT DELETE THIS LINE -- make depend uses it # DEPENDENCIES MUST END AT END OF FILE # IF YOU PUT STUFF HERE IT WILL GO AWAY # see make depend above - - - --- 64,325 ---- # DO NOT DELETE THIS LINE -- make depend uses it + channels.o: channels.c real.h ../../src/nest.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ + /usr/include/bits/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/linux/param.h /usr/include/asm/param.h \ + /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ + ../kernel/config.h ../kernel/types.h ../kernel/parameters.h + monitor.o: monitor.c real.h ../../src/nest.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ + /usr/include/bits/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/linux/param.h /usr/include/asm/param.h \ + /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ + ../kernel/config.h ../kernel/types.h ../kernel/parameters.h + timer.o: timer.c real.h ../../src/nest.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ + /usr/include/bits/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/linux/param.h /usr/include/asm/param.h \ + /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ + ../kernel/config.h ../kernel/types.h ../kernel/parameters.h \ + ../../src/message.h ../../src/network.h ../../src/simulate.h \ + ../../src/copyright.h /usr/include/setjmp.h /usr/include/bits/setjmp.h \ + ../../src/process.h ../../src/state.h + symtab.o: symtab.c real.h ../../src/nest.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ + /usr/include/bits/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/linux/param.h /usr/include/asm/param.h \ + /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ + ../kernel/config.h ../kernel/types.h ../kernel/parameters.h hash.h + fuzzy.o: fuzzy.c real.h ../../src/nest.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ + /usr/include/bits/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/linux/param.h /usr/include/asm/param.h \ + /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ + ../kernel/config.h ../kernel/types.h ../kernel/parameters.h + node_queue.o: node_queue.c real.h ../../src/nest.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ + /usr/include/bits/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/linux/param.h /usr/include/asm/param.h \ + /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ + ../kernel/config.h ../kernel/types.h ../kernel/parameters.h + routing.o: routing.c real.h ../../src/nest.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ + /usr/include/bits/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/linux/param.h /usr/include/asm/param.h \ + /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ + ../kernel/config.h ../kernel/types.h ../kernel/parameters.h + table.o: table.c real.h ../../src/nest.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ + /usr/include/bits/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/linux/param.h /usr/include/asm/param.h \ + /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ + ../kernel/config.h ../kernel/types.h ../kernel/parameters.h \ + /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h + hash.o: hash.c real.h ../../src/nest.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ + /usr/include/bits/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/linux/param.h /usr/include/asm/param.h \ + /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ + ../kernel/config.h ../kernel/types.h ../kernel/parameters.h hash.h + plotting.o: plotting.c real.h ../../src/nest.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ + /usr/include/bits/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/linux/param.h /usr/include/asm/param.h \ + /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ + ../kernel/config.h ../kernel/types.h ../kernel/parameters.h hash.h \ + /usr/include/fcntl.h /usr/include/bits/fcntl.h /usr/include/sys/stat.h \ + /usr/include/bits/stat.h /usr/include/string.h \ + /usr/include/sys/socket.h /usr/include/sys/uio.h \ + /usr/include/bits/uio.h /usr/include/bits/socket.h \ + /usr/include/bits/sockaddr.h /usr/include/asm/socket.h \ + /usr/include/asm/sockios.h /usr/include/netinet/in.h \ + /usr/include/stdint.h /usr/include/bits/in.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/bits/byteswap.h + + init.o: init.c real.h ../../src/nest.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ + /usr/include/bits/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/linux/param.h /usr/include/asm/param.h \ + /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ + ../kernel/config.h ../kernel/types.h ../kernel/parameters.h + switches.o: switches.c config.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h # DEPENDENCIES MUST END AT END OF FILE # IF YOU PUT STUFF HERE IT WILL GO AWAY # see make depend above diff -c -r sim5.0/sim/kernel/makefile.SH sim5.0-linux/sim/kernel/makefile.SH *** sim5.0/sim/kernel/makefile.SH 1997-08-16 11:16:46.000000000 +0930 --- sim5.0-linux/sim/kernel/makefile.SH 2003-08-26 14:13:09.000000000 +0930 *************** *** 24,30 **** # Standard make variables CC = cc ! CFLAGS = -g -c -w LINT = lint LINTFLAGS = -buxz --- 24,30 ---- # Standard make variables CC = cc ! CFLAGS = -g -O2 -c -w LINT = lint LINTFLAGS = -buxz *************** *** 52,64 **** switches.o ! final: $(functionobj) $(headers) demux symtab.o: symtab.c makefile ! $(CC) $(CFLAGS) $(LIBS) $(LDFLAGS) symtab.c sim.o: sim.c ! $(CC) $(CFLAGS) -I$(INC) $(LIBS) $(LDFLAGS) $d_cckr sim.c !GROK!THIS! cat >>makefile <<'!NO!SUBS!' --- 52,64 ---- switches.o ! final: \$(functionobj) \$(headers) demux symtab.o: symtab.c makefile ! \$(CC) \$(CFLAGS) \$(LIBS) \$(LDFLAGS) symtab.c sim.o: sim.c ! \$(CC) \$(CFLAGS) -I\$(INC) \$(LIBS) \$(LDFLAGS) $d_cckr sim.c !GROK!THIS! cat >>makefile <<'!NO!SUBS!' diff -c -r sim5.0/sim/kernel/plotting.c sim5.0-linux/sim/kernel/plotting.c *** sim5.0/sim/kernel/plotting.c 1997-08-15 07:26:41.000000000 +0930 --- sim5.0-linux/sim/kernel/plotting.c 2003-08-26 14:13:09.000000000 +0930 *************** *** 118,124 **** { char *buf; ! buf = malloc(NAME_SIZE); sprintf(buf, "%s%d", s, n); return buf; } --- 118,127 ---- { char *buf; ! /* error checking added c. pope 20/7/99 */ ! /***LEAK==64***/ ! if ((buf = malloc(NAME_SIZE)) == NULL) ! pr_error("Memory allocation error creating plot file name in plotting"); sprintf(buf, "%s%d", s, n); return buf; } *************** *** 168,178 **** /* test if we have work to do */ if (!PLOT_ON) ! return; node = get_node_id(); if (!plot_option[node]) ! return; /* look up in hash table */ h = hnameptr[node]; --- 171,181 ---- /* test if we have work to do */ if (!PLOT_ON) ! return; node = get_node_id(); if (!plot_option[node]) ! return; /* look up in hash table */ h = hnameptr[node]; *************** *** 186,219 **** /* look for record in hash table */ s = make_fname(name, node); if ((c = hash_locate(h, s)) is(int *) -1) { /* no record */ ! c = (int *) malloc((unsigned) sizeof(int)); ! *c = index; ! hash_insert(h, s, c); ! ! /* send the CHART type packet */ ! /* sb.fd is initialised by the init_sb */ ! chart_packet_template.type = CHART_PKT; ! chart_packet_template.index = (unsigned char) *c; ! ! name_len = strlen(s); ! ! /* if too long, truncate the name */ ! if (name_len >= sizeof(chart_packet_template.name)) ! s[sizeof(chart_packet_template.name)-1] = '\0'; ! ! strcpy(chart_packet_template.name, s); ! chart_packet_template.length = htons((unsigned short)(name_len + 2)); ! /* 1 for the null, and 1 for the index field */ ! ! D(printf("writing chart packet: length %d name %s index %d\n", name_len + 2, s, *c);) ! ! write(sb.fd, &(chart_packet_template.type), sizeof(chart_packet_template.type)); ! write(sb.fd, &(chart_packet_template.length), sizeof(chart_packet_template.length)); ! write(sb.fd, &(chart_packet_template.index), sizeof(chart_packet_template.index)); ! write(sb.fd, &(chart_packet_template.name), strlen(s)); ! ! index++; } /* append to smart buffer */ sb_append((char) *c, data); --- 189,227 ---- /* look for record in hash table */ s = make_fname(name, node); if ((c = hash_locate(h, s)) is(int *) -1) { /* no record */ ! /***LEAK==4***/ ! if ((c = (int *) malloc((unsigned) sizeof(int))) == NULL) ! pr_error("Memory allocation error creating hash record in plotting"); ! *c = index; ! hash_insert(h, s, c); ! ! /* send the CHART type packet */ ! /* sb.fd is initialised by the init_sb */ ! chart_packet_template.type = CHART_PKT; ! chart_packet_template.index = (unsigned char) *c; ! ! name_len = strlen(s); ! ! /* if too long, truncate the name */ ! if (name_len >= sizeof(chart_packet_template.name)) ! s[sizeof(chart_packet_template.name)-1] = '\0'; ! ! strcpy(chart_packet_template.name, s); ! chart_packet_template.length = htons((unsigned short)(name_len + 2)); ! /* 1 for the null, and 1 for the index field */ ! ! D(printf("writing chart packet: length %d name %s index %d\n", name_len + 2, s, *c);) ! ! write(sb.fd, &(chart_packet_template.type), sizeof(chart_packet_template.type)); ! write(sb.fd, &(chart_packet_template.length), sizeof(chart_packet_template.length)); ! write(sb.fd, &(chart_packet_template.index), sizeof(chart_packet_template.index)); ! write(sb.fd, &(chart_packet_template.name), strlen(s)); ! ! index++; } + #ifndef BUGFIX + else free(s); + #endif /* append to smart buffer */ sb_append((char) *c, data); *************** *** 232,238 **** struct sockaddr_in server; sb.count = 0; ! sb.dataptr = malloc(SB_SIZE); sb.size = SB_SIZE; sb.num_elements = sb.size / sizeof(struct dbuf); --- 240,248 ---- struct sockaddr_in server; sb.count = 0; ! /***LEAK***/ ! if ((sb.dataptr = malloc(SB_SIZE)) == NULL) ! pr_error("Memory allocation error in init_sb plotting"); sb.size = SB_SIZE; sb.num_elements = sb.size / sizeof(struct dbuf); diff -c -r sim5.0/sim/kernel/sim.c sim5.0-linux/sim/kernel/sim.c *** sim5.0/sim/kernel/sim.c 1997-11-04 02:59:59.000000000 +1030 --- sim5.0-linux/sim/kernel/sim.c 2003-08-26 14:13:09.000000000 +0930 *************** *** 86,92 **** { int i; ! (void) nest_parse_args (argc, argv); (void) real_parse_args(argc,argv); --- 86,96 ---- { int i; ! #ifdef FOO ! extern FILE* alloc_log(FILE*); ! /***LEAK==INIT***/ ! alloc_log(fopen("./leak", "w")); ! #endif (void) nest_parse_args (argc, argv); (void) real_parse_args(argc,argv); *************** *** 125,132 **** --- 129,138 ---- { float ret; + hold (); ret = (float) ((float) (-1) * (log (1.0 - (double) RANDOM) * (float) (mean))); + release (); return ret; } *************** *** 189,206 **** else strcpy(in_file, argv[optind]); infilep = fopen((char *) in_file, "r"); if (!infilep) { ! sprintf(errstring, "Unable to find input file %s. Does it end with a .l?", in_file); ! pr_error(errstring); ! } ! fclose(stdin); ! ! /* set stdin to the input file, so that getc() in lex reads from this ! * file instead of from stdin */ ! ! *stdin = *infilep; ! for (i=0, j = outpathlen; i < infilelen && j < FILENAMELEN - 1; i++, j++) { switch(argv[optind][i]) --- 195,214 ---- else strcpy(in_file, argv[optind]); + #if 0 infilep = fopen((char *) in_file, "r"); if (!infilep) { ! sprintf(errstring, "Unable to find input file %s. Does it end with a .l?", in_file); ! pr_error(errstring); ! } ! fclose(stdin); ! *stdin = *infilep; ! #else ! if ((infilep = freopen(in_file, "r", stdin))==0) { ! sprintf(errstring, "Unable to find input file %s. Does it end with a .l?", in_file); ! pr_error(errstring); ! } ! #endif for (i=0, j = outpathlen; i < infilelen && j < FILENAMELEN - 1; i++, j++) { switch(argv[optind][i]) diff -c -r sim5.0/sim/kernel/symtab.c sim5.0-linux/sim/kernel/symtab.c *** sim5.0/sim/kernel/symtab.c 1997-08-15 07:29:10.000000000 +0930 --- sim5.0-linux/sim/kernel/symtab.c 2003-08-26 14:13:09.000000000 +0930 *************** *** 37,44 **** --- 37,46 ---- h = hash_create (MAX_NAMES, c_compare, c_hashfn); while (fscanf (f, "%lx %s", &address, name) != EOF) { + /***LEAK==INIT***/ s = (char *) malloc(100); strcpy(s, name); + /***LEAK==INIT***/ c = (char **) malloc ((unsigned)sizeof(char*)); *c = address; hash_insert(h, s, c); diff -c -r sim5.0/sim/kernel/types.h sim5.0-linux/sim/kernel/types.h *** sim5.0/sim/kernel/types.h 1997-06-17 02:53:45.000000000 +0930 --- sim5.0-linux/sim/kernel/types.h 2003-08-26 14:13:09.000000000 +0930 *************** *** 70,76 **** */ #define make_pkt(pkt)\ ! pkt = (PKT_PTR) malloc ((unsigned) sizeof (PKT)); \ if(pkt is NULL)\ pr_error("malloc failed in make_pkt"); \ pkt -> type = DATA; \ --- 70,76 ---- */ #define make_pkt(pkt)\ ! pkt = (PKT_PTR) malloc ((unsigned) sizeof (PKT)); /***LEAK***/ \ if(pkt is NULL)\ pr_error("malloc failed in make_pkt"); \ pkt -> type = DATA; \ diff -c -r sim5.0/sim/lang/lang.yacc sim5.0-linux/sim/lang/lang.yacc *** sim5.0/sim/lang/lang.yacc 1997-08-14 06:11:37.000000000 +0930 --- sim5.0-linux/sim/lang/lang.yacc 2003-08-26 14:13:09.000000000 +0930 *************** *** 101,109 **** --- 101,111 ---- %start network %% network : { /* defaults go here */ + /***LEAK***/ Sim_Graph = new(graph); Sim_Graph->flags = Nest_Flags; Sim_Graph->protocol = Nest_Graph; + /***LEAK***/ Sim_Graph -> header = new(grhead); Sim_Graph->header->wakeups.tv_sec= 0; Sim_Graph->header->wakeups.tv_usec= 0; *************** *** 326,331 **** --- 328,334 ---- ; chan_mon_filler : { + /***LEAK**/ nextfn = new(extfunc); nextfn->addr = tx_chan; Sim_Graph->header->chanfns = nextfn; *************** *** 344,350 **** /* hack - if this is not defined, put in a single node function, for something that will hopefully always be there i.e. main */ ! {nextfn = new(extfunc); nextfn->addr = put_address("main"); nextfn->next = nil; Sim_Graph->header->nodefns = nextfn;} --- 347,355 ---- /* hack - if this is not defined, put in a single node function, for something that will hopefully always be there i.e. main */ ! { ! /***LEAK***/ ! nextfn = new(extfunc); nextfn->addr = put_address("main"); nextfn->next = nil; Sim_Graph->header->nodefns = nextfn;} *************** *** 515,523 **** --- 520,530 ---- node : NODE NUMBER { + /***LEAK***/ newnode = new(grnode); node_table[$2] = newnode; nodeid = $2; + /***LEAK***/ newnode -> nodedata = new(grnodedat); newnode -> nodedata -> nodeid = $2; newnode -> nodedata -> function = d_node.nodefn; *************** *** 570,579 **** | interval | jitter | hrr_levels ! | sch_policy; ! | input_file; ! | class; ! | location; ; nodefn : FUNCTION '=' STRING --- 577,586 ---- | interval | jitter | hrr_levels ! | sch_policy ! | input_file ! | class ! | location ; nodefn : FUNCTION '=' STRING *************** *** 694,700 **** ; ! ; edges : EDGES '{' defaultedge edgelist '}' ; --- 701,707 ---- ; ! edges : EDGES '{' defaultedge edgelist '}' ; *************** *** 773,785 **** --- 780,795 ---- ; edge : { + /***LEAK***/ newedge = new(gredge); + /***LEAK***/ newedge->edgedata = new(gredgedat); newedge->edgedata->line_speed = d_edge.bandwidth; newedge->edgedata->loss_prob = d_edge.loss_prob; newedge->edgedata->corruption_prob = d_edge.corruption_prob; newedge->edgedata->loss_burst_size = d_edge.loss_burst_size; newedge->edgedata->weight =d_edge.latency; + /***LEAK***/ nextchan = new(struct cfunc); nextchan->addr = put_address(d_edge.chan); newedge ->edgedata->delete = false; diff -c -r sim5.0/sim/lang/lex.yy.c sim5.0-linux/sim/lang/lex.yy.c *** sim5.0/sim/lang/lex.yy.c 1997-07-18 04:28:46.000000000 +0930 --- sim5.0-linux/sim/lang/lex.yy.c 2003-08-26 14:20:49.000000000 +0930 *************** *** 1,2832 **** ! # include ! # define U(x) x ! # define NLSTATE yyprevious=YYNEWLINE ! # define BEGIN yybgin = yysvec + 1 + ! # define INITIAL 0 ! # define YYLERR yysvec ! # define YYSTATE (yyestate-yysvec-1) ! # define YYOPTIM 1 ! # define YYLMAX 200 ! # define output(c) (void)putc(c,yyout) ! #if defined(__cplusplus) || defined(__STDC__) ! #if defined(__cplusplus) && defined(__EXTERN_C__) ! extern "C" { ! #endif ! int yyback(int *, int); ! int yyinput(void); ! int yylook(void); ! void yyoutput(int); ! int yyracc(int); ! int yyreject(void); ! void yyunput(int); ! int yylex(void); ! #ifndef yyless ! void yyless(int); ! #endif ! #ifndef yywrap ! int yywrap(void); ! #endif ! #ifdef LEXDEBUG ! void allprint(char); ! void sprint(char *); #endif - #if defined(__cplusplus) && defined(__EXTERN_C__) - } #endif #endif ! # define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):getc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar) ! # define unput(c) {yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;} ! # define yymore() (yymorfg=1) ! # define ECHO (void)fprintf(yyout, "%s",yytext) ! # define REJECT { nstr = yyreject(); goto yyfussy;} ! int yyleng; extern char yytext[]; ! int yymorfg; ! extern char *yysptr, yysbuf[]; ! int yytchar; ! FILE *yyin = {stdin}, *yyout = {stdout}; extern int yylineno; ! struct yysvf { ! struct yywork *yystoff; ! struct yysvf *yyother; ! int *yystops;}; ! struct yysvf *yyestate; ! extern struct yysvf yysvec[], *yybgin; ! # define YYNEWLINE 10 ! yylex(){ ! int nstr; extern int yyprevious; ! while((nstr = yylook()) >= 0) ! yyfussy: switch(nstr){ ! case 0: ! if(yywrap()) return(0); break; ! case 1: - # line 4 "lang.lex" - {;} - break; - case 2: ! # line 5 "lang.lex" ! { ; } ! break; ! case 3: ! # line 6 "lang.lex" { return (NEST_PARAMS);} ! break; case 4: ! ! # line 7 "lang.lex" ! { return (HEADER);} ! break; case 5: ! ! # line 8 "lang.lex" ! { return (NETWORK);} ! break; case 6: ! ! # line 9 "lang.lex" ! { return (VERSION);} ! break; case 7: ! ! # line 10 "lang.lex" { return (PASSTIME);} ! break; case 8: ! ! # line 11 "lang.lex" ! { return (MAXNODES);} ! break; case 9: ! ! # line 12 "lang.lex" ! { return (MONITOR);} ! break; case 10: ! ! # line 13 "lang.lex" ! { return (NAME);} ! break; case 11: ! ! # line 14 "lang.lex" ! { return (FUNCTION);} ! break; case 12: ! ! # line 15 "lang.lex" ! { return (NODE);} ! break; case 13: ! ! # line 16 "lang.lex" ! { return (DEST );} ! break; case 14: ! ! # line 17 "lang.lex" ! { return (BANDWIDTH);} ! break; case 15: ! ! # line 18 "lang.lex" { return LOSS_PROB;} ! break; case 16: ! ! # line 19 "lang.lex" { return CORRUPTION_PROB;} ! break; case 17: ! ! # line 20 "lang.lex" { return LOSS_BURST_SIZE;} ! break; case 18: ! ! # line 21 "lang.lex" ! { return (PLOT);} ! break; case 19: ! ! # line 22 "lang.lex" { return (BROADCAST);} ! break; case 20: ! ! # line 23 "lang.lex" { return (POINT2POINT);} ! break; case 21: ! ! # line 24 "lang.lex" ! { return (LATENCY);} ! break; case 22: ! ! # line 25 "lang.lex" ! { return (CHANNEL_STACK);} ! break; case 23: ! ! # line 26 "lang.lex" ! {return ( NODE_FUNCTIONS );} ! break; case 24: ! ! # line 27 "lang.lex" ! {return ( MONITOR_FUNCTIONS);} ! break; case 25: ! ! # line 28 "lang.lex" ! {return ( CHANNEL_FUNCTIONS);} ! break; case 26: ! ! # line 29 "lang.lex" ! {return ( NODES);} ! break; case 27: ! ! # line 30 "lang.lex" ! {return ( EDGES);} ! break; case 28: ! ! # line 31 "lang.lex" {return REAL_PARAMS;} ! break; case 29: ! ! # line 32 "lang.lex" { return INTER_PKT_DELAY ;} ! break; case 30: ! ! # line 33 "lang.lex" ! { return ACK_SIZE ;} ! break; case 31: ! ! # line 34 "lang.lex" ! { return RANDOM_SEED ;} ! break; case 32: ! ! # line 35 "lang.lex" ! { return BUFFER_SIZE ;} ! break; case 33: ! ! # line 36 "lang.lex" ! { return TELNET_PKT_SIZE ;} ! break; case 34: ! ! # line 37 "lang.lex" ! { return FTP_PKT_SIZE ;} ! break; case 35: ! ! # line 38 "lang.lex" ! { return FTP_WINDOW ;} ! break; case 36: ! ! # line 39 "lang.lex" ! { return TELNET_WINDOW ;} ! break; case 37: ! ! # line 40 "lang.lex" ! { return DECONGESTION_MECHANISM ;} ! break; case 38: ! ! # line 41 "lang.lex" ! { return SCH_POLICY ;} ! break; case 39: ! ! # line 42 "lang.lex" { return ROUTER_NODE ;} ! break; case 40: ! ! # line 43 "lang.lex" { return REAL_NUMBER ;} ! break; case 41: ! ! # line 44 "lang.lex" { return PRINT_INTERVAL;} ! break; case 42: ! ! # line 45 "lang.lex" { return END_SIMULATION ;} ! break; case 43: ! ! # line 46 "lang.lex" ! { return DEFAULT ;} ! break; case 44: ! ! # line 47 "lang.lex" ! { return NUM_PKTS ;} ! break; case 45: ! ! # line 48 "lang.lex" ! { return ON_TIME; } ! break; case 46: ! ! # line 49 "lang.lex" ! { return OFF_TIME; } ! break; case 47: ! ! # line 50 "lang.lex" ! { return AVERAGE ; } ! break; case 48: ! ! # line 51 "lang.lex" ! { return PEAK ; } ! break; case 49: ! ! # line 52 "lang.lex" { return INTERVAL ;} ! break; case 50: ! ! # line 53 "lang.lex" ! { return JITTER ;} ! break; case 51: ! ! # line 54 "lang.lex" { return HRR_LEVELS; } ! break; case 52: ! ! # line 55 "lang.lex" { return START_TIME ;} ! break; case 53: ! ! # line 56 "lang.lex" { return SCALE_FACTOR; } ! break; case 54: ! ! # line 57 "lang.lex" ! { return INPUT_FILE; } ! break; case 55: ! ! # line 58 "lang.lex" ! { return UTIL_TIME;} ! break; case 56: ! ! # line 59 "lang.lex" ! { return CLASS;} ! break; case 57: ! ! # line 60 "lang.lex" { return (DIAMETER);} ! break; case 58: ! ! # line 61 "lang.lex" { return (LOCATION);} ! break; case 59: ! ! # line 62 "lang.lex" ! { yylval = 1; return (TRUE_OR_FALSE); } ! break; case 60: ! ! # line 65 "lang.lex" ! { yylval = 0; return (TRUE_OR_FALSE); } ! break; case 61: ! ! # line 69 "lang.lex" ! { return (TO) ; } ! break; case 62: ! ! # line 71 "lang.lex" { yylval = yytext; return (F_NUMBER); } ! break; case 63: ! ! # line 75 "lang.lex" ! { yylval = atoi(yytext); return (NUMBER); } ! break; case 64: ! ! # line 79 "lang.lex" ! { yylval = yytext; return (STRING); } ! break; case 65: ! # line 82 "lang.lex" ! return (* yytext); ! break; ! case -1: ! break; ! default: ! (void)fprintf(yyout,"bad switch yylook %d",nstr); ! } return(0); } ! /* end of yylex */ ! #define output(x) ! ! yywrap() ! { return 1;} ! int yyvstop[] = { ! 0, ! 65, ! 0, ! 2, ! 65, ! 0, ! ! 1, ! 65, ! 0, ! ! 65, ! 0, ! ! 64, ! 65, ! 0, ! ! 63, ! 65, ! 0, ! ! 64, ! 65, ! 0, ! ! 64, ! 65, ! 0, ! ! 64, ! 65, ! 0, ! ! 64, ! 65, ! 0, ! ! 64, ! 65, ! 0, ! ! 64, ! 65, ! 0, ! ! 64, ! 65, ! 0, ! ! 64, ! 65, ! 0, ! ! 64, ! 65, ! 0, ! ! 64, ! 65, ! 0, ! ! 64, ! 65, ! 0, ! ! 64, ! 65, ! 0, ! ! 64, ! 65, ! 0, ! ! 64, ! 65, ! 0, ! ! 64, ! 65, ! 0, ! ! 64, ! 65, ! 0, ! ! 64, ! 65, ! 0, ! ! 64, ! 65, ! 0, ! ! 64, ! 65, ! 0, ! ! 1, ! 0, ! ! 61, ! 0, ! ! 64, ! 0, ! ! 63, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 62, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 13, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 10, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 12, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 48, ! 64, ! 0, ! ! 18, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 59, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 56, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 27, ! 64, ! 0, ! ! 64, ! 0, ! ! 60, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 26, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 4, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 50, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 47, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 43, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 21, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 9, ! 64, ! 0, ! ! 64, ! 0, ! ! 5, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 45, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 6, ! 64, ! 0, ! ! 30, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 57, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 11, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 49, ! 64, ! 0, ! ! 58, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 8, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 44, ! 64, ! 0, ! ! 46, ! 64, ! 0, ! ! 7, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 14, ! 64, ! 0, ! ! 19, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 15, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 55, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 35, ! 64, ! 0, ! ! 51, ! 64, ! 0, ! ! 54, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 38, ! 64, ! 0, ! ! 52, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 32, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 3, ! 64, ! 0, ! ! 64, ! 0, ! ! 20, ! 64, ! 0, ! ! 64, ! 0, ! ! 31, ! 64, ! 0, ! ! 40, ! 64, ! 0, ! ! 28, ! 64, ! 0, ! ! 39, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 34, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 53, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 22, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 36, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 42, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 23, ! 64, ! 0, ! ! 41, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 16, ! 64, ! 0, ! ! 64, ! 0, ! ! 29, ! 64, ! 0, ! ! 17, ! 64, ! 0, ! ! 64, ! 0, ! ! 33, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 25, ! 64, ! 0, ! ! 64, ! 0, ! ! 24, ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 64, ! 0, ! ! 37, ! 64, ! 0, ! 0}; ! # define YYTYPE int ! struct yywork { YYTYPE verify, advance; } yycrank[] = { ! 0,0, 0,0, 1,3, 0,0, ! 0,0, 5,28, 0,0, 0,0, ! 0,0, 0,0, 1,4, 1,0, ! 28,0, 5,28, 5,0, 0,0, ! 0,0, 0,0, 0,0, 0,0, ! 0,0, 0,0, 0,0, 0,0, ! 0,0, 0,0, 0,0, 0,0, ! 0,0, 0,0, 0,0, 0,0, ! 0,0, 2,0, 0,0, 0,0, ! 1,5, 0,0, 0,0, 0,0, ! 0,0, 0,0, 0,0, 0,0, ! 0,0, 0,0, 1,6, 1,3, ! 1,7, 1,8, 5,28, 5,28, ! 5,28, 0,0, 0,0, 0,0, ! 0,0, 0,0, 2,5, 0,0, ! 0,0, 0,0, 0,0, 6,29, ! 0,0, 0,0, 0,0, 8,31, ! 2,6, 8,32, 8,32, 8,32, ! 8,32, 8,32, 8,32, 8,32, ! 8,32, 8,32, 8,32, 31,76, ! 31,76, 31,76, 31,76, 31,76, ! 31,76, 31,76, 31,76, 31,76, ! 31,76, 0,0, 0,0, 0,0, ! 0,0, 0,0, 0,0, 0,0, ! 0,0, 0,0, 1,9, 1,10, ! 1,11, 1,12, 1,13, 1,14, ! 12,41, 1,15, 1,16, 1,17, ! 12,42, 1,18, 1,19, 1,20, ! 1,21, 1,22, 16,50, 1,23, ! 1,24, 1,25, 1,26, 1,27, ! 2,9, 2,10, 2,11, 2,12, ! 2,13, 2,14, 17,51, 2,15, ! 2,16, 2,17, 26,74, 2,18, ! 2,19, 2,20, 2,21, 2,22, ! 9,33, 2,23, 2,24, 2,25, ! 2,26, 2,27, 7,30, 7,30, ! 7,30, 7,30, 7,30, 7,30, ! 7,30, 7,30, 7,30, 7,30, ! 7,30, 7,30, 27,75, 9,34, ! 33,77, 34,78, 35,79, 36,80, ! 37,81, 7,30, 7,30, 7,30, ! 7,30, 7,30, 7,30, 7,30, ! 7,30, 7,30, 7,30, 7,30, ! 7,30, 7,30, 7,30, 7,30, ! 7,30, 7,30, 7,30, 7,30, ! 7,30, 7,30, 7,30, 7,30, ! 7,30, 7,30, 7,30, 38,82, ! 39,83, 40,84, 42,88, 7,30, ! 43,89, 7,30, 7,30, 7,30, ! 7,30, 7,30, 7,30, 7,30, ! 7,30, 7,30, 7,30, 7,30, ! 7,30, 7,30, 7,30, 7,30, ! 7,30, 7,30, 7,30, 7,30, ! 7,30, 7,30, 7,30, 7,30, ! 7,30, 7,30, 7,30, 10,35, ! 11,38, 13,43, 14,45, 18,52, ! 11,39, 15,48, 19,54, 11,40, ! 24,70, 20,56, 44,90, 13,44, ! 45,91, 20,57, 46,92, 25,72, ! 10,36, 18,53, 15,49, 10,37, ! 19,55, 14,46, 14,47, 20,58, ! 21,60, 24,71, 22,62, 23,67, ! 25,73, 20,59, 22,63, 23,68, ! 21,61, 41,85, 47,93, 48,94, ! 41,86, 22,64, 49,95, 51,98, ! 22,65, 23,69, 50,96, 22,66, ! 52,99, 53,100, 50,97, 54,102, ! 55,103, 41,87, 56,104, 57,105, ! 57,106, 58,107, 59,108, 60,109, ! 61,110, 62,111, 63,112, 64,113, ! 65,114, 53,101, 66,115, 67,116, ! 68,117, 69,118, 70,119, 71,121, ! 72,122, 73,123, 74,124, 75,125, ! 77,126, 70,120, 78,127, 79,128, ! 80,129, 81,130, 82,131, 83,132, ! 84,133, 85,134, 86,135, 87,136, ! 88,137, 89,138, 90,139, 91,140, ! 92,141, 93,142, 94,143, 95,144, ! 96,145, 97,146, 98,147, 99,148, ! 100,149, 101,150, 102,151, 103,152, ! 104,153, 105,154, 106,155, 107,156, ! 108,157, 109,158, 110,159, 111,160, ! 112,161, 113,162, 114,163, 115,164, ! 116,165, 117,166, 118,167, 119,168, ! 120,169, 121,170, 122,171, 123,172, ! 124,173, 125,174, 126,175, 127,176, ! 128,177, 129,178, 130,179, 131,180, ! 132,181, 133,182, 134,183, 135,184, ! 137,185, 138,186, 139,187, 140,188, ! 141,189, 142,191, 143,192, 144,193, ! 145,194, 146,195, 147,196, 141,190, ! 148,197, 149,198, 150,199, 151,200, ! 152,201, 154,202, 155,203, 156,204, ! 157,206, 158,207, 159,208, 160,209, ! 163,210, 164,211, 165,212, 166,213, ! 167,214, 168,215, 169,216, 170,217, ! 171,218, 173,219, 174,220, 175,221, ! 176,222, 177,223, 178,224, 156,205, ! 179,225, 180,226, 182,227, 183,228, ! 184,229, 185,230, 187,231, 189,232, ! 190,233, 191,234, 192,235, 193,236, ! 194,237, 195,238, 196,240, 197,241, ! 198,242, 199,243, 200,245, 201,246, ! 202,247, 203,248, 204,249, 206,250, ! 207,251, 208,252, 209,253, 210,254, ! 211,255, 212,256, 213,257, 199,244, ! 213,258, 214,259, 215,260, 216,261, ! 195,239, 217,262, 218,263, 219,264, ! 220,265, 221,266, 222,267, 223,268, ! 224,269, 225,270, 226,271, 227,272, ! 228,273, 229,274, 230,275, 231,276, ! 232,277, 233,278, 234,279, 236,280, ! 237,281, 238,282, 239,283, 241,284, ! 242,285, 243,286, 244,287, 245,288, ! 246,289, 247,290, 248,291, 249,292, ! 250,293, 251,294, 252,295, 253,296, ! 254,297, 255,298, 256,299, 257,300, ! 258,301, 259,302, 260,303, 261,304, ! 262,305, 263,306, 264,307, 265,308, ! 266,309, 268,310, 269,311, 270,312, ! 271,313, 272,314, 273,315, 275,316, ! 276,317, 277,318, 278,319, 279,320, ! 280,321, 281,322, 282,323, 283,324, ! 285,325, 286,326, 287,327, 288,328, ! 289,329, 290,330, 292,331, 293,332, ! 294,333, 296,334, 297,335, 298,336, ! 299,337, 300,338, 301,339, 302,340, ! 303,341, 304,342, 305,343, 306,344, ! 307,346, 310,347, 311,348, 312,349, ! 313,350, 314,352, 306,345, 315,353, ! 317,354, 318,355, 319,356, 321,357, ! 322,358, 323,359, 326,360, 327,361, ! 329,362, 313,351, 330,363, 331,364, ! 335,365, 336,366, 337,367, 338,368, ! 339,369, 340,370, 341,371, 342,372, ! 343,373, 344,374, 345,375, 346,376, ! 349,377, 350,378, 351,379, 352,380, ! 353,381, 354,382, 355,383, 356,384, ! 357,385, 358,386, 359,387, 360,388, ! 362,389, 363,390, 364,391, 365,392, ! 366,393, 367,394, 368,395, 369,396, ! 370,397, 371,398, 372,399, 373,400, ! 374,401, 375,402, 377,403, 378,404, ! 379,405, 380,406, 381,407, 382,408, ! 383,409, 387,410, 388,411, 389,412, ! 390,413, 391,414, 392,415, 393,416, ! 394,417, 395,418, 396,419, 397,420, ! 398,421, 401,422, 402,423, 404,424, ! 405,425, 406,426, 407,427, 408,428, ! 409,429, 410,430, 411,431, 412,432, ! 414,433, 416,434, 421,435, 422,436, ! 423,437, 424,438, 425,439, 426,440, ! 427,441, 428,442, 430,443, 431,444, ! 432,445, 433,446, 434,447, 436,448, ! 437,449, 438,450, 440,451, 441,452, ! 442,453, 443,454, 444,455, 445,456, ! 446,457, 447,458, 448,459, 450,460, ! 451,461, 452,462, 454,463, 455,464, ! 456,465, 459,466, 460,467, 462,468, ! 465,469, 467,470, 468,471, 469,472, ! 471,473, 473,474, 474,475, 475,476, ! 476,477, 0,0, 0,0, 0,0, ! 0,0}; ! struct yysvf yysvec[] = { ! 0, 0, 0, ! yycrank+-1, 0, 0, ! yycrank+-23, yysvec+1, 0, ! yycrank+0, 0, yyvstop+1, ! yycrank+0, 0, yyvstop+3, ! yycrank+-4, 0, yyvstop+6, ! yycrank+1, 0, yyvstop+9, ! yycrank+96, 0, yyvstop+11, ! yycrank+21, 0, yyvstop+14, ! yycrank+37, yysvec+7, yyvstop+17, ! yycrank+122, yysvec+7, yyvstop+20, ! yycrank+116, yysvec+7, yyvstop+23, ! yycrank+3, yysvec+7, yyvstop+26, ! yycrank+121, yysvec+7, yyvstop+29, ! yycrank+125, yysvec+7, yyvstop+32, ! yycrank+124, yysvec+7, yyvstop+35, ! yycrank+4, yysvec+7, yyvstop+38, ! yycrank+21, yysvec+7, yyvstop+41, ! yycrank+126, yysvec+7, yyvstop+44, ! yycrank+129, yysvec+7, yyvstop+47, ! yycrank+132, yysvec+7, yyvstop+50, ! yycrank+142, yysvec+7, yyvstop+53, ! yycrank+149, yysvec+7, yyvstop+56, ! yycrank+150, yysvec+7, yyvstop+59, ! yycrank+129, yysvec+7, yyvstop+62, ! yycrank+134, yysvec+7, yyvstop+65, ! yycrank+14, yysvec+7, yyvstop+68, ! yycrank+53, yysvec+7, yyvstop+71, ! yycrank+-2, yysvec+5, yyvstop+74, ! yycrank+0, 0, yyvstop+76, ! yycrank+0, yysvec+7, yyvstop+78, ! yycrank+31, 0, 0, ! yycrank+0, yysvec+8, yyvstop+80, ! yycrank+49, yysvec+7, yyvstop+82, ! yycrank+56, yysvec+7, yyvstop+84, ! yycrank+48, yysvec+7, yyvstop+86, ! yycrank+48, yysvec+7, yyvstop+88, ! yycrank+58, yysvec+7, yyvstop+90, ! yycrank+90, yysvec+7, yyvstop+92, ! yycrank+91, yysvec+7, yyvstop+94, ! yycrank+75, yysvec+7, yyvstop+96, ! yycrank+154, yysvec+7, yyvstop+98, ! yycrank+93, yysvec+7, yyvstop+100, ! yycrank+89, yysvec+7, yyvstop+102, ! yycrank+130, yysvec+7, yyvstop+104, ! yycrank+124, yysvec+7, yyvstop+106, ! yycrank+122, yysvec+7, yyvstop+108, ! yycrank+144, yysvec+7, yyvstop+110, ! yycrank+158, yysvec+7, yyvstop+112, ! yycrank+144, yysvec+7, yyvstop+114, ! yycrank+150, yysvec+7, yyvstop+116, ! yycrank+143, yysvec+7, yyvstop+118, ! yycrank+148, yysvec+7, yyvstop+120, ! yycrank+166, yysvec+7, yyvstop+122, ! yycrank+147, yysvec+7, yyvstop+124, ! yycrank+158, yysvec+7, yyvstop+126, ! yycrank+161, yysvec+7, yyvstop+128, ! yycrank+156, yysvec+7, yyvstop+130, ! yycrank+173, yysvec+7, yyvstop+132, ! yycrank+165, yysvec+7, yyvstop+134, ! yycrank+173, yysvec+7, yyvstop+136, ! yycrank+181, yysvec+7, yyvstop+138, ! yycrank+162, yysvec+7, yyvstop+140, ! yycrank+181, yysvec+7, yyvstop+142, ! yycrank+168, yysvec+7, yyvstop+144, ! yycrank+175, yysvec+7, yyvstop+146, ! yycrank+177, yysvec+7, yyvstop+148, ! yycrank+173, yysvec+7, yyvstop+150, ! yycrank+187, yysvec+7, yyvstop+152, ! yycrank+168, yysvec+7, yyvstop+154, ! yycrank+189, yysvec+7, yyvstop+156, ! yycrank+190, yysvec+7, yyvstop+158, ! yycrank+180, yysvec+7, yyvstop+160, ! yycrank+172, yysvec+7, yyvstop+162, ! yycrank+185, yysvec+7, yyvstop+164, ! yycrank+177, yysvec+7, yyvstop+166, ! yycrank+0, yysvec+31, yyvstop+168, ! yycrank+197, yysvec+7, yyvstop+170, ! yycrank+180, yysvec+7, yyvstop+172, ! yycrank+195, yysvec+7, yyvstop+174, ! yycrank+199, yysvec+7, yyvstop+176, ! yycrank+195, yysvec+7, yyvstop+178, ! yycrank+188, yysvec+7, yyvstop+180, ! yycrank+184, yysvec+7, yyvstop+182, ! yycrank+186, yysvec+7, yyvstop+184, ! yycrank+190, yysvec+7, yyvstop+186, ! yycrank+205, yysvec+7, yyvstop+188, ! yycrank+187, yysvec+7, yyvstop+190, ! yycrank+195, yysvec+7, yyvstop+192, ! yycrank+204, yysvec+7, yyvstop+194, ! yycrank+211, yysvec+7, yyvstop+196, ! yycrank+192, yysvec+7, yyvstop+198, ! yycrank+213, yysvec+7, yyvstop+200, ! yycrank+210, yysvec+7, yyvstop+202, ! yycrank+210, yysvec+7, yyvstop+204, ! yycrank+216, yysvec+7, yyvstop+206, ! yycrank+195, yysvec+7, yyvstop+208, ! yycrank+212, yysvec+7, yyvstop+210, ! yycrank+198, yysvec+7, yyvstop+212, ! yycrank+214, yysvec+7, yyvstop+214, ! yycrank+219, yysvec+7, yyvstop+216, ! yycrank+202, yysvec+7, yyvstop+218, ! yycrank+208, yysvec+7, yyvstop+220, ! yycrank+214, yysvec+7, yyvstop+222, ! yycrank+219, yysvec+7, yyvstop+224, ! yycrank+205, yysvec+7, yyvstop+226, ! yycrank+203, yysvec+7, yyvstop+228, ! yycrank+222, yysvec+7, yyvstop+230, ! yycrank+229, yysvec+7, yyvstop+232, ! yycrank+230, yysvec+7, yyvstop+234, ! yycrank+210, yysvec+7, yyvstop+236, ! yycrank+212, yysvec+7, yyvstop+238, ! yycrank+221, yysvec+7, yyvstop+240, ! yycrank+213, yysvec+7, yyvstop+242, ! yycrank+220, yysvec+7, yyvstop+244, ! yycrank+221, yysvec+7, yyvstop+246, ! yycrank+232, yysvec+7, yyvstop+248, ! yycrank+225, yysvec+7, yyvstop+250, ! yycrank+218, yysvec+7, yyvstop+252, ! yycrank+227, yysvec+7, yyvstop+254, ! yycrank+241, yysvec+7, yyvstop+256, ! yycrank+223, yysvec+7, yyvstop+258, ! yycrank+228, yysvec+7, yyvstop+260, ! yycrank+238, yysvec+7, yyvstop+262, ! yycrank+232, yysvec+7, yyvstop+264, ! yycrank+226, yysvec+7, yyvstop+266, ! yycrank+227, yysvec+7, yyvstop+268, ! yycrank+246, yysvec+7, yyvstop+270, ! yycrank+225, yysvec+7, yyvstop+272, ! yycrank+245, yysvec+7, yyvstop+274, ! yycrank+245, yysvec+7, yyvstop+276, ! yycrank+237, yysvec+7, yyvstop+278, ! yycrank+233, yysvec+7, yyvstop+280, ! yycrank+232, yysvec+7, yyvstop+282, ! yycrank+240, yysvec+7, yyvstop+284, ! yycrank+234, yysvec+7, yyvstop+286, ! yycrank+0, yysvec+7, yyvstop+288, ! yycrank+251, yysvec+7, yyvstop+291, ! yycrank+238, yysvec+7, yyvstop+293, ! yycrank+239, yysvec+7, yyvstop+295, ! yycrank+254, yysvec+7, yyvstop+297, ! yycrank+244, yysvec+7, yyvstop+299, ! yycrank+241, yysvec+7, yyvstop+301, ! yycrank+257, yysvec+7, yyvstop+303, ! yycrank+251, yysvec+7, yyvstop+305, ! yycrank+244, yysvec+7, yyvstop+307, ! yycrank+247, yysvec+7, yyvstop+309, ! yycrank+261, yysvec+7, yyvstop+311, ! yycrank+254, yysvec+7, yyvstop+313, ! yycrank+249, yysvec+7, yyvstop+315, ! yycrank+271, yysvec+7, yyvstop+317, ! yycrank+256, yysvec+7, yyvstop+319, ! yycrank+252, yysvec+7, yyvstop+321, ! yycrank+0, yysvec+7, yyvstop+323, ! yycrank+274, yysvec+7, yyvstop+326, ! yycrank+259, yysvec+7, yyvstop+328, ! yycrank+276, yysvec+7, yyvstop+330, ! yycrank+260, yysvec+7, yyvstop+333, ! yycrank+257, yysvec+7, yyvstop+335, ! yycrank+269, yysvec+7, yyvstop+337, ! yycrank+259, yysvec+7, yyvstop+339, ! yycrank+0, yysvec+7, yyvstop+341, ! yycrank+0, yysvec+7, yyvstop+344, ! yycrank+260, yysvec+7, yyvstop+347, ! yycrank+261, yysvec+7, yyvstop+349, ! yycrank+267, yysvec+7, yyvstop+351, ! yycrank+284, yysvec+7, yyvstop+353, ! yycrank+279, yysvec+7, yyvstop+355, ! yycrank+280, yysvec+7, yyvstop+357, ! yycrank+270, yysvec+7, yyvstop+359, ! yycrank+267, yysvec+7, yyvstop+361, ! yycrank+283, yysvec+7, yyvstop+363, ! yycrank+0, yysvec+7, yyvstop+365, ! yycrank+290, yysvec+7, yyvstop+368, ! yycrank+281, yysvec+7, yyvstop+370, ! yycrank+282, yysvec+7, yyvstop+372, ! yycrank+285, yysvec+7, yyvstop+374, ! yycrank+284, yysvec+7, yyvstop+376, ! yycrank+291, yysvec+7, yyvstop+378, ! yycrank+278, yysvec+7, yyvstop+380, ! yycrank+292, yysvec+7, yyvstop+382, ! yycrank+0, yysvec+7, yyvstop+384, ! yycrank+282, yysvec+7, yyvstop+387, ! yycrank+292, yysvec+7, yyvstop+389, ! yycrank+288, yysvec+7, yyvstop+391, ! yycrank+281, yysvec+7, yyvstop+393, ! yycrank+0, yysvec+7, yyvstop+395, ! yycrank+293, yysvec+7, yyvstop+398, ! yycrank+0, yysvec+7, yyvstop+400, ! yycrank+292, yysvec+7, yyvstop+403, ! yycrank+295, yysvec+7, yyvstop+405, ! yycrank+296, yysvec+7, yyvstop+407, ! yycrank+288, yysvec+7, yyvstop+409, ! yycrank+302, yysvec+7, yyvstop+411, ! yycrank+309, yysvec+7, yyvstop+413, ! yycrank+310, yysvec+7, yyvstop+415, ! yycrank+292, yysvec+7, yyvstop+417, ! yycrank+308, yysvec+7, yyvstop+419, ! yycrank+303, yysvec+7, yyvstop+421, ! yycrank+311, yysvec+7, yyvstop+423, ! yycrank+310, yysvec+7, yyvstop+425, ! yycrank+300, yysvec+7, yyvstop+427, ! yycrank+300, yysvec+7, yyvstop+429, ! yycrank+299, yysvec+7, yyvstop+431, ! yycrank+312, yysvec+7, yyvstop+433, ! yycrank+0, yysvec+7, yyvstop+435, ! yycrank+308, yysvec+7, yyvstop+438, ! yycrank+311, yysvec+7, yyvstop+440, ! yycrank+308, yysvec+7, yyvstop+442, ! yycrank+313, yysvec+7, yyvstop+444, ! yycrank+369, yysvec+7, yyvstop+446, ! yycrank+325, yysvec+7, yyvstop+448, ! yycrank+312, yysvec+7, yyvstop+450, ! yycrank+312, yysvec+7, yyvstop+452, ! yycrank+311, yysvec+7, yyvstop+454, ! yycrank+331, yysvec+7, yyvstop+456, ! yycrank+316, yysvec+7, yyvstop+458, ! yycrank+334, yysvec+7, yyvstop+460, ! yycrank+314, yysvec+7, yyvstop+462, ! yycrank+315, yysvec+7, yyvstop+464, ! yycrank+321, yysvec+7, yyvstop+466, ! yycrank+311, yysvec+7, yyvstop+468, ! yycrank+333, yysvec+7, yyvstop+470, ! yycrank+335, yysvec+7, yyvstop+472, ! yycrank+339, yysvec+7, yyvstop+474, ! yycrank+342, yysvec+7, yyvstop+476, ! yycrank+330, yysvec+7, yyvstop+478, ! yycrank+323, yysvec+7, yyvstop+480, ! yycrank+339, yysvec+7, yyvstop+482, ! yycrank+325, yysvec+7, yyvstop+484, ! yycrank+341, yysvec+7, yyvstop+486, ! yycrank+334, yysvec+7, yyvstop+488, ! yycrank+328, yysvec+7, yyvstop+490, ! yycrank+335, yysvec+7, yyvstop+492, ! yycrank+335, yysvec+7, yyvstop+494, ! yycrank+0, yysvec+7, yyvstop+496, ! yycrank+329, yysvec+7, yyvstop+499, ! yycrank+346, yysvec+7, yyvstop+501, ! yycrank+337, yysvec+7, yyvstop+503, ! yycrank+353, yysvec+7, yyvstop+505, ! yycrank+0, yysvec+7, yyvstop+507, ! yycrank+330, yysvec+7, yyvstop+510, ! yycrank+341, yysvec+7, yyvstop+512, ! yycrank+336, yysvec+7, yyvstop+514, ! yycrank+340, yysvec+7, yyvstop+516, ! yycrank+354, yysvec+7, yyvstop+518, ! yycrank+342, yysvec+7, yyvstop+520, ! yycrank+360, yysvec+7, yyvstop+522, ! yycrank+351, yysvec+7, yyvstop+524, ! yycrank+342, yysvec+7, yyvstop+526, ! yycrank+344, yysvec+7, yyvstop+528, ! yycrank+352, yysvec+7, yyvstop+530, ! yycrank+361, yysvec+7, yyvstop+532, ! yycrank+354, yysvec+7, yyvstop+534, ! yycrank+352, yysvec+7, yyvstop+536, ! yycrank+360, yysvec+7, yyvstop+538, ! yycrank+371, yysvec+7, yyvstop+540, ! yycrank+350, yysvec+7, yyvstop+542, ! yycrank+371, yysvec+7, yyvstop+544, ! yycrank+374, yysvec+7, yyvstop+546, ! yycrank+368, yysvec+7, yyvstop+548, ! yycrank+363, yysvec+7, yyvstop+550, ! yycrank+356, yysvec+7, yyvstop+552, ! yycrank+378, yysvec+7, yyvstop+554, ! yycrank+369, yysvec+7, yyvstop+556, ! yycrank+365, yysvec+7, yyvstop+558, ! yycrank+375, yysvec+7, yyvstop+560, ! yycrank+0, yysvec+7, yyvstop+562, ! yycrank+361, yysvec+7, yyvstop+565, ! yycrank+363, yysvec+7, yyvstop+567, ! yycrank+364, yysvec+7, yyvstop+569, ! yycrank+385, yysvec+7, yyvstop+571, ! yycrank+376, yysvec+7, yyvstop+573, ! yycrank+367, yysvec+7, yyvstop+575, ! yycrank+0, yysvec+7, yyvstop+577, ! yycrank+369, yysvec+7, yyvstop+580, ! yycrank+367, yysvec+7, yyvstop+582, ! yycrank+390, yysvec+7, yyvstop+584, ! yycrank+386, yysvec+7, yyvstop+586, ! yycrank+377, yysvec+7, yyvstop+588, ! yycrank+387, yysvec+7, yyvstop+590, ! yycrank+384, yysvec+7, yyvstop+592, ! yycrank+383, yysvec+7, yyvstop+594, ! yycrank+383, yysvec+7, yyvstop+596, ! yycrank+0, yysvec+7, yyvstop+598, ! yycrank+382, yysvec+7, yyvstop+601, ! yycrank+379, yysvec+7, yyvstop+603, ! yycrank+383, yysvec+7, yyvstop+605, ! yycrank+380, yysvec+7, yyvstop+607, ! yycrank+401, yysvec+7, yyvstop+609, ! yycrank+383, yysvec+7, yyvstop+612, ! yycrank+0, yysvec+7, yyvstop+614, ! yycrank+388, yysvec+7, yyvstop+617, ! yycrank+384, yysvec+7, yyvstop+619, ! yycrank+399, yysvec+7, yyvstop+621, ! yycrank+0, yysvec+7, yyvstop+623, ! yycrank+400, yysvec+7, yyvstop+626, ! yycrank+391, yysvec+7, yyvstop+628, ! yycrank+393, yysvec+7, yyvstop+630, ! yycrank+389, yysvec+7, yyvstop+632, ! yycrank+396, yysvec+7, yyvstop+634, ! yycrank+392, yysvec+7, yyvstop+636, ! yycrank+397, yysvec+7, yyvstop+638, ! yycrank+411, yysvec+7, yyvstop+640, ! yycrank+404, yysvec+7, yyvstop+642, ! yycrank+405, yysvec+7, yyvstop+644, ! yycrank+399, yysvec+7, yyvstop+646, ! yycrank+403, yysvec+7, yyvstop+648, ! yycrank+0, yysvec+7, yyvstop+650, ! yycrank+0, yysvec+7, yyvstop+653, ! yycrank+409, yysvec+7, yyvstop+656, ! yycrank+398, yysvec+7, yyvstop+658, ! yycrank+410, yysvec+7, yyvstop+660, ! yycrank+414, yysvec+7, yyvstop+662, ! yycrank+406, yysvec+7, yyvstop+664, ! yycrank+403, yysvec+7, yyvstop+666, ! yycrank+0, yysvec+7, yyvstop+668, ! yycrank+412, yysvec+7, yyvstop+671, ! yycrank+406, yysvec+7, yyvstop+673, ! yycrank+411, yysvec+7, yyvstop+675, ! yycrank+0, yysvec+7, yyvstop+677, ! yycrank+415, yysvec+7, yyvstop+680, ! yycrank+416, yysvec+7, yyvstop+682, ! yycrank+409, yysvec+7, yyvstop+684, ! yycrank+0, yysvec+7, yyvstop+686, ! yycrank+0, yysvec+7, yyvstop+689, ! yycrank+411, yysvec+7, yyvstop+692, ! yycrank+429, yysvec+7, yyvstop+694, ! yycrank+0, yysvec+7, yyvstop+696, ! yycrank+426, yysvec+7, yyvstop+699, ! yycrank+433, yysvec+7, yyvstop+701, ! yycrank+432, yysvec+7, yyvstop+703, ! yycrank+0, yysvec+7, yyvstop+705, ! yycrank+0, yysvec+7, yyvstop+708, ! yycrank+0, yysvec+7, yyvstop+711, ! yycrank+427, yysvec+7, yyvstop+714, ! yycrank+417, yysvec+7, yyvstop+716, ! yycrank+433, yysvec+7, yyvstop+718, ! yycrank+437, yysvec+7, yyvstop+720, ! yycrank+439, yysvec+7, yyvstop+722, ! yycrank+426, yysvec+7, yyvstop+724, ! yycrank+439, yysvec+7, yyvstop+726, ! yycrank+440, yysvec+7, yyvstop+728, ! yycrank+431, yysvec+7, yyvstop+730, ! yycrank+434, yysvec+7, yyvstop+732, ! yycrank+437, yysvec+7, yyvstop+734, ! yycrank+442, yysvec+7, yyvstop+736, ! yycrank+0, yysvec+7, yyvstop+738, ! yycrank+0, yysvec+7, yyvstop+741, ! yycrank+422, yysvec+7, yyvstop+744, ! yycrank+428, yysvec+7, yyvstop+746, ! yycrank+430, yysvec+7, yyvstop+748, ! yycrank+437, yysvec+7, yyvstop+750, ! yycrank+443, yysvec+7, yyvstop+752, ! yycrank+452, yysvec+7, yyvstop+754, ! yycrank+445, yysvec+7, yyvstop+756, ! yycrank+432, yysvec+7, yyvstop+758, ! yycrank+437, yysvec+7, yyvstop+760, ! yycrank+452, yysvec+7, yyvstop+762, ! yycrank+459, yysvec+7, yyvstop+764, ! yycrank+439, yysvec+7, yyvstop+766, ! yycrank+0, yysvec+7, yyvstop+768, ! yycrank+439, yysvec+7, yyvstop+771, ! yycrank+448, yysvec+7, yyvstop+773, ! yycrank+442, yysvec+7, yyvstop+775, ! yycrank+449, yysvec+7, yyvstop+777, ! yycrank+459, yysvec+7, yyvstop+779, ! yycrank+460, yysvec+7, yyvstop+781, ! yycrank+461, yysvec+7, yyvstop+783, ! yycrank+454, yysvec+7, yyvstop+785, ! yycrank+464, yysvec+7, yyvstop+787, ! yycrank+449, yysvec+7, yyvstop+789, ! yycrank+445, yysvec+7, yyvstop+791, ! yycrank+466, yysvec+7, yyvstop+793, ! yycrank+452, yysvec+7, yyvstop+795, ! yycrank+459, yysvec+7, yyvstop+797, ! yycrank+0, yysvec+7, yyvstop+799, ! yycrank+469, yysvec+7, yyvstop+802, ! yycrank+461, yysvec+7, yyvstop+804, ! yycrank+475, yysvec+7, yyvstop+806, ! yycrank+478, yysvec+7, yyvstop+808, ! yycrank+463, yysvec+7, yyvstop+810, ! yycrank+459, yysvec+7, yyvstop+812, ! yycrank+454, yysvec+7, yyvstop+814, ! yycrank+0, yysvec+7, yyvstop+816, ! yycrank+0, yysvec+7, yyvstop+819, ! yycrank+0, yysvec+7, yyvstop+822, ! yycrank+477, yysvec+7, yyvstop+825, ! yycrank+483, yysvec+7, yyvstop+827, ! yycrank+469, yysvec+7, yyvstop+829, ! yycrank+465, yysvec+7, yyvstop+831, ! yycrank+476, yysvec+7, yyvstop+833, ! yycrank+466, yysvec+7, yyvstop+835, ! yycrank+469, yysvec+7, yyvstop+837, ! yycrank+484, yysvec+7, yyvstop+839, ! yycrank+471, yysvec+7, yyvstop+841, ! yycrank+471, yysvec+7, yyvstop+843, ! yycrank+486, yysvec+7, yyvstop+845, ! yycrank+477, yysvec+7, yyvstop+847, ! yycrank+0, yysvec+7, yyvstop+849, ! yycrank+0, yysvec+7, yyvstop+852, ! yycrank+494, yysvec+7, yyvstop+855, ! yycrank+490, yysvec+7, yyvstop+857, ! yycrank+0, yysvec+7, yyvstop+859, ! yycrank+492, yysvec+7, yyvstop+862, ! yycrank+493, yysvec+7, yyvstop+864, ! yycrank+481, yysvec+7, yyvstop+866, ! yycrank+484, yysvec+7, yyvstop+868, ! yycrank+490, yysvec+7, yyvstop+870, ! yycrank+495, yysvec+7, yyvstop+872, ! yycrank+496, yysvec+7, yyvstop+874, ! yycrank+483, yysvec+7, yyvstop+876, ! yycrank+500, yysvec+7, yyvstop+878, ! yycrank+0, yysvec+7, yyvstop+880, ! yycrank+489, yysvec+7, yyvstop+883, ! yycrank+0, yysvec+7, yyvstop+885, ! yycrank+483, yysvec+7, yyvstop+888, ! yycrank+0, yysvec+7, yyvstop+890, ! yycrank+0, yysvec+7, yyvstop+893, ! yycrank+0, yysvec+7, yyvstop+896, ! yycrank+0, yysvec+7, yyvstop+899, ! yycrank+488, yysvec+7, yyvstop+902, ! yycrank+488, yysvec+7, yyvstop+904, ! yycrank+493, yysvec+7, yyvstop+906, ! yycrank+489, yysvec+7, yyvstop+908, ! yycrank+499, yysvec+7, yyvstop+910, ! yycrank+493, yysvec+7, yyvstop+912, ! yycrank+513, yysvec+7, yyvstop+914, ! yycrank+498, yysvec+7, yyvstop+916, ! yycrank+0, yysvec+7, yyvstop+918, ! yycrank+502, yysvec+7, yyvstop+921, ! yycrank+506, yysvec+7, yyvstop+923, ! yycrank+496, yysvec+7, yyvstop+925, ! yycrank+503, yysvec+7, yyvstop+927, ! yycrank+517, yysvec+7, yyvstop+929, ! yycrank+0, yysvec+7, yyvstop+931, ! yycrank+510, yysvec+7, yyvstop+934, ! yycrank+497, yysvec+7, yyvstop+936, ! yycrank+512, yysvec+7, yyvstop+938, ! yycrank+0, yysvec+7, yyvstop+940, ! yycrank+507, yysvec+7, yyvstop+943, ! yycrank+510, yysvec+7, yyvstop+945, ! yycrank+510, yysvec+7, yyvstop+947, ! yycrank+524, yysvec+7, yyvstop+949, ! yycrank+500, yysvec+7, yyvstop+951, ! yycrank+518, yysvec+7, yyvstop+953, ! yycrank+509, yysvec+7, yyvstop+955, ! yycrank+517, yysvec+7, yyvstop+957, ! yycrank+504, yysvec+7, yyvstop+959, ! yycrank+0, yysvec+7, yyvstop+961, ! yycrank+516, yysvec+7, yyvstop+964, ! yycrank+530, yysvec+7, yyvstop+966, ! yycrank+528, yysvec+7, yyvstop+968, ! yycrank+0, yysvec+7, yyvstop+970, ! yycrank+509, yysvec+7, yyvstop+973, ! yycrank+530, yysvec+7, yyvstop+975, ! yycrank+521, yysvec+7, yyvstop+977, ! yycrank+0, yysvec+7, yyvstop+979, ! yycrank+0, yysvec+7, yyvstop+982, ! yycrank+532, yysvec+7, yyvstop+985, ! yycrank+524, yysvec+7, yyvstop+987, ! yycrank+0, yysvec+7, yyvstop+989, ! yycrank+536, yysvec+7, yyvstop+992, ! yycrank+0, yysvec+7, yyvstop+994, ! yycrank+0, yysvec+7, yyvstop+997, ! yycrank+526, yysvec+7, yyvstop+1000, ! yycrank+0, yysvec+7, yyvstop+1002, ! yycrank+522, yysvec+7, yyvstop+1005, ! yycrank+534, yysvec+7, yyvstop+1007, ! yycrank+524, yysvec+7, yyvstop+1009, ! yycrank+0, yysvec+7, yyvstop+1011, ! yycrank+543, yysvec+7, yyvstop+1014, ! yycrank+0, yysvec+7, yyvstop+1016, ! yycrank+531, yysvec+7, yyvstop+1019, ! yycrank+537, yysvec+7, yyvstop+1021, ! yycrank+528, yysvec+7, yyvstop+1023, ! yycrank+535, yysvec+7, yyvstop+1025, ! yycrank+0, yysvec+7, yyvstop+1027, ! 0, 0, 0}; ! struct yywork *yytop = yycrank+644; ! struct yysvf *yybgin = yysvec+1; ! char yymatch[] = { ! 00 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 01 ,011 ,012 ,01 ,01 ,01 ,01 ,01 , ! 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 011 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 01 ,01 ,01 ,01 ,01 ,01 ,'.' ,'/' , ! '0' ,'0' ,'0' ,'0' ,'0' ,'0' ,'0' ,'0' , ! '0' ,'0' ,01 ,01 ,01 ,01 ,01 ,01 , ! 01 ,'/' ,'/' ,'/' ,'/' ,'/' ,'/' ,'/' , ! '/' ,'/' ,'/' ,'/' ,'/' ,'/' ,'/' ,'/' , ! '/' ,'/' ,'/' ,'/' ,'/' ,'/' ,'/' ,'/' , ! '/' ,'/' ,'/' ,01 ,01 ,01 ,01 ,'/' , ! 01 ,'/' ,'/' ,'/' ,'/' ,'/' ,'/' ,'/' , ! '/' ,'/' ,'/' ,'/' ,'/' ,'/' ,'/' ,'/' , ! '/' ,'/' ,'/' ,'/' ,'/' ,'/' ,'/' ,'/' , ! '/' ,'/' ,'/' ,01 ,01 ,01 ,01 ,01 , ! 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 0}; ! char yyextra[] = { ! 0,0,0,0,0,0,0,0, ! 0,0,0,0,0,0,0,0, ! 0,0,0,0,0,0,0,0, ! 0,0,0,0,0,0,0,0, ! 0,0,0,0,0,0,0,0, ! 0,0,0,0,0,0,0,0, ! 0,0,0,0,0,0,0,0, ! 0,0,0,0,0,0,0,0, ! 0,0,0,0,0,0,0,0, ! 0}; ! /* Copyright (c) 1989 AT&T */ ! /* All Rights Reserved */ ! ! /* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */ ! /* The copyright notice above does not evidence any */ ! /* actual or intended publication of such source code. */ ! ! #ident "@(#)ncform 6.4 92/06/19 SMI" ! ! int yylineno =1; ! # define YYU(x) x ! # define NLSTATE yyprevious=YYNEWLINE ! char yytext[YYLMAX]; ! struct yysvf *yylstate [YYLMAX], **yylsp, **yyolsp; ! char yysbuf[YYLMAX]; ! char *yysptr = yysbuf; ! int *yyfnd; ! extern struct yysvf *yyestate; ! int yyprevious = YYNEWLINE; ! #if defined(__cplusplus) || defined(__STDC__) ! int yylook(void) ! #else ! yylook() ! #endif ! { ! register struct yysvf *yystate, **lsp; ! register struct yywork *yyt; ! struct yysvf *yyz; ! int yych, yyfirst; ! struct yywork *yyr; ! # ifdef LEXDEBUG ! int debug; ! # endif ! char *yylastch; ! /* start off machines */ ! # ifdef LEXDEBUG ! debug = 0; ! # endif ! yyfirst=1; ! if (!yymorfg) ! yylastch = yytext; ! else { ! yymorfg=0; ! yylastch = yytext+yyleng; ! } ! for(;;){ ! lsp = yylstate; ! yyestate = yystate = yybgin; ! if (yyprevious==YYNEWLINE) yystate++; ! for (;;){ ! # ifdef LEXDEBUG ! if(debug)fprintf(yyout,"state %d\n",yystate-yysvec-1); ! # endif ! yyt = yystate->yystoff; ! if(yyt == yycrank && !yyfirst){ /* may not be any transitions */ ! yyz = yystate->yyother; ! if(yyz == 0)break; ! if(yyz->yystoff == yycrank)break; } - *yylastch++ = yych = input(); - if(yylastch > &yytext[YYLMAX]) { - fprintf(yyout,"Input string too long, limit %d\n",YYLMAX); - exit(1); } ! yyfirst=0; ! tryagain: ! # ifdef LEXDEBUG ! if(debug){ ! fprintf(yyout,"char "); ! allprint(yych); ! putchar('\n'); ! } ! # endif ! yyr = yyt; ! if ( (int)yyt > (int)yycrank){ ! yyt = yyr + yych; ! if (yyt <= yytop && yyt->verify+yysvec == yystate){ ! if(yyt->advance+yysvec == YYLERR) /* error transitions */ ! {unput(*--yylastch);break;} ! *lsp++ = yystate = yyt->advance+yysvec; ! if(lsp > &yylstate[YYLMAX]) { ! fprintf(yyout,"Input string too long, limit %d\n",YYLMAX); ! exit(1); ! } ! goto contin; ! } ! } ! # ifdef YYOPTIM ! else if((int)yyt < (int)yycrank) { /* r < yycrank */ ! yyt = yyr = yycrank+(yycrank-yyt); ! # ifdef LEXDEBUG ! if(debug)fprintf(yyout,"compressed state\n"); ! # endif ! yyt = yyt + yych; ! if(yyt <= yytop && yyt->verify+yysvec == yystate){ ! if(yyt->advance+yysvec == YYLERR) /* error transitions */ ! {unput(*--yylastch);break;} ! *lsp++ = yystate = yyt->advance+yysvec; ! if(lsp > &yylstate[YYLMAX]) { ! fprintf(yyout,"Input string too long, limit %d\n",YYLMAX); ! exit(1); ! } ! goto contin; ! } ! yyt = yyr + YYU(yymatch[yych]); ! # ifdef LEXDEBUG ! if(debug){ ! fprintf(yyout,"try fall back character "); ! allprint(YYU(yymatch[yych])); ! putchar('\n'); ! } ! # endif ! if(yyt <= yytop && yyt->verify+yysvec == yystate){ ! if(yyt->advance+yysvec == YYLERR) /* error transition */ ! {unput(*--yylastch);break;} ! *lsp++ = yystate = yyt->advance+yysvec; ! if(lsp > &yylstate[YYLMAX]) { ! fprintf(yyout,"Input string too long, limit %d\n",YYLMAX); ! exit(1); } ! goto contin; } } ! if ((yystate = yystate->yyother) && (yyt= yystate->yystoff) != yycrank){ ! # ifdef LEXDEBUG ! if(debug)fprintf(yyout,"fall back to state %d\n",yystate-yysvec-1); ! # endif ! goto tryagain; } - # endif else ! {unput(*--yylastch);break;} ! contin: ! # ifdef LEXDEBUG ! if(debug){ ! fprintf(yyout,"state %d char ",yystate-yysvec-1); ! allprint(yych); ! putchar('\n'); ! } ! # endif ! ; } ! # ifdef LEXDEBUG ! if(debug){ ! fprintf(yyout,"stopped at %d with ",*(lsp-1)-yysvec-1); ! allprint(yych); ! putchar('\n'); } ! # endif ! while (lsp-- > yylstate){ ! *yylastch-- = 0; ! if (*lsp != 0 && (yyfnd= (*lsp)->yystops) && *yyfnd > 0){ ! yyolsp = lsp; ! if(yyextra[*yyfnd]){ /* must backup */ ! while(yyback((*lsp)->yystops,-*yyfnd) != 1 && lsp > yylstate){ ! lsp--; ! unput(*yylastch--); ! } ! } ! yyprevious = YYU(*yylastch); ! yylsp = lsp; ! yyleng = yylastch-yytext+1; ! yytext[yyleng] = 0; ! # ifdef LEXDEBUG ! if(debug){ ! fprintf(yyout,"\nmatch "); ! sprint(yytext); ! fprintf(yyout," action %d\n",*yyfnd); ! } ! # endif ! return(*yyfnd++); ! } ! unput(*yylastch); } ! if (yytext[0] == 0 /* && feof(yyin) */) { ! yysptr=yysbuf; ! return(0); } ! yyprevious = yytext[0] = input(); ! if (yyprevious>0) ! output(yyprevious); ! yylastch=yytext; ! # ifdef LEXDEBUG ! if(debug)putchar('\n'); ! # endif } } ! #if defined(__cplusplus) || defined(__STDC__) ! int yyback(int *p, int m) #else ! yyback(p, m) ! int *p; #endif ! { ! if (p==0) return(0); ! while (*p) { ! if (*p++ == m) ! return(1); } ! return(0); ! } ! /* the following are only used in the lex library */ ! #if defined(__cplusplus) || defined(__STDC__) ! int yyinput(void) #else ! yyinput() #endif ! { ! return(input()); } ! #if defined(__cplusplus) || defined(__STDC__) ! void yyoutput(int c) #else ! yyoutput(c) ! int c; #endif ! { ! output(c); } ! #if defined(__cplusplus) || defined(__STDC__) ! void yyunput(int c) #else ! yyunput(c) ! int c; #endif ! { ! unput(c); } --- 1,2200 ---- ! /* A lexical scanner generated by flex */ ! ! /* Scanner skeleton version: ! * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $ ! */ ! ! #define FLEX_SCANNER ! #define YY_FLEX_MAJOR_VERSION 2 ! #define YY_FLEX_MINOR_VERSION 5 ! ! #include ! #include ! ! ! /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ ! #ifdef c_plusplus ! #ifndef __cplusplus ! #define __cplusplus #endif #endif + + + #ifdef __cplusplus + + #include + + /* Use prototypes in function declarations. */ + #define YY_USE_PROTOS + + /* The "const" storage-class-modifier is valid. */ + #define YY_USE_CONST + + #else /* ! __cplusplus */ + + #if __STDC__ + + #define YY_USE_PROTOS + #define YY_USE_CONST + + #endif /* __STDC__ */ + #endif /* ! __cplusplus */ + + #ifdef __TURBOC__ + #pragma warn -rch + #pragma warn -use + #include + #include + #define YY_USE_CONST + #define YY_USE_PROTOS + #endif + + #ifdef YY_USE_CONST + #define yyconst const + #else + #define yyconst #endif ! ! ! #ifdef YY_USE_PROTOS ! #define YY_PROTO(proto) proto ! #else ! #define YY_PROTO(proto) () ! #endif ! ! /* Returned upon end-of-file. */ ! #define YY_NULL 0 ! ! /* Promotes a possibly negative, possibly signed char to an unsigned ! * integer for use as an array index. If the signed char is negative, ! * we want to instead treat it as an 8-bit unsigned char, hence the ! * double cast. ! */ ! #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) ! ! /* Enter a start condition. This macro really ought to take a parameter, ! * but we do it the disgusting crufty way forced on us by the ()-less ! * definition of BEGIN. ! */ ! #define BEGIN yy_start = 1 + 2 * ! ! /* Translate the current start state into a value that can be later handed ! * to BEGIN to return to the state. The YYSTATE alias is for lex ! * compatibility. ! */ ! #define YY_START ((yy_start - 1) / 2) ! #define YYSTATE YY_START ! ! /* Action number for EOF rule of a given start state. */ ! #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) ! ! /* Special action meaning "start processing a new file". */ ! #define YY_NEW_FILE yyrestart( yyin ) ! ! #define YY_END_OF_BUFFER_CHAR 0 ! ! /* Size of default input buffer. */ ! #define YY_BUF_SIZE 16384 ! ! typedef struct yy_buffer_state *YY_BUFFER_STATE; ! ! extern int yyleng; ! extern FILE *yyin, *yyout; ! ! #define EOB_ACT_CONTINUE_SCAN 0 ! #define EOB_ACT_END_OF_FILE 1 ! #define EOB_ACT_LAST_MATCH 2 ! ! /* The funky do-while in the following #define is used to turn the definition ! * int a single C statement (which needs a semi-colon terminator). This ! * avoids problems with code like: ! * ! * if ( condition_holds ) ! * yyless( 5 ); ! * else ! * do_something_else(); ! * ! * Prior to using the do-while the compiler would get upset at the ! * "else" because it interpreted the "if" statement as being all ! * done when it reached the ';' after the yyless() call. ! */ ! ! /* Return all but the first 'n' matched characters back to the input stream. */ ! ! #define yyless(n) \ ! do \ ! { \ ! /* Undo effects of setting up yytext. */ \ ! *yy_cp = yy_hold_char; \ ! YY_RESTORE_YY_MORE_OFFSET \ ! yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \ ! YY_DO_BEFORE_ACTION; /* set up yytext again */ \ ! } \ ! while ( 0 ) ! ! #define unput(c) yyunput( c, yytext_ptr ) ! ! /* The following is because we cannot portably get our hands on size_t ! * (without autoconf's help, which isn't available because we want ! * flex-generated scanners to compile on their own). ! */ ! typedef unsigned int yy_size_t; ! ! ! struct yy_buffer_state ! { ! FILE *yy_input_file; ! ! char *yy_ch_buf; /* input buffer */ ! char *yy_buf_pos; /* current position in input buffer */ ! ! /* Size of input buffer in bytes, not including room for EOB ! * characters. ! */ ! yy_size_t yy_buf_size; ! ! /* Number of characters read into yy_ch_buf, not including EOB ! * characters. ! */ ! int yy_n_chars; ! ! /* Whether we "own" the buffer - i.e., we know we created it, ! * and can realloc() it to grow it, and should free() it to ! * delete it. ! */ ! int yy_is_our_buffer; ! ! /* Whether this is an "interactive" input source; if so, and ! * if we're using stdio for input, then we want to use getc() ! * instead of fread(), to make sure we stop fetching input after ! * each newline. ! */ ! int yy_is_interactive; ! ! /* Whether we're considered to be at the beginning of a line. ! * If so, '^' rules will be active on the next match, otherwise ! * not. ! */ ! int yy_at_bol; ! ! /* Whether to try to fill the input buffer when we reach the ! * end of it. ! */ ! int yy_fill_buffer; ! ! int yy_buffer_status; ! #define YY_BUFFER_NEW 0 ! #define YY_BUFFER_NORMAL 1 ! /* When an EOF's been seen but there's still some text to process ! * then we mark the buffer as YY_EOF_PENDING, to indicate that we ! * shouldn't try reading from the input source any more. We might ! * still have a bunch of tokens to match, though, because of ! * possible backing-up. ! * ! * When we actually see the EOF, we change the status to "new" ! * (via yyrestart()), so that the user can continue scanning by ! * just pointing yyin at a new input file. ! */ ! #define YY_BUFFER_EOF_PENDING 2 ! }; ! ! static YY_BUFFER_STATE yy_current_buffer = 0; ! ! /* We provide macros for accessing buffer states in case in the ! * future we want to put the buffer states in a more general ! * "scanner state". ! */ ! #define YY_CURRENT_BUFFER yy_current_buffer ! ! ! /* yy_hold_char holds the character lost when yytext is formed. */ ! static char yy_hold_char; ! ! static int yy_n_chars; /* number of characters read into yy_ch_buf */ ! ! ! int yyleng; ! ! /* Points to current character in buffer. */ ! static char *yy_c_buf_p = (char *) 0; ! static int yy_init = 1; /* whether we need to initialize */ ! static int yy_start = 0; /* start state number */ ! ! /* Flag which is used to allow yywrap()'s to do buffer switches ! * instead of setting up a fresh yyin. A bit of a hack ... ! */ ! static int yy_did_buffer_switch_on_eof; ! ! void yyrestart YY_PROTO(( FILE *input_file )); ! ! void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer )); ! void yy_load_buffer_state YY_PROTO(( void )); ! YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size )); ! void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b )); ! void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file )); ! void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b )); ! #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer ) ! ! YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size )); ! YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str )); ! YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len )); ! ! static void *yy_flex_alloc YY_PROTO(( yy_size_t )); ! static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )); ! static void yy_flex_free YY_PROTO(( void * )); ! ! #define yy_new_buffer yy_create_buffer ! ! #define yy_set_interactive(is_interactive) \ ! { \ ! if ( ! yy_current_buffer ) \ ! yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ ! yy_current_buffer->yy_is_interactive = is_interactive; \ ! } ! ! #define yy_set_bol(at_bol) \ ! { \ ! if ( ! yy_current_buffer ) \ ! yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ ! yy_current_buffer->yy_at_bol = at_bol; \ ! } ! ! #define YY_AT_BOL() (yy_current_buffer->yy_at_bol) ! ! ! #define YY_USES_REJECT ! typedef unsigned char YY_CHAR; ! FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; ! typedef int yy_state_type; ! #define YY_FLEX_LEX_COMPAT extern int yylineno; ! int yylineno = 1; ! extern char yytext[]; ! static yy_state_type yy_get_previous_state YY_PROTO(( void )); ! static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state )); ! static int yy_get_next_buffer YY_PROTO(( void )); ! static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); ! ! /* Done after the current pattern has been matched and before the ! * corresponding action - sets up yytext. ! */ ! #define YY_DO_BEFORE_ACTION \ ! yytext_ptr = yy_bp; \ ! yyleng = (int) (yy_cp - yy_bp); \ ! yy_hold_char = *yy_cp; \ ! *yy_cp = '\0'; \ ! if ( yyleng + yy_more_offset >= YYLMAX ) \ ! YY_FATAL_ERROR( "token too large, exceeds YYLMAX" ); \ ! yy_flex_strncpy( &yytext[yy_more_offset], yytext_ptr, yyleng + 1 ); \ ! yyleng += yy_more_offset; \ ! yy_prev_more_offset = yy_more_offset; \ ! yy_more_offset = 0; \ ! yy_c_buf_p = yy_cp; ! ! #define YY_NUM_RULES 66 ! #define YY_END_OF_BUFFER 67 ! static yyconst short int yy_acclist[583] = ! { 0, ! 67, 65, 66, 2, 65, 66, 66, 1, 65, 66, ! 65, 66, 64, 65, 66, 63, 65, 66, 64, 65, ! 66, 64, 65, 66, 64, 65, 66, 64, 65, 66, ! 64, 65, 66, 64, 65, 66, 64, 65, 66, 64, ! 65, 66, 64, 65, 66, 64, 65, 66, 64, 65, ! 66, 64, 65, 66, 64, 65, 66, 64, 65, 66, ! 64, 65, 66, 64, 65, 66, 64, 65, 66, 64, ! 65, 66, 64, 65, 66, 1, 61, 64, 63, 64, ! 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, ! 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, ! ! 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, ! 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, ! 64, 64, 62, 64, 64, 64, 64, 64, 64, 64, ! 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, ! 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, ! 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, ! 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, ! 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, ! 64, 64, 13, 64, 64, 64, 64, 64, 64, 64, ! 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, ! ! 10, 64, 64, 64, 12, 64, 64, 64, 64, 64, ! 48, 64, 18, 64, 64, 64, 64, 64, 64, 64, ! 64, 64, 64, 59, 64, 64, 64, 64, 64, 64, ! 64, 64, 64, 56, 64, 64, 64, 64, 64, 27, ! 64, 64, 60, 64, 64, 64, 64, 64, 64, 64, ! 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, ! 26, 64, 64, 64, 64, 64, 64, 64, 64, 64, ! 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, ! 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, ! 64, 4, 64, 64, 64, 64, 64, 50, 64, 64, ! ! 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, ! 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, ! 64, 64, 64, 64, 64, 47, 64, 64, 64, 64, ! 64, 64, 64, 43, 64, 64, 64, 64, 64, 64, ! 64, 64, 64, 64, 21, 64, 64, 64, 64, 64, ! 9, 64, 64, 5, 64, 64, 64, 64, 45, 64, ! 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, ! 64, 64, 6, 64, 30, 64, 64, 64, 64, 64, ! 64, 64, 57, 64, 64, 64, 64, 11, 64, 64, ! 64, 64, 49, 64, 58, 64, 64, 64, 8, 64, ! ! 64, 64, 64, 44, 64, 46, 64, 7, 64, 64, ! 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, ! 64, 14, 64, 19, 64, 64, 64, 64, 64, 64, ! 64, 64, 64, 64, 64, 64, 64, 15, 64, 64, ! 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, ! 64, 64, 64, 55, 64, 64, 64, 64, 64, 64, ! 64, 64, 35, 64, 51, 64, 54, 64, 64, 64, ! 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, ! 38, 64, 52, 64, 64, 64, 32, 64, 64, 64, ! 64, 64, 64, 64, 64, 64, 64, 3, 64, 64, ! ! 20, 64, 64, 31, 64, 40, 64, 28, 64, 39, ! 64, 64, 64, 64, 64, 64, 64, 64, 64, 34, ! 64, 64, 64, 64, 64, 64, 53, 64, 64, 64, ! 64, 22, 64, 64, 64, 64, 64, 64, 64, 64, ! 64, 64, 36, 64, 64, 64, 64, 42, 64, 64, ! 64, 64, 23, 64, 41, 64, 64, 64, 16, 64, ! 64, 29, 64, 17, 64, 64, 33, 64, 64, 64, ! 64, 25, 64, 64, 24, 64, 64, 64, 64, 64, ! 37, 64 ! } ; ! ! static yyconst short int yy_accept[482] = ! { 0, ! 1, 1, 1, 2, 4, 7, 8, 11, 13, 16, ! 19, 22, 25, 28, 31, 34, 37, 40, 43, 46, ! 49, 52, 55, 58, 61, 64, 67, 70, 73, 76, ! 77, 78, 79, 79, 80, 81, 82, 83, 84, 85, ! 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, ! 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, ! 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, ! 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, ! 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, ! 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, ! ! 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, ! 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, ! 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, ! 176, 177, 178, 179, 180, 181, 182, 183, 185, 186, ! 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, ! 197, 198, 199, 200, 201, 203, 204, 205, 207, 208, ! 209, 210, 211, 213, 215, 216, 217, 218, 219, 220, ! 221, 222, 223, 224, 226, 227, 228, 229, 230, 231, ! 232, 233, 234, 236, 237, 238, 239, 240, 242, 243, ! 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, ! ! 255, 256, 257, 258, 259, 260, 261, 263, 264, 265, ! 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, ! 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, ! 286, 287, 288, 289, 290, 291, 292, 294, 295, 296, ! 297, 298, 300, 301, 302, 303, 304, 305, 306, 307, ! 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, ! 318, 319, 320, 321, 322, 323, 324, 325, 326, 328, ! 329, 330, 331, 332, 333, 334, 336, 337, 338, 339, ! 340, 341, 342, 343, 344, 345, 347, 348, 349, 350, ! 351, 353, 354, 356, 357, 358, 359, 361, 362, 363, ! ! 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, ! 375, 377, 378, 379, 380, 381, 382, 383, 385, 386, ! 387, 388, 390, 391, 392, 393, 395, 397, 398, 399, ! 401, 402, 403, 404, 406, 408, 410, 411, 412, 413, ! 414, 415, 416, 417, 418, 419, 420, 421, 422, 424, ! 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, ! 436, 437, 438, 440, 441, 442, 443, 444, 445, 446, ! 447, 448, 449, 450, 451, 452, 453, 454, 456, 457, ! 458, 459, 460, 461, 462, 463, 465, 467, 469, 470, ! 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, ! ! 481, 483, 485, 486, 487, 489, 490, 491, 492, 493, ! 494, 495, 496, 497, 498, 500, 501, 503, 504, 506, ! 508, 510, 512, 513, 514, 515, 516, 517, 518, 519, ! 520, 522, 523, 524, 525, 526, 527, 529, 530, 531, ! 532, 534, 535, 536, 537, 538, 539, 540, 541, 542, ! 543, 545, 546, 547, 548, 550, 551, 552, 553, 555, ! 557, 558, 559, 561, 562, 564, 566, 567, 569, 570, ! 571, 572, 574, 575, 577, 578, 579, 580, 581, 583, ! 583 ! } ; ! ! static yyconst int yy_ec[256] = ! { 0, ! 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 2, 1, 1, 4, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 5, 6, 7, 8, 8, 9, ! 8, 8, 8, 8, 8, 8, 8, 1, 1, 1, ! 1, 10, 1, 1, 7, 7, 7, 7, 7, 7, ! 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, ! 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, ! 1, 1, 1, 1, 11, 1, 12, 13, 14, 15, ! ! 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, ! 26, 27, 7, 28, 29, 30, 31, 32, 33, 34, ! 35, 36, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1 ! } ; ! ! static yyconst int yy_meta[37] = ! { 0, ! 1, 1, 2, 1, 1, 3, 3, 3, 3, 1, ! 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ! 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ! 3, 3, 3, 3, 3, 3 ! } ; ! ! static yyconst short int yy_base[483] = ! { 0, ! 0, 0, 495, 496, 496, 496, 0, 484, 0, 31, ! 24, 29, 23, 27, 29, 33, 34, 468, 472, 39, ! 40, 43, 36, 55, 56, 56, 57, 461, 474, 0, ! 496, 0, 67, 71, 467, 472, 462, 460, 468, 472, ! 471, 454, 70, 469, 462, 464, 455, 450, 451, 463, ! 446, 61, 443, 442, 75, 437, 445, 445, 63, 453, ! 443, 449, 454, 435, 451, 436, 441, 440, 434, 446, ! 426, 78, 444, 432, 423, 433, 424, 86, 440, 422, ! 434, 436, 430, 421, 416, 416, 417, 430, 411, 416, ! 423, 427, 408, 425, 421, 419, 422, 401, 415, 400, ! ! 413, 416, 398, 401, 405, 408, 393, 389, 405, 409, ! 408, 388, 388, 394, 385, 389, 388, 397, 388, 380, ! 386, 397, 379, 381, 389, 381, 374, 373, 389, 367, ! 384, 382, 372, 367, 364, 369, 362, 0, 376, 362, ! 361, 373, 69, 358, 371, 363, 355, 356, 367, 357, ! 351, 369, 353, 348, 0, 366, 350, 87, 348, 344, ! 353, 342, 0, 0, 341, 340, 343, 357, 351, 350, ! 338, 334, 347, 0, 351, 341, 340, 341, 338, 343, ! 328, 339, 0, 327, 335, 329, 321, 0, 330, 0, ! 327, 328, 327, 318, 329, 333, 89, 315, 328, 321, ! ! 88, 325, 313, 311, 309, 319, 0, 313, 314, 309, ! 312, 322, 319, 305, 78, 300, 316, 300, 314, 294, ! 293, 296, 285, 304, 304, 306, 306, 293, 285, 298, ! 283, 296, 287, 280, 284, 282, 0, 275, 289, 278, ! 292, 0, 268, 276, 270, 272, 283, 270, 285, 274, ! 264, 264, 269, 276, 267, 263, 269, 277, 256, 274, ! 274, 267, 260, 252, 270, 260, 254, 262, 0, 247, ! 247, 246, 263, 253, 243, 0, 243, 239, 258, 253, ! 242, 250, 245, 242, 240, 0, 237, 233, 234, 230, ! 247, 229, 0, 231, 226, 238, 0, 237, 226, 226, ! ! 221, 225, 220, 222, 234, 225, 224, 79, 219, 0, ! 0, 223, 211, 220, 90, 213, 208, 0, 214, 207, ! 209, 0, 211, 210, 202, 0, 0, 202, 217, 0, ! 212, 216, 213, 0, 0, 0, 206, 195, 208, 210, ! 210, 195, 206, 205, 194, 195, 196, 199, 0, 0, ! 178, 182, 182, 186, 190, 197, 188, 174, 177, 189, ! 193, 173, 0, 171, 177, 170, 174, 182, 181, 180, ! 171, 179, 163, 157, 175, 160, 164, 0, 172, 162, ! 174, 174, 158, 153, 146, 0, 0, 0, 166, 169, ! 154, 149, 157, 146, 147, 159, 145, 143, 155, 144, ! ! 0, 0, 158, 153, 0, 153, 152, 138, 139, 143, ! 146, 145, 131, 145, 0, 132, 0, 125, 0, 0, ! 0, 0, 128, 126, 128, 123, 130, 123, 139, 123, ! 0, 125, 127, 116, 120, 132, 0, 123, 109, 121, ! 0, 114, 115, 113, 125, 100, 115, 105, 110, 96, ! 0, 105, 117, 113, 0, 93, 111, 100, 0, 0, ! 109, 98, 0, 106, 0, 0, 93, 0, 88, 95, ! 84, 0, 99, 0, 85, 89, 79, 34, 0, 496, ! 121, 45 ! } ; ! ! static yyconst short int yy_def[483] = ! { 0, ! 480, 1, 480, 480, 480, 480, 481, 480, 482, 480, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 481, ! 480, 482, 480, 480, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 480, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, ! 482, 482, 482, 482, 482, 482, 482, 482, 482, 0, ! 480, 480 ! } ; ! ! static yyconst short int yy_nxt[533] = ! { 0, ! 4, 5, 6, 7, 8, 4, 9, 10, 10, 4, ! 9, 11, 12, 13, 14, 15, 16, 9, 17, 18, ! 19, 9, 20, 21, 22, 23, 24, 25, 26, 27, ! 28, 29, 9, 9, 9, 9, 33, 35, 34, 34, ! 37, 40, 43, 45, 47, 41, 44, 32, 42, 50, ! 54, 56, 62, 46, 58, 36, 38, 479, 59, 39, ! 63, 51, 48, 49, 55, 57, 64, 69, 60, 72, ! 65, 70, 74, 61, 78, 78, 33, 66, 34, 34, ! 67, 71, 68, 87, 75, 73, 88, 98, 102, 121, ! 99, 107, 108, 78, 78, 191, 122, 206, 89, 240, ! ! 245, 192, 259, 103, 260, 346, 352, 478, 477, 476, ! 475, 347, 474, 473, 246, 207, 472, 471, 353, 470, ! 241, 30, 469, 30, 468, 467, 466, 465, 464, 463, ! 462, 461, 460, 459, 458, 457, 456, 455, 454, 453, ! 452, 451, 450, 449, 448, 447, 446, 445, 444, 443, ! 442, 441, 440, 439, 438, 437, 436, 435, 434, 433, ! 432, 431, 430, 429, 428, 427, 426, 425, 424, 423, ! 422, 421, 420, 419, 418, 417, 416, 415, 414, 413, ! 412, 411, 410, 409, 408, 407, 406, 405, 404, 403, ! 402, 401, 400, 399, 398, 397, 396, 395, 394, 393, ! ! 392, 391, 390, 389, 388, 387, 386, 385, 384, 383, ! 382, 381, 380, 379, 378, 377, 376, 375, 374, 373, ! 372, 371, 370, 369, 368, 367, 366, 365, 364, 363, ! 362, 361, 360, 359, 358, 357, 356, 355, 354, 351, ! 350, 349, 348, 345, 344, 343, 342, 341, 340, 339, ! 338, 337, 336, 335, 334, 333, 332, 331, 330, 329, ! 328, 327, 326, 325, 324, 323, 322, 321, 320, 319, ! 318, 317, 316, 315, 314, 313, 312, 311, 310, 309, ! 308, 307, 306, 305, 304, 303, 302, 301, 300, 299, ! 298, 297, 296, 295, 294, 293, 292, 291, 290, 289, ! ! 288, 287, 286, 285, 284, 283, 282, 281, 280, 279, ! 278, 277, 276, 275, 274, 273, 272, 271, 270, 269, ! 268, 267, 266, 265, 264, 263, 262, 261, 258, 257, ! 256, 255, 254, 253, 252, 251, 250, 249, 248, 247, ! 244, 243, 242, 239, 238, 237, 236, 235, 234, 233, ! 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, ! 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, ! 212, 211, 210, 209, 208, 205, 204, 203, 202, 201, ! 200, 199, 198, 197, 196, 195, 194, 193, 190, 189, ! 188, 187, 186, 185, 184, 183, 182, 181, 180, 179, ! ! 178, 177, 176, 175, 174, 173, 172, 171, 170, 169, ! 168, 167, 166, 165, 164, 163, 162, 161, 160, 159, ! 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, ! 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, ! 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, ! 128, 127, 126, 125, 124, 123, 120, 119, 118, 117, ! 116, 115, 114, 113, 112, 111, 110, 109, 106, 105, ! 104, 101, 100, 97, 96, 95, 94, 93, 92, 91, ! 90, 86, 85, 84, 83, 82, 81, 80, 79, 77, ! 76, 53, 52, 31, 480, 3, 480, 480, 480, 480, ! ! 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, ! 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, ! 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, ! 480, 480 ! } ; ! ! static yyconst short int yy_chk[533] = ! { 0, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 10, 11, 10, 10, ! 12, 13, 14, 15, 16, 13, 14, 482, 13, 17, ! 20, 21, 23, 15, 22, 11, 12, 478, 22, 12, ! 23, 17, 16, 16, 20, 21, 24, 25, 22, 26, ! 24, 25, 27, 22, 33, 33, 34, 24, 34, 34, ! 24, 25, 24, 43, 27, 26, 43, 52, 55, 72, ! 52, 59, 59, 78, 78, 143, 72, 158, 43, 197, ! ! 201, 143, 215, 55, 215, 308, 315, 477, 476, 475, ! 473, 308, 471, 470, 201, 158, 469, 467, 315, 464, ! 197, 481, 462, 481, 461, 458, 457, 456, 454, 453, ! 452, 450, 449, 448, 447, 446, 445, 444, 443, 442, ! 440, 439, 438, 436, 435, 434, 433, 432, 430, 429, ! 428, 427, 426, 425, 424, 423, 418, 416, 414, 413, ! 412, 411, 410, 409, 408, 407, 406, 404, 403, 400, ! 399, 398, 397, 396, 395, 394, 393, 392, 391, 390, ! 389, 385, 384, 383, 382, 381, 380, 379, 377, 376, ! 375, 374, 373, 372, 371, 370, 369, 368, 367, 366, ! ! 365, 364, 362, 361, 360, 359, 358, 357, 356, 355, ! 354, 353, 352, 351, 348, 347, 346, 345, 344, 343, ! 342, 341, 340, 339, 338, 337, 333, 332, 331, 329, ! 328, 325, 324, 323, 321, 320, 319, 317, 316, 314, ! 313, 312, 309, 307, 306, 305, 304, 303, 302, 301, ! 300, 299, 298, 296, 295, 294, 292, 291, 290, 289, ! 288, 287, 285, 284, 283, 282, 281, 280, 279, 278, ! 277, 275, 274, 273, 272, 271, 270, 268, 267, 266, ! 265, 264, 263, 262, 261, 260, 259, 258, 257, 256, ! 255, 254, 253, 252, 251, 250, 249, 248, 247, 246, ! ! 245, 244, 243, 241, 240, 239, 238, 236, 235, 234, ! 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, ! 223, 222, 221, 220, 219, 218, 217, 216, 214, 213, ! 212, 211, 210, 209, 208, 206, 205, 204, 203, 202, ! 200, 199, 198, 196, 195, 194, 193, 192, 191, 189, ! 187, 186, 185, 184, 182, 181, 180, 179, 178, 177, ! 176, 175, 173, 172, 171, 170, 169, 168, 167, 166, ! 165, 162, 161, 160, 159, 157, 156, 154, 153, 152, ! 151, 150, 149, 148, 147, 146, 145, 144, 142, 141, ! 140, 139, 137, 136, 135, 134, 133, 132, 131, 130, ! ! 129, 128, 127, 126, 125, 124, 123, 122, 121, 120, ! 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, ! 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, ! 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, ! 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, ! 79, 77, 76, 75, 74, 73, 71, 70, 69, 68, ! 67, 66, 65, 64, 63, 62, 61, 60, 58, 57, ! 56, 54, 53, 51, 50, 49, 48, 47, 46, 45, ! 44, 42, 41, 40, 39, 38, 37, 36, 35, 29, ! 28, 19, 18, 8, 3, 480, 480, 480, 480, 480, ! ! 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, ! 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, ! 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, ! 480, 480 ! } ; ! ! static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr; ! static char *yy_full_match; ! static int yy_lp; ! #define REJECT \ ! { \ ! *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \ ! yy_cp = yy_full_match; /* restore poss. backed-over text */ \ ! ++yy_lp; \ ! goto find_rule; \ ! } ! static int yy_more_offset = 0; ! static int yy_prev_more_offset = 0; ! #define yymore() (yy_more_offset = yy_flex_strlen( yytext )) ! #define YY_NEED_STRLEN ! #define YY_MORE_ADJ 0 ! #define YY_RESTORE_YY_MORE_OFFSET \ ! { \ ! yy_more_offset = yy_prev_more_offset; \ ! yyleng -= yy_more_offset; \ ! } ! #ifndef YYLMAX ! #define YYLMAX 8192 ! #endif ! ! char yytext[YYLMAX]; ! char *yytext_ptr; ! #line 1 "lang.lex" ! #define INITIAL 0 ! #line 732 "lex.yy.c" ! ! /* Macros after this point can all be overridden by user definitions in ! * section 1. ! */ ! ! #ifndef YY_SKIP_YYWRAP ! #ifdef __cplusplus ! extern "C" int yywrap YY_PROTO(( void )); ! #else ! extern int yywrap YY_PROTO(( void )); ! #endif ! #endif ! ! #ifndef YY_NO_UNPUT ! static void yyunput YY_PROTO(( int c, char *buf_ptr )); ! #endif ! ! #ifndef yytext_ptr ! static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int )); ! #endif ! ! #ifdef YY_NEED_STRLEN ! static int yy_flex_strlen YY_PROTO(( yyconst char * )); ! #endif ! ! #ifndef YY_NO_INPUT ! #ifdef __cplusplus ! static int yyinput YY_PROTO(( void )); ! #else ! static int input YY_PROTO(( void )); ! #endif ! #endif ! ! #if YY_STACK_USED ! static int yy_start_stack_ptr = 0; ! static int yy_start_stack_depth = 0; ! static int *yy_start_stack = 0; ! #ifndef YY_NO_PUSH_STATE ! static void yy_push_state YY_PROTO(( int new_state )); ! #endif ! #ifndef YY_NO_POP_STATE ! static void yy_pop_state YY_PROTO(( void )); ! #endif ! #ifndef YY_NO_TOP_STATE ! static int yy_top_state YY_PROTO(( void )); ! #endif ! ! #else ! #define YY_NO_PUSH_STATE 1 ! #define YY_NO_POP_STATE 1 ! #define YY_NO_TOP_STATE 1 ! #endif ! ! #ifdef YY_MALLOC_DECL ! YY_MALLOC_DECL ! #else ! #if __STDC__ ! #ifndef __cplusplus ! #include ! #endif ! #else ! /* Just try to get by without declaring the routines. This will fail ! * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int) ! * or sizeof(void*) != sizeof(int). ! */ ! #endif ! #endif ! ! /* Amount of stuff to slurp up with each read. */ ! #ifndef YY_READ_BUF_SIZE ! #define YY_READ_BUF_SIZE 8192 ! #endif ! ! /* Copy whatever the last rule matched to the standard output. */ ! ! #ifndef ECHO ! /* This used to be an fputs(), but since the string might contain NUL's, ! * we now use fwrite(). ! */ ! #define ECHO (void) fwrite( yytext, yyleng, 1, yyout ) ! #endif ! ! /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, ! * is returned in "result". ! */ ! #ifndef YY_INPUT ! #define YY_INPUT(buf,result,max_size) \ ! if ( yy_current_buffer->yy_is_interactive ) \ ! { \ ! int c = '*', n; \ ! for ( n = 0; n < max_size && \ ! (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ ! buf[n] = (char) c; \ ! if ( c == '\n' ) \ ! buf[n++] = (char) c; \ ! if ( c == EOF && ferror( yyin ) ) \ ! YY_FATAL_ERROR( "input in flex scanner failed" ); \ ! result = n; \ ! } \ ! else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \ ! && ferror( yyin ) ) \ ! YY_FATAL_ERROR( "input in flex scanner failed" ); ! #endif ! ! /* No semi-colon after return; correct usage is to write "yyterminate();" - ! * we don't want an extra ';' after the "return" because that will cause ! * some compilers to complain about unreachable statements. ! */ ! #ifndef yyterminate ! #define yyterminate() return YY_NULL ! #endif ! ! /* Number of entries by which start-condition stack grows. */ ! #ifndef YY_START_STACK_INCR ! #define YY_START_STACK_INCR 25 ! #endif ! ! /* Report a fatal error. */ ! #ifndef YY_FATAL_ERROR ! #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) ! #endif ! ! /* Default declaration of generated scanner - a define so the user can ! * easily add parameters. ! */ ! #ifndef YY_DECL ! #define YY_DECL int yylex YY_PROTO(( void )) ! #endif ! ! /* Code executed at the beginning of each rule, after yytext and yyleng ! * have been set up. ! */ ! #ifndef YY_USER_ACTION ! #define YY_USER_ACTION ! #endif ! ! /* Code executed at the end of each rule. */ ! #ifndef YY_BREAK ! #define YY_BREAK break; ! #endif ! ! #define YY_RULE_SETUP \ ! YY_USER_ACTION ! ! YY_DECL ! { ! register yy_state_type yy_current_state; ! register char *yy_cp = NULL, *yy_bp = NULL; ! register int yy_act; ! ! #line 3 "lang.lex" ! ! #line 885 "lex.yy.c" ! ! if ( yy_init ) ! { ! yy_init = 0; ! ! #ifdef YY_USER_INIT ! YY_USER_INIT; ! #endif ! ! if ( ! yy_start ) ! yy_start = 1; /* first start state */ ! ! if ( ! yyin ) ! yyin = stdin; ! ! if ( ! yyout ) ! yyout = stdout; ! ! if ( ! yy_current_buffer ) ! yy_current_buffer = ! yy_create_buffer( yyin, YY_BUF_SIZE ); ! ! yy_load_buffer_state(); ! } ! ! while ( 1 ) /* loops until end-of-file is reached */ ! { ! yy_cp = yy_c_buf_p; ! ! /* Support of yytext. */ ! *yy_cp = yy_hold_char; ! ! /* yy_bp points to the position in yy_ch_buf of the start of ! * the current run. ! */ ! yy_bp = yy_cp; ! ! yy_current_state = yy_start; ! yy_state_ptr = yy_state_buf; ! *yy_state_ptr++ = yy_current_state; ! yy_match: ! do ! { ! register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; ! while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) ! { ! yy_current_state = (int) yy_def[yy_current_state]; ! if ( yy_current_state >= 481 ) ! yy_c = yy_meta[(unsigned int) yy_c]; ! } ! yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ! *yy_state_ptr++ = yy_current_state; ! ++yy_cp; ! } ! while ( yy_base[yy_current_state] != 496 ); ! ! yy_find_action: ! yy_current_state = *--yy_state_ptr; ! yy_lp = yy_accept[yy_current_state]; ! find_rule: /* we branch to this label when backing up */ ! for ( ; ; ) /* until we find what rule we matched */ ! { ! if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] ) ! { ! yy_act = yy_acclist[yy_lp]; ! { ! yy_full_match = yy_cp; ! break; ! } ! } ! --yy_cp; ! yy_current_state = *--yy_state_ptr; ! yy_lp = yy_accept[yy_current_state]; ! } ! ! YY_DO_BEFORE_ACTION; ! ! if ( yy_act != YY_END_OF_BUFFER ) ! { ! int yyl; ! for ( yyl = 0; yyl < yyleng; ++yyl ) ! if ( yytext[yyl] == '\n' ) ! ++yylineno; ! } ! ! do_action: /* This label is used only to access EOF actions. */ ! ! switch ( yy_act ) ! { /* beginning of action switch */ ! case 1: ! YY_RULE_SETUP ! #line 4 "lang.lex" ! {;} ! YY_BREAK ! case 2: ! YY_RULE_SETUP ! #line 5 "lang.lex" ! { ; } ! YY_BREAK ! case 3: ! YY_RULE_SETUP ! #line 6 "lang.lex" { return (NEST_PARAMS);} ! YY_BREAK case 4: ! YY_RULE_SETUP ! #line 7 "lang.lex" ! { return (HEADER);} ! YY_BREAK case 5: ! YY_RULE_SETUP ! #line 8 "lang.lex" ! { return (NETWORK);} ! YY_BREAK case 6: ! YY_RULE_SETUP ! #line 9 "lang.lex" ! { return (VERSION);} ! YY_BREAK case 7: ! YY_RULE_SETUP ! #line 10 "lang.lex" { return (PASSTIME);} ! YY_BREAK case 8: ! YY_RULE_SETUP ! #line 11 "lang.lex" ! { return (MAXNODES);} ! YY_BREAK case 9: ! YY_RULE_SETUP ! #line 12 "lang.lex" ! { return (MONITOR);} ! YY_BREAK case 10: ! YY_RULE_SETUP ! #line 13 "lang.lex" ! { return (NAME);} ! YY_BREAK case 11: ! YY_RULE_SETUP ! #line 14 "lang.lex" ! { return (FUNCTION);} ! YY_BREAK case 12: ! YY_RULE_SETUP ! #line 15 "lang.lex" ! { return (NODE);} ! YY_BREAK case 13: ! YY_RULE_SETUP ! #line 16 "lang.lex" ! { return (DEST );} ! YY_BREAK case 14: ! YY_RULE_SETUP ! #line 17 "lang.lex" ! { return (BANDWIDTH);} ! YY_BREAK case 15: ! YY_RULE_SETUP ! #line 18 "lang.lex" { return LOSS_PROB;} ! YY_BREAK case 16: ! YY_RULE_SETUP ! #line 19 "lang.lex" { return CORRUPTION_PROB;} ! YY_BREAK case 17: ! YY_RULE_SETUP ! #line 20 "lang.lex" { return LOSS_BURST_SIZE;} ! YY_BREAK case 18: ! YY_RULE_SETUP ! #line 21 "lang.lex" ! { return (PLOT);} ! YY_BREAK case 19: ! YY_RULE_SETUP ! #line 22 "lang.lex" { return (BROADCAST);} ! YY_BREAK case 20: ! YY_RULE_SETUP ! #line 23 "lang.lex" { return (POINT2POINT);} ! YY_BREAK case 21: ! YY_RULE_SETUP ! #line 24 "lang.lex" ! { return (LATENCY);} ! YY_BREAK case 22: ! YY_RULE_SETUP ! #line 25 "lang.lex" ! { return (CHANNEL_STACK);} ! YY_BREAK case 23: ! YY_RULE_SETUP ! #line 26 "lang.lex" ! {return ( NODE_FUNCTIONS );} ! YY_BREAK case 24: ! YY_RULE_SETUP ! #line 27 "lang.lex" ! {return ( MONITOR_FUNCTIONS);} ! YY_BREAK case 25: ! YY_RULE_SETUP ! #line 28 "lang.lex" ! {return ( CHANNEL_FUNCTIONS);} ! YY_BREAK case 26: ! YY_RULE_SETUP ! #line 29 "lang.lex" ! {return ( NODES);} ! YY_BREAK case 27: ! YY_RULE_SETUP ! #line 30 "lang.lex" ! {return ( EDGES);} ! YY_BREAK case 28: ! YY_RULE_SETUP ! #line 31 "lang.lex" {return REAL_PARAMS;} ! YY_BREAK case 29: ! YY_RULE_SETUP ! #line 32 "lang.lex" { return INTER_PKT_DELAY ;} ! YY_BREAK case 30: ! YY_RULE_SETUP ! #line 33 "lang.lex" ! { return ACK_SIZE ;} ! YY_BREAK case 31: ! YY_RULE_SETUP ! #line 34 "lang.lex" ! { return RANDOM_SEED ;} ! YY_BREAK case 32: ! YY_RULE_SETUP ! #line 35 "lang.lex" ! { return BUFFER_SIZE ;} ! YY_BREAK case 33: ! YY_RULE_SETUP ! #line 36 "lang.lex" ! { return TELNET_PKT_SIZE ;} ! YY_BREAK case 34: ! YY_RULE_SETUP ! #line 37 "lang.lex" ! { return FTP_PKT_SIZE ;} ! YY_BREAK case 35: ! YY_RULE_SETUP ! #line 38 "lang.lex" ! { return FTP_WINDOW ;} ! YY_BREAK case 36: ! YY_RULE_SETUP ! #line 39 "lang.lex" ! { return TELNET_WINDOW ;} ! YY_BREAK case 37: ! YY_RULE_SETUP ! #line 40 "lang.lex" ! { return DECONGESTION_MECHANISM ;} ! YY_BREAK case 38: ! YY_RULE_SETUP ! #line 41 "lang.lex" ! { return SCH_POLICY ;} ! YY_BREAK case 39: ! YY_RULE_SETUP ! #line 42 "lang.lex" { return ROUTER_NODE ;} ! YY_BREAK case 40: ! YY_RULE_SETUP ! #line 43 "lang.lex" { return REAL_NUMBER ;} ! YY_BREAK case 41: ! YY_RULE_SETUP ! #line 44 "lang.lex" { return PRINT_INTERVAL;} ! YY_BREAK case 42: ! YY_RULE_SETUP ! #line 45 "lang.lex" { return END_SIMULATION ;} ! YY_BREAK case 43: ! YY_RULE_SETUP ! #line 46 "lang.lex" ! { return DEFAULT ;} ! YY_BREAK case 44: ! YY_RULE_SETUP ! #line 47 "lang.lex" ! { return NUM_PKTS ;} ! YY_BREAK case 45: ! YY_RULE_SETUP ! #line 48 "lang.lex" ! { return ON_TIME; } ! YY_BREAK case 46: ! YY_RULE_SETUP ! #line 49 "lang.lex" ! { return OFF_TIME; } ! YY_BREAK case 47: ! YY_RULE_SETUP ! #line 50 "lang.lex" ! { return AVERAGE ; } ! YY_BREAK case 48: ! YY_RULE_SETUP ! #line 51 "lang.lex" ! { return PEAK ; } ! YY_BREAK case 49: ! YY_RULE_SETUP ! #line 52 "lang.lex" { return INTERVAL ;} ! YY_BREAK case 50: ! YY_RULE_SETUP ! #line 53 "lang.lex" ! { return JITTER ;} ! YY_BREAK case 51: ! YY_RULE_SETUP ! #line 54 "lang.lex" { return HRR_LEVELS; } ! YY_BREAK case 52: ! YY_RULE_SETUP ! #line 55 "lang.lex" { return START_TIME ;} ! YY_BREAK case 53: ! YY_RULE_SETUP ! #line 56 "lang.lex" { return SCALE_FACTOR; } ! YY_BREAK case 54: ! YY_RULE_SETUP ! #line 57 "lang.lex" ! { return INPUT_FILE; } ! YY_BREAK case 55: ! YY_RULE_SETUP ! #line 58 "lang.lex" ! { return UTIL_TIME;} ! YY_BREAK case 56: ! YY_RULE_SETUP ! #line 59 "lang.lex" ! { return CLASS;} ! YY_BREAK case 57: ! YY_RULE_SETUP ! #line 60 "lang.lex" { return (DIAMETER);} ! YY_BREAK case 58: ! YY_RULE_SETUP ! #line 61 "lang.lex" { return (LOCATION);} ! YY_BREAK case 59: ! YY_RULE_SETUP ! #line 62 "lang.lex" ! { yylval = 1; return (TRUE_OR_FALSE); } ! YY_BREAK case 60: ! YY_RULE_SETUP ! #line 65 "lang.lex" ! { yylval = 0; return (TRUE_OR_FALSE); } ! YY_BREAK case 61: ! YY_RULE_SETUP ! #line 69 "lang.lex" ! { return (TO) ; } ! YY_BREAK case 62: ! YY_RULE_SETUP ! #line 71 "lang.lex" { yylval = yytext; return (F_NUMBER); } ! YY_BREAK case 63: ! YY_RULE_SETUP ! #line 75 "lang.lex" ! { yylval = atoi(yytext); return (NUMBER); } ! YY_BREAK case 64: ! YY_RULE_SETUP ! #line 79 "lang.lex" ! { yylval = yytext; return (STRING); } ! YY_BREAK case 65: + YY_RULE_SETUP + #line 82 "lang.lex" + return (* yytext); + YY_BREAK + case 66: + YY_RULE_SETUP + #line 84 "lang.lex" + ECHO; + YY_BREAK + #line 1316 "lex.yy.c" + case YY_STATE_EOF(INITIAL): + yyterminate(); + + case YY_END_OF_BUFFER: + { + /* Amount of text matched not including the EOB char. */ + int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1; + + /* Undo the effects of YY_DO_BEFORE_ACTION. */ + *yy_cp = yy_hold_char; + YY_RESTORE_YY_MORE_OFFSET ! if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW ) ! { ! /* We're scanning a new file or input source. It's ! * possible that this happened because the user ! * just pointed yyin at a new source and called ! * yylex(). If so, then we have to assure ! * consistency between yy_current_buffer and our ! * globals. Here is the right place to do so, because ! * this is the first action (other than possibly a ! * back-up) that will match for the new input source. ! */ ! yy_n_chars = yy_current_buffer->yy_n_chars; ! yy_current_buffer->yy_input_file = yyin; ! yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL; ! } ! /* Note that here we test for yy_c_buf_p "<=" to the position ! * of the first EOB in the buffer, since yy_c_buf_p will ! * already have been incremented past the NUL character ! * (since all states make transitions on EOB to the ! * end-of-buffer state). Contrast this with the test ! * in input(). ! */ ! if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] ) ! { /* This was really a NUL. */ ! yy_state_type yy_next_state; ! ! yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text; ! ! yy_current_state = yy_get_previous_state(); ! ! /* Okay, we're now positioned to make the NUL ! * transition. We couldn't have ! * yy_get_previous_state() go ahead and do it ! * for us because it doesn't know how to deal ! * with the possibility of jamming (and we don't ! * want to build jamming into it because then it ! * will run more slowly). ! */ ! ! yy_next_state = yy_try_NUL_trans( yy_current_state ); ! ! yy_bp = yytext_ptr + YY_MORE_ADJ; ! ! if ( yy_next_state ) ! { ! /* Consume the NUL. */ ! yy_cp = ++yy_c_buf_p; ! yy_current_state = yy_next_state; ! goto yy_match; ! } ! else ! { ! yy_cp = yy_c_buf_p; ! goto yy_find_action; } } ! ! else switch ( yy_get_next_buffer() ) ! { ! case EOB_ACT_END_OF_FILE: ! { ! yy_did_buffer_switch_on_eof = 0; ! ! if ( yywrap() ) ! { ! /* Note: because we've taken care in ! * yy_get_next_buffer() to have set up ! * yytext, we can now set up ! * yy_c_buf_p so that if some total ! * hoser (like flex itself) wants to ! * call the scanner after we return the ! * YY_NULL, it'll still work - another ! * YY_NULL will get returned. ! */ ! yy_c_buf_p = yytext_ptr + YY_MORE_ADJ; ! ! yy_act = YY_STATE_EOF(YY_START); ! goto do_action; } ! ! else ! { ! if ( ! yy_did_buffer_switch_on_eof ) ! YY_NEW_FILE; } + break; } ! ! case EOB_ACT_CONTINUE_SCAN: ! yy_c_buf_p = ! yytext_ptr + yy_amount_of_matched_text; ! ! yy_current_state = yy_get_previous_state(); ! ! yy_cp = yy_c_buf_p; ! yy_bp = yytext_ptr + YY_MORE_ADJ; ! goto yy_match; ! ! case EOB_ACT_LAST_MATCH: ! yy_c_buf_p = ! &yy_current_buffer->yy_ch_buf[yy_n_chars]; ! ! yy_current_state = yy_get_previous_state(); ! ! yy_cp = yy_c_buf_p; ! yy_bp = yytext_ptr + YY_MORE_ADJ; ! goto yy_find_action; ! } ! break; ! } ! ! default: ! YY_FATAL_ERROR( ! "fatal flex scanner internal error--no action found" ); ! } /* end of action switch */ ! } /* end of scanning one token */ ! } /* end of yylex */ ! ! ! /* yy_get_next_buffer - try to read in a new buffer ! * ! * Returns a code representing an action: ! * EOB_ACT_LAST_MATCH - ! * EOB_ACT_CONTINUE_SCAN - continue scanning from current position ! * EOB_ACT_END_OF_FILE - end of file ! */ ! ! static int yy_get_next_buffer() ! { ! register char *dest = yy_current_buffer->yy_ch_buf; ! register char *source = yytext_ptr; ! register int number_to_move, i; ! int ret_val; ! ! if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] ) ! YY_FATAL_ERROR( ! "fatal flex scanner internal error--end of buffer missed" ); ! ! if ( yy_current_buffer->yy_fill_buffer == 0 ) ! { /* Don't try to fill the buffer, so this is an EOF. */ ! if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 ) ! { ! /* We matched a single character, the EOB, so ! * treat this as a final EOF. ! */ ! return EOB_ACT_END_OF_FILE; ! } ! ! else ! { ! /* We matched some text prior to the EOB, first ! * process it. ! */ ! return EOB_ACT_LAST_MATCH; ! } ! } ! ! /* Try to read more data. */ ! ! /* First move last chars to start of buffer. */ ! number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1; ! ! for ( i = 0; i < number_to_move; ++i ) ! *(dest++) = *(source++); ! ! if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING ) ! /* don't do the read, it's not guaranteed to return an EOF, ! * just force an EOF ! */ ! yy_current_buffer->yy_n_chars = yy_n_chars = 0; ! ! else ! { ! int num_to_read = ! yy_current_buffer->yy_buf_size - number_to_move - 1; ! ! while ( num_to_read <= 0 ) ! { /* Not enough room in the buffer - grow it. */ ! #ifdef YY_USES_REJECT ! YY_FATAL_ERROR( ! "input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); ! #else ! ! /* just a shorter name for the current buffer */ ! YY_BUFFER_STATE b = yy_current_buffer; ! ! int yy_c_buf_p_offset = ! (int) (yy_c_buf_p - b->yy_ch_buf); ! ! if ( b->yy_is_our_buffer ) ! { ! int new_size = b->yy_buf_size * 2; ! ! if ( new_size <= 0 ) ! b->yy_buf_size += b->yy_buf_size / 8; ! else ! b->yy_buf_size *= 2; ! ! b->yy_ch_buf = (char *) ! /* Include room in for 2 EOB chars. */ ! yy_flex_realloc( (void *) b->yy_ch_buf, ! b->yy_buf_size + 2 ); } else ! /* Can't grow it, we don't own it. */ ! b->yy_ch_buf = 0; ! ! if ( ! b->yy_ch_buf ) ! YY_FATAL_ERROR( ! "fatal error - scanner input buffer overflow" ); ! ! yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset]; ! ! num_to_read = yy_current_buffer->yy_buf_size - ! number_to_move - 1; ! #endif } ! ! if ( num_to_read > YY_READ_BUF_SIZE ) ! num_to_read = YY_READ_BUF_SIZE; ! ! /* Read in more data. */ ! YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]), ! yy_n_chars, num_to_read ); ! ! yy_current_buffer->yy_n_chars = yy_n_chars; ! } ! ! if ( yy_n_chars == 0 ) ! { ! if ( number_to_move == YY_MORE_ADJ ) ! { ! ret_val = EOB_ACT_END_OF_FILE; ! yyrestart( yyin ); } ! ! else ! { ! ret_val = EOB_ACT_LAST_MATCH; ! yy_current_buffer->yy_buffer_status = ! YY_BUFFER_EOF_PENDING; } ! } ! ! else ! ret_val = EOB_ACT_CONTINUE_SCAN; ! ! yy_n_chars += number_to_move; ! yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR; ! yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR; ! ! yytext_ptr = &yy_current_buffer->yy_ch_buf[0]; ! ! return ret_val; ! } ! ! ! /* yy_get_previous_state - get the state just before the EOB char was reached */ ! ! static yy_state_type yy_get_previous_state() ! { ! register yy_state_type yy_current_state; ! register char *yy_cp; ! ! yy_current_state = yy_start; ! yy_state_ptr = yy_state_buf; ! *yy_state_ptr++ = yy_current_state; ! ! for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp ) ! { ! register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); ! while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { ! yy_current_state = (int) yy_def[yy_current_state]; ! if ( yy_current_state >= 481 ) ! yy_c = yy_meta[(unsigned int) yy_c]; } ! yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ! *yy_state_ptr++ = yy_current_state; } + + return yy_current_state; } ! ! ! /* yy_try_NUL_trans - try to make a transition on the NUL character ! * ! * synopsis ! * next_state = yy_try_NUL_trans( current_state ); ! */ ! ! #ifdef YY_USE_PROTOS ! static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state ) #else ! static yy_state_type yy_try_NUL_trans( yy_current_state ) ! yy_state_type yy_current_state; #endif ! { ! register int yy_is_jam; ! ! register YY_CHAR yy_c = 1; ! while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) ! { ! yy_current_state = (int) yy_def[yy_current_state]; ! if ( yy_current_state >= 481 ) ! yy_c = yy_meta[(unsigned int) yy_c]; ! } ! yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ! yy_is_jam = (yy_current_state == 480); ! if ( ! yy_is_jam ) ! *yy_state_ptr++ = yy_current_state; ! ! return yy_is_jam ? 0 : yy_current_state; } ! ! ! #ifndef YY_NO_UNPUT ! #ifdef YY_USE_PROTOS ! static void yyunput( int c, register char *yy_bp ) ! #else ! static void yyunput( c, yy_bp ) ! int c; ! register char *yy_bp; ! #endif ! { ! register char *yy_cp = yy_c_buf_p; ! ! /* undo effects of setting up yytext */ ! *yy_cp = yy_hold_char; ! ! if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) ! { /* need to shift things up to make room */ ! /* +2 for EOB chars. */ ! register int number_to_move = yy_n_chars + 2; ! register char *dest = &yy_current_buffer->yy_ch_buf[ ! yy_current_buffer->yy_buf_size + 2]; ! register char *source = ! &yy_current_buffer->yy_ch_buf[number_to_move]; ! ! while ( source > yy_current_buffer->yy_ch_buf ) ! *--dest = *--source; ! ! yy_cp += (int) (dest - source); ! yy_bp += (int) (dest - source); ! yy_current_buffer->yy_n_chars = ! yy_n_chars = yy_current_buffer->yy_buf_size; ! ! if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) ! YY_FATAL_ERROR( "flex scanner push-back overflow" ); ! } ! ! *--yy_cp = (char) c; ! ! if ( c == '\n' ) ! --yylineno; ! ! yytext_ptr = yy_bp; ! yy_hold_char = *yy_cp; ! yy_c_buf_p = yy_cp; ! } ! #endif /* ifndef YY_NO_UNPUT */ ! ! ! #ifndef YY_NO_INPUT ! #ifdef __cplusplus ! static int yyinput() ! #else ! static int input() ! #endif ! { ! int c; ! ! *yy_c_buf_p = yy_hold_char; ! ! if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR ) ! { ! /* yy_c_buf_p now points to the character we want to return. ! * If this occurs *before* the EOB characters, then it's a ! * valid NUL; if not, then we've hit the end of the buffer. ! */ ! if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] ) ! /* This was really a NUL. */ ! *yy_c_buf_p = '\0'; ! ! else ! { /* need more input */ ! int offset = yy_c_buf_p - yytext_ptr; ! ++yy_c_buf_p; ! ! switch ( yy_get_next_buffer() ) ! { ! case EOB_ACT_LAST_MATCH: ! /* This happens because yy_g_n_b() ! * sees that we've accumulated a ! * token and flags that we need to ! * try matching the token before ! * proceeding. But for input(), ! * there's no matching to consider. ! * So convert the EOB_ACT_LAST_MATCH ! * to EOB_ACT_END_OF_FILE. ! */ ! ! /* Reset buffer status. */ ! yyrestart( yyin ); ! ! /* fall through */ ! ! case EOB_ACT_END_OF_FILE: ! { ! if ( yywrap() ) ! return EOF; ! ! if ( ! yy_did_buffer_switch_on_eof ) ! YY_NEW_FILE; ! #ifdef __cplusplus ! return yyinput(); ! #else ! return input(); ! #endif ! } ! ! case EOB_ACT_CONTINUE_SCAN: ! yy_c_buf_p = yytext_ptr + offset; ! break; ! } ! } ! } ! ! c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */ ! *yy_c_buf_p = '\0'; /* preserve yytext */ ! yy_hold_char = *++yy_c_buf_p; ! ! if ( c == '\n' ) ! ++yylineno; ! ! return c; ! } ! #endif /* YY_NO_INPUT */ ! ! #ifdef YY_USE_PROTOS ! void yyrestart( FILE *input_file ) ! #else ! void yyrestart( input_file ) ! FILE *input_file; ! #endif ! { ! if ( ! yy_current_buffer ) ! yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); ! ! yy_init_buffer( yy_current_buffer, input_file ); ! yy_load_buffer_state(); ! } ! ! ! #ifdef YY_USE_PROTOS ! void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer ) ! #else ! void yy_switch_to_buffer( new_buffer ) ! YY_BUFFER_STATE new_buffer; ! #endif ! { ! if ( yy_current_buffer == new_buffer ) ! return; ! ! if ( yy_current_buffer ) ! { ! /* Flush out information for old buffer. */ ! *yy_c_buf_p = yy_hold_char; ! yy_current_buffer->yy_buf_pos = yy_c_buf_p; ! yy_current_buffer->yy_n_chars = yy_n_chars; ! } ! ! yy_current_buffer = new_buffer; ! yy_load_buffer_state(); ! ! /* We don't actually know whether we did this switch during ! * EOF (yywrap()) processing, but the only time this flag ! * is looked at is after yywrap() is called, so it's safe ! * to go ahead and always set it. ! */ ! yy_did_buffer_switch_on_eof = 1; ! } ! ! ! #ifdef YY_USE_PROTOS ! void yy_load_buffer_state( void ) ! #else ! void yy_load_buffer_state() ! #endif ! { ! yy_n_chars = yy_current_buffer->yy_n_chars; ! yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos; ! yyin = yy_current_buffer->yy_input_file; ! yy_hold_char = *yy_c_buf_p; ! } ! ! ! #ifdef YY_USE_PROTOS ! YY_BUFFER_STATE yy_create_buffer( FILE *file, int size ) ! #else ! YY_BUFFER_STATE yy_create_buffer( file, size ) ! FILE *file; ! int size; ! #endif ! { ! YY_BUFFER_STATE b; ! ! b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); ! if ( ! b ) ! YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); ! ! b->yy_buf_size = size; ! ! /* yy_ch_buf has to be 2 characters longer than the size given because ! * we need to put in 2 end-of-buffer characters. ! */ ! b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 ); ! if ( ! b->yy_ch_buf ) ! YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); ! ! b->yy_is_our_buffer = 1; ! ! yy_init_buffer( b, file ); ! ! return b; ! } ! ! ! #ifdef YY_USE_PROTOS ! void yy_delete_buffer( YY_BUFFER_STATE b ) ! #else ! void yy_delete_buffer( b ) ! YY_BUFFER_STATE b; ! #endif ! { ! if ( ! b ) ! return; ! ! if ( b == yy_current_buffer ) ! yy_current_buffer = (YY_BUFFER_STATE) 0; ! ! if ( b->yy_is_our_buffer ) ! yy_flex_free( (void *) b->yy_ch_buf ); ! ! yy_flex_free( (void *) b ); ! } ! ! ! ! #ifdef YY_USE_PROTOS ! void yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) ! #else ! void yy_init_buffer( b, file ) ! YY_BUFFER_STATE b; ! FILE *file; ! #endif ! ! ! { ! yy_flush_buffer( b ); ! ! b->yy_input_file = file; ! b->yy_fill_buffer = 1; ! ! #if YY_ALWAYS_INTERACTIVE ! b->yy_is_interactive = 1; ! #else ! #if YY_NEVER_INTERACTIVE ! b->yy_is_interactive = 0; ! #else ! b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; ! #endif ! #endif ! } ! ! ! #ifdef YY_USE_PROTOS ! void yy_flush_buffer( YY_BUFFER_STATE b ) ! #else ! void yy_flush_buffer( b ) ! YY_BUFFER_STATE b; ! #endif ! ! { ! if ( ! b ) ! return; ! ! b->yy_n_chars = 0; ! ! /* We always need two end-of-buffer characters. The first causes ! * a transition to the end-of-buffer state. The second causes ! * a jam in that state. ! */ ! b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; ! b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; ! ! b->yy_buf_pos = &b->yy_ch_buf[0]; ! ! b->yy_at_bol = 1; ! b->yy_buffer_status = YY_BUFFER_NEW; ! ! if ( b == yy_current_buffer ) ! yy_load_buffer_state(); ! } ! ! ! #ifndef YY_NO_SCAN_BUFFER ! #ifdef YY_USE_PROTOS ! YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size ) ! #else ! YY_BUFFER_STATE yy_scan_buffer( base, size ) ! char *base; ! yy_size_t size; ! #endif ! { ! YY_BUFFER_STATE b; ! ! if ( size < 2 || ! base[size-2] != YY_END_OF_BUFFER_CHAR || ! base[size-1] != YY_END_OF_BUFFER_CHAR ) ! /* They forgot to leave room for the EOB's. */ ! return 0; ! ! b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); ! if ( ! b ) ! YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); ! ! b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ ! b->yy_buf_pos = b->yy_ch_buf = base; ! b->yy_is_our_buffer = 0; ! b->yy_input_file = 0; ! b->yy_n_chars = b->yy_buf_size; ! b->yy_is_interactive = 0; ! b->yy_at_bol = 1; ! b->yy_fill_buffer = 0; ! b->yy_buffer_status = YY_BUFFER_NEW; ! ! yy_switch_to_buffer( b ); ! ! return b; ! } ! #endif ! ! ! #ifndef YY_NO_SCAN_STRING ! #ifdef YY_USE_PROTOS ! YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str ) ! #else ! YY_BUFFER_STATE yy_scan_string( yy_str ) ! yyconst char *yy_str; ! #endif ! { ! int len; ! for ( len = 0; yy_str[len]; ++len ) ! ; ! ! return yy_scan_bytes( yy_str, len ); ! } ! #endif ! ! ! #ifndef YY_NO_SCAN_BYTES ! #ifdef YY_USE_PROTOS ! YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len ) ! #else ! YY_BUFFER_STATE yy_scan_bytes( bytes, len ) ! yyconst char *bytes; ! int len; ! #endif ! { ! YY_BUFFER_STATE b; ! char *buf; ! yy_size_t n; ! int i; ! ! /* Get memory for full buffer, including space for trailing EOB's. */ ! n = len + 2; ! buf = (char *) yy_flex_alloc( n ); ! if ( ! buf ) ! YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); ! ! for ( i = 0; i < len; ++i ) ! buf[i] = bytes[i]; ! ! buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR; ! ! b = yy_scan_buffer( buf, n ); ! if ( ! b ) ! YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); ! ! /* It's okay to grow etc. this buffer, and we should throw it ! * away when we're done. ! */ ! b->yy_is_our_buffer = 1; ! ! return b; ! } ! #endif ! ! ! #ifndef YY_NO_PUSH_STATE ! #ifdef YY_USE_PROTOS ! static void yy_push_state( int new_state ) ! #else ! static void yy_push_state( new_state ) ! int new_state; ! #endif ! { ! if ( yy_start_stack_ptr >= yy_start_stack_depth ) ! { ! yy_size_t new_size; ! ! yy_start_stack_depth += YY_START_STACK_INCR; ! new_size = yy_start_stack_depth * sizeof( int ); ! ! if ( ! yy_start_stack ) ! yy_start_stack = (int *) yy_flex_alloc( new_size ); ! ! else ! yy_start_stack = (int *) yy_flex_realloc( ! (void *) yy_start_stack, new_size ); ! ! if ( ! yy_start_stack ) ! YY_FATAL_ERROR( ! "out of memory expanding start-condition stack" ); ! } ! ! yy_start_stack[yy_start_stack_ptr++] = YY_START; ! ! BEGIN(new_state); ! } ! #endif ! ! ! #ifndef YY_NO_POP_STATE ! static void yy_pop_state() ! { ! if ( --yy_start_stack_ptr < 0 ) ! YY_FATAL_ERROR( "start-condition stack underflow" ); ! ! BEGIN(yy_start_stack[yy_start_stack_ptr]); ! } ! #endif ! ! ! #ifndef YY_NO_TOP_STATE ! static int yy_top_state() ! { ! return yy_start_stack[yy_start_stack_ptr - 1]; ! } ! #endif ! ! #ifndef YY_EXIT_FAILURE ! #define YY_EXIT_FAILURE 2 ! #endif ! ! #ifdef YY_USE_PROTOS ! static void yy_fatal_error( yyconst char msg[] ) ! #else ! static void yy_fatal_error( msg ) ! char msg[]; ! #endif ! { ! (void) fprintf( stderr, "%s\n", msg ); ! exit( YY_EXIT_FAILURE ); ! } ! ! ! ! /* Redefine yyless() so it works in section 3 code. */ ! ! #undef yyless ! #define yyless(n) \ ! do \ ! { \ ! /* Undo effects of setting up yytext. */ \ ! yytext[yyleng] = yy_hold_char; \ ! yy_c_buf_p = yytext + n; \ ! yy_hold_char = *yy_c_buf_p; \ ! *yy_c_buf_p = '\0'; \ ! yyleng = n; \ ! } \ ! while ( 0 ) ! ! ! /* Internal utility routines. */ ! ! #ifndef yytext_ptr ! #ifdef YY_USE_PROTOS ! static void yy_flex_strncpy( char *s1, yyconst char *s2, int n ) ! #else ! static void yy_flex_strncpy( s1, s2, n ) ! char *s1; ! yyconst char *s2; ! int n; ! #endif ! { ! register int i; ! for ( i = 0; i < n; ++i ) ! s1[i] = s2[i]; ! } ! #endif ! ! #ifdef YY_NEED_STRLEN ! #ifdef YY_USE_PROTOS ! static int yy_flex_strlen( yyconst char *s ) ! #else ! static int yy_flex_strlen( s ) ! yyconst char *s; ! #endif ! { ! register int n; ! for ( n = 0; s[n]; ++n ) ! ; ! ! return n; ! } ! #endif ! ! ! #ifdef YY_USE_PROTOS ! static void *yy_flex_alloc( yy_size_t size ) #else ! static void *yy_flex_alloc( size ) ! yy_size_t size; #endif ! { ! return (void *) malloc( size ); } ! ! #ifdef YY_USE_PROTOS ! static void *yy_flex_realloc( void *ptr, yy_size_t size ) #else ! static void *yy_flex_realloc( ptr, size ) ! void *ptr; ! yy_size_t size; #endif ! { ! /* The cast to (char *) in the following accommodates both ! * implementations that use char* generic pointers, and those ! * that use void* generic pointers. It works with the latter ! * because both ANSI C and C++ allow castless assignment from ! * any pointer type to void*, and deal with argument conversions ! * as though doing an assignment. ! */ ! return (void *) realloc( (char *) ptr, size ); } ! ! #ifdef YY_USE_PROTOS ! static void yy_flex_free( void *ptr ) #else ! static void yy_flex_free( ptr ) ! void *ptr; #endif ! { ! free( ptr ); ! } ! ! #if YY_MAIN ! int main() ! { ! yylex(); ! return 0; } + #endif + #line 84 "lang.lex" + + #define output(x) + + yywrap() + { return 1;} diff -c -r sim5.0/sim/lang/makefile sim5.0-linux/sim/lang/makefile *** sim5.0/sim/lang/makefile 1997-08-13 07:08:20.000000000 +0930 --- sim5.0-linux/sim/lang/makefile 2003-08-26 14:13:10.000000000 +0930 *************** *** 1,8 **** all: y.tab.c y.tab.c : lang.yacc lex.yy.c ! yacc lang.yacc lex.yy.c : lang.lex ! lex lang.lex --- 1,15 ---- + YACC = yacc + LEX = lex -l + + all: y.tab.c y.tab.c : lang.yacc lex.yy.c ! $(YACC) lang.yacc lex.yy.c : lang.lex ! $(LEX) lang.lex ! ! clean: ! rm -f lex.yy.c y.tab.c diff -c -r sim5.0/sim/lang/y.tab.c sim5.0-linux/sim/lang/y.tab.c *** sim5.0/sim/lang/y.tab.c 1997-08-14 06:11:42.000000000 +0930 --- sim5.0-linux/sim/lang/y.tab.c 2003-08-26 14:20:49.000000000 +0930 *************** *** 1,5 **** ! ! # line 2 "lang.yacc" grnode* node_table [MAX_NODES]; int i,nodeid; --- 1,19 ---- ! #ifndef lint ! static char const ! yyrcsid[] = "$FreeBSD: src/usr.bin/yacc/skeleton.c,v 1.28 2000/01/17 02:04:06 bde Exp $"; ! #endif ! #include ! #define YYBYACC 1 ! #define YYMAJOR 1 ! #define YYMINOR 9 ! #define YYLEX yylex() ! #define YYEMPTY -1 ! #define yyclearin (yychar=(YYEMPTY)) ! #define yyerrok (yyerrflag=0) ! #define YYRECOVERING() (yyerrflag!=0) ! static int yygrowstack(); ! #define YYPREFIX "yy" ! #line 2 "lang.yacc" grnode* node_table [MAX_NODES]; int i,nodeid; *************** *** 83,198 **** } ! # define NETWORK 257 ! # define STRING 258 ! # define VERSION 259 ! # define PASSTIME 260 ! # define NEST_PARAMS 261 ! # define NUMBER 262 ! # define TRUE_OR_FALSE 263 ! # define MAXNODES 264 ! # define MONITOR 265 ! # define NAME 266 ! # define HEADER 267 ! # define FUNCTION 268 ! # define NODE 269 ! # define START 270 ! # define HALT 271 ! # define REPEAT 272 ! # define DEST 273 ! # define FROM 274 ! # define TO 275 ! # define BANDWIDTH 276 ! # define PLOT 277 ! # define BROADCAST 278 ! # define POINT2POINT 279 ! # define LATENCY 280 ! # define CHANNEL_STACK 281 ! # define NODE_FUNCTIONS 282 ! # define MONITOR_FUNCTIONS 283 ! # define CHANNEL_FUNCTIONS 284 ! # define NODES 285 ! # define EDGES 286 ! # define INTER_PKT_DELAY 287 ! # define ACK_SIZE 288 ! # define BUFFER_SIZE 289 ! # define RANDOM_SEED 290 ! # define TELNET_PKT_SIZE 291 ! # define FTP_PKT_SIZE 292 ! # define FTP_WINDOW 293 ! # define TELNET_WINDOW 294 ! # define DECONGESTION_MECHANISM 295 ! # define SCH_POLICY 296 ! # define ROUTER_NODE 297 ! # define REAL_NUMBER 298 ! # define F_NUMBER 299 ! # define REAL_PARAMS 300 ! # define DEFAULT 301 ! # define DIAMETER 302 ! # define NUM_PKTS 303 ! # define ON_TIME 304 ! # define OFF_TIME 305 ! # define AVERAGE 306 ! # define PEAK 307 ! # define INTERVAL 308 ! # define JITTER 309 ! # define HRR_LEVELS 310 ! # define PRINT_INTERVAL 311 ! # define END_SIMULATION 312 ! # define SCALE_FACTOR 313 ! # define START_TIME 314 ! # define INPUT_FILE 315 ! # define UTIL_TIME 316 ! # define CLASS 317 ! # define LOSS_PROB 318 ! # define CORRUPTION_PROB 319 ! # define LOSS_BURST_SIZE 320 ! # define LOCATION 321 ! ! #include ! #include ! #include ! ! #ifdef __cplusplus ! ! #ifndef yyerror ! void yyerror(const char *); ! #endif ! ! #ifndef yylex ! #ifdef __EXTERN_C__ ! extern "C" { int yylex(void); } ! #else ! int yylex(void); ! #endif #endif ! int yyparse(void); ! #endif - #define yyclearin yychar = -1 - #define yyerrok yyerrflag = 0 - extern int yychar; - extern int yyerrflag; #ifndef YYSTYPE ! #define YYSTYPE int #endif ! YYSTYPE yylval; ! YYSTYPE yyval; ! typedef int yytabelem; ! #ifndef YYMAXDEPTH ! #define YYMAXDEPTH 150 #endif ! #if YYMAXDEPTH > 0 ! int yy_yys[YYMAXDEPTH], *yys = yy_yys; ! YYSTYPE yy_yyv[YYMAXDEPTH], *yyv = yy_yyv; ! #else /* user does initial allocation */ ! int *yys; ! YYSTYPE *yyv; #endif ! static int yymaxdepth = YYMAXDEPTH; ! # define YYERRCODE 256 ! ! # line 852 "lang.yacc" /* programs */ char * --- 97,863 ---- } ! #line 101 "y.tab.c" ! #define YYERRCODE 256 ! #define NETWORK 257 ! #define STRING 258 ! #define VERSION 259 ! #define PASSTIME 260 ! #define NEST_PARAMS 261 ! #define NUMBER 262 ! #define TRUE_OR_FALSE 263 ! #define MAXNODES 264 ! #define MONITOR 265 ! #define NAME 266 ! #define HEADER 267 ! #define FUNCTION 268 ! #define NODE 269 ! #define START 270 ! #define HALT 271 ! #define REPEAT 272 ! #define DEST 273 ! #define FROM 274 ! #define TO 275 ! #define BANDWIDTH 276 ! #define PLOT 277 ! #define BROADCAST 278 ! #define POINT2POINT 279 ! #define LATENCY 280 ! #define CHANNEL_STACK 281 ! #define NODE_FUNCTIONS 282 ! #define MONITOR_FUNCTIONS 283 ! #define CHANNEL_FUNCTIONS 284 ! #define NODES 285 ! #define EDGES 286 ! #define INTER_PKT_DELAY 287 ! #define ACK_SIZE 288 ! #define BUFFER_SIZE 289 ! #define RANDOM_SEED 290 ! #define TELNET_PKT_SIZE 291 ! #define FTP_PKT_SIZE 292 ! #define FTP_WINDOW 293 ! #define TELNET_WINDOW 294 ! #define DECONGESTION_MECHANISM 295 ! #define SCH_POLICY 296 ! #define ROUTER_NODE 297 ! #define REAL_NUMBER 298 ! #define F_NUMBER 299 ! #define REAL_PARAMS 300 ! #define DEFAULT 301 ! #define DIAMETER 302 ! #define NUM_PKTS 303 ! #define ON_TIME 304 ! #define OFF_TIME 305 ! #define AVERAGE 306 ! #define PEAK 307 ! #define INTERVAL 308 ! #define JITTER 309 ! #define HRR_LEVELS 310 ! #define PRINT_INTERVAL 311 ! #define END_SIMULATION 312 ! #define SCALE_FACTOR 313 ! #define START_TIME 314 ! #define INPUT_FILE 315 ! #define UTIL_TIME 316 ! #define CLASS 317 ! #define LOSS_PROB 318 ! #define CORRUPTION_PROB 319 ! #define LOSS_BURST_SIZE 320 ! #define LOCATION 321 ! const short yylhs[] = { -1, ! 2, 0, 1, 1, 9, 9, 9, 10, 10, 10, ! 10, 10, 3, 3, 4, 4, 11, 11, 12, 12, ! 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, ! 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, ! 13, 14, 14, 15, 15, 16, 16, 16, 17, 17, ! 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, ! 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, ! 28, 28, 28, 29, 29, 29, 31, 31, 31, 32, ! 32, 32, 6, 5, 5, 5, 34, 34, 35, 35, ! 33, 37, 37, 36, 36, 7, 7, 38, 38, 40, ! 40, 41, 41, 41, 41, 41, 41, 41, 41, 41, ! 41, 41, 41, 41, 42, 42, 43, 43, 44, 44, ! 45, 45, 46, 46, 47, 47, 47, 48, 48, 48, ! 49, 49, 49, 50, 50, 50, 51, 51, 52, 52, ! 53, 54, 54, 55, 55, 30, 30, 39, 39, 57, ! 56, 58, 58, 59, 59, 59, 59, 59, 59, 59, ! 59, 59, 59, 59, 59, 59, 59, 59, 59, 60, ! 60, 61, 61, 62, 62, 63, 63, 64, 64, 65, ! 65, 65, 66, 66, 66, 67, 67, 67, 68, 68, ! 68, 69, 69, 70, 70, 71, 76, 76, 77, 77, ! 72, 72, 73, 73, 74, 74, 75, 75, 8, 80, ! 78, 78, 81, 81, 82, 82, 82, 82, 82, 82, ! 83, 83, 83, 84, 84, 85, 85, 85, 86, 86, ! 86, 87, 87, 87, 79, 79, 90, 88, 89, 89, ! 91, 91, 91, 91, 91, 91, 92, 92, 93, 93, ! 93, 94, 94, 95, 95, 95, 96, 96, 96, 97, ! 97, 97, ! }; ! const short yylen[] = { 2, ! 0, 8, 0, 7, 3, 3, 3, 3, 3, 3, ! 3, 2, 4, 0, 4, 0, 2, 1, 2, 2, ! 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ! 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, ! 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ! 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ! 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ! 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ! 3, 3, 0, 5, 3, 0, 2, 0, 2, 2, ! 2, 1, 2, 1, 2, 5, 3, 4, 3, 2, ! 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, ! 2, 2, 2, 2, 3, 3, 3, 3, 5, 3, ! 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ! 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ! 5, 2, 1, 4, 2, 3, 3, 2, 1, 0, ! 6, 0, 3, 1, 1, 1, 1, 1, 1, 1, ! 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, ! 3, 3, 3, 5, 3, 3, 3, 3, 3, 3, ! 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ! 3, 3, 3, 3, 3, 5, 2, 1, 4, 2, ! 3, 3, 3, 3, 3, 3, 5, 3, 5, 0, ! 5, 3, 2, 0, 2, 2, 2, 2, 2, 2, ! 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ! 3, 3, 3, 3, 4, 3, 0, 2, 0, 2, ! 2, 2, 2, 2, 2, 2, 3, 2, 3, 3, ! 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ! 3, 3, ! }; ! const short yydefred[] = { 1, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 83, 7, 5, 6, 0, 0, 0, 39, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, ! 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, ! 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, ! 38, 0, 0, 0, 0, 12, 0, 0, 0, 41, ! 0, 43, 42, 45, 44, 48, 47, 46, 50, 49, ! 54, 53, 52, 51, 56, 55, 58, 57, 60, 59, ! 62, 61, 64, 63, 147, 146, 66, 65, 68, 67, ! 82, 81, 80, 70, 69, 73, 72, 71, 76, 75, ! 74, 79, 78, 77, 15, 85, 0, 92, 88, 0, ! 0, 0, 9, 8, 11, 10, 4, 0, 93, 0, ! 91, 0, 0, 0, 2, 40, 0, 94, 84, 87, ! 0, 97, 0, 0, 0, 0, 89, 0, 0, 0, ! 0, 149, 0, 0, 99, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 150, 96, 148, 0, 0, 237, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 114, 98, 100, 102, 103, 104, 105, 106, ! 107, 108, 109, 110, 111, 112, 113, 0, 212, 0, ! 0, 0, 237, 209, 116, 115, 118, 117, 122, 121, ! 124, 123, 127, 125, 126, 130, 128, 129, 136, 135, ! 134, 133, 132, 131, 138, 137, 140, 139, 0, 120, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 236, 0, 0, 0, 0, ! 0, 0, 0, 238, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 143, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 154, 155, 156, 157, 158, ! 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, ! 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 211, 213, 215, 216, 217, 218, 219, 248, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 240, 241, 242, 243, 244, 245, 246, 235, 145, ! 0, 141, 142, 119, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 151, 0, 0, 223, 221, 222, ! 225, 224, 228, 226, 227, 231, 229, 230, 234, 232, ! 233, 247, 251, 249, 250, 253, 252, 256, 254, 255, ! 259, 257, 258, 262, 260, 261, 0, 171, 170, 173, ! 172, 177, 176, 202, 201, 179, 178, 182, 180, 181, ! 185, 183, 184, 191, 190, 189, 188, 187, 186, 193, ! 192, 195, 194, 0, 175, 0, 204, 203, 206, 205, ! 0, 153, 208, 144, 0, 0, 0, 198, 0, 0, ! 200, 0, 196, 197, 174, 207, 0, 199, ! }; ! const short yydgoto[] = { 1, ! 4, 2, 7, 12, 62, 135, 192, 205, 9, 68, ! 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, ! 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, ! 58, 59, 189, 200, 210, 211, 190, 214, 221, 239, ! 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, ! 250, 251, 252, 365, 366, 222, 298, 384, 385, 386, ! 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, ! 397, 398, 399, 400, 401, 547, 548, 224, 259, 257, ! 339, 340, 341, 342, 343, 344, 345, 301, 354, 302, ! 355, 356, 357, 358, 359, 360, 361, ! }; ! const short yysindex[] = { 0, ! 0, -194, 40, -184, -179, 55, -204, -56, 39, 57, ! 60, -142, 83, -94, -74, -101, 126, -60, -58, -55, ! -54, -53, -52, -51, -50, -49, -48, -47, -46, -45, ! -44, -43, -42, -41, -40, -39, -38, -121, 0, 127, ! 128, 129, 130, 196, 197, 198, 202, 211, 213, 214, ! 215, 217, 218, 221, 224, 225, 239, 240, 242, 57, ! -63, 0, 0, 0, 0, 248, 99, 268, 0, 269, ! 67, 271, 69, 297, 100, 303, -200, 305, 103, 307, ! 105, 312, 110, 315, 113, 317, 115, 319, 117, 321, ! 119, 323, 121, 325, 123, 327, 125, 329, 131, 330, ! -198, 331, 132, 332, -188, 333, -187, 336, -182, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, -2, 337, -167, 112, 0, -181, -178, 273, 0, ! 355, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 341, 0, 0, 342, ! -62, 116, 0, 0, 0, 0, 0, 141, 0, 11, ! 0, 345, 104, 283, 0, 0, 348, 0, 0, 0, ! 349, 0, 8, 140, 109, 0, 0, 352, -158, 150, ! -1, 0, 157, 291, 0, -37, -36, -35, -34, -33, ! -32, -31, -30, -29, -28, 354, -27, 357, 29, 0, ! 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, ! 368, 369, 0, 0, 0, 370, 308, 0, 36, 371, ! 174, 374, 172, 376, 173, 378, 176, 380, -177, 381, ! -169, 382, -162, 383, 9, 384, 182, 386, 184, 324, ! 389, 187, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 328, 0, -186, ! 334, -193, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, -191, 0, ! 406, -201, 393, -26, -25, -24, -23, -22, 335, -186, ! 394, 395, 396, 397, 398, 0, 399, 186, -21, -20, ! -19, -18, -17, 0, -193, 403, 404, 405, 407, 408, ! 409, 340, 410, 412, 3, 0, 209, -16, -15, -14, ! -13, -12, -11, -10, -9, -8, -7, -6, 411, -5, ! -4, -3, 413, 350, 414, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 220, 0, 418, 13, 419, 219, 420, 16, 421, 17, ! 423, 19, 0, 0, 0, 0, 0, 0, 0, 0, ! 222, 424, 20, 426, 226, 427, 41, 428, 42, 430, ! 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 228, 0, 0, 0, 432, 234, 434, 232, 436, 233, ! 438, 236, 440, 238, 442, 58, 443, 61, 444, 62, ! 445, 64, 446, 244, 448, 246, 387, 450, 249, 453, ! 255, 455, 253, 254, 0, -201, 458, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 459, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, -170, 0, 475, 0, 0, 0, 0, ! 476, 0, 0, 0, 462, 464, 4, 0, 261, 262, ! 0, 263, 0, 0, 0, 0, 467, 0, ! }; ! const short yyrindex[] = { 0, ! 0, -120, 0, -203, 0, 0, -103, 0, 0, 0, ! 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, -59, 0, 0, 0, 0, ! 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, ! 0, 416, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 417, 0, 0, 0, 0, 0, 0, 0, 402, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 416, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, ! }; ! const short yygindex[] = { 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 469, 21, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, -151, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 165, 311, 0, 59, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ! 193, 0, 0, 0, 0, 0, 0, 231, 181, 0, ! 0, 0, 0, 0, 0, 0, 0, ! }; ! #define YYTABLESIZE 548 ! const short yytable[] = { 95, ! 71, 14, 73, 110, 15, 75, 77, 79, 81, 83, ! 85, 87, 89, 91, 93, 95, 97, 99, 101, 103, ! 105, 107, 109, 261, 263, 265, 267, 269, 271, 273, ! 275, 277, 279, 282, 404, 406, 408, 410, 412, 423, ! 425, 427, 429, 431, 446, 448, 450, 452, 454, 456, ! 458, 460, 462, 464, 466, 469, 471, 473, 111, 134, ! 203, 147, 347, 172, 363, 90, 368, 238, 348, 333, ! 364, 369, 3, 177, 180, 370, 6, 8, 14, 183, ! 193, 14, 349, 195, 314, 545, 350, 238, 187, 334, ! 188, 546, 317, 335, 371, 11, 14, 16, 148, 320, ! 173, 372, 373, 374, 375, 376, 377, 378, 379, 226, ! 178, 181, 380, 381, 227, 382, 184, 194, 228, 383, ! 196, 315, 185, 254, 351, 352, 353, 442, 553, 318, ! 219, 336, 337, 338, 17, 209, 321, 30, 18, 61, ! 3, 63, 19, 20, 229, 230, 231, 232, 233, 234, ! 235, 236, 111, 284, 66, 237, 137, 67, 303, 138, ! 304, 3, 5, 64, 3, 21, 22, 23, 24, 25, ! 26, 27, 28, 29, 30, 31, 32, 10, 16, 3, ! 33, 16, 60, 65, 69, 112, 113, 114, 115, 34, ! 35, 36, 133, 202, 37, 70, 90, 72, 90, 13, ! 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, ! 94, 96, 98, 100, 102, 104, 106, 108, 260, 262, ! 264, 266, 268, 270, 272, 274, 276, 278, 281, 403, ! 405, 407, 409, 411, 422, 424, 426, 428, 430, 445, ! 447, 449, 451, 453, 455, 457, 459, 461, 463, 465, ! 468, 470, 472, 17, 116, 117, 118, 18, 363, 545, ! 119, 19, 20, 218, 364, 546, 207, 220, 208, 120, ! 323, 121, 122, 123, 479, 124, 125, 484, 487, 126, ! 490, 494, 127, 128, 21, 22, 23, 24, 25, 26, ! 27, 28, 29, 30, 31, 32, 226, 129, 130, 33, ! 131, 227, 499, 502, 505, 228, 136, 324, 34, 35, ! 36, 480, 17, 37, 485, 488, 18, 491, 495, 519, ! 19, 20, 522, 525, 30, 528, 139, 140, 141, 142, ! 143, 229, 230, 231, 232, 233, 234, 235, 236, 500, ! 503, 506, 237, 21, 22, 23, 24, 25, 26, 27, ! 28, 29, 30, 31, 32, 144, 520, 145, 33, 523, ! 526, 146, 529, 149, 150, 151, 152, 34, 35, 36, ! 153, 154, 37, 155, 156, 157, 158, 159, 160, 161, ! 162, 163, 164, 165, 166, 167, 168, 169, 171, 174, ! 176, 179, 170, 175, 182, 186, 191, 197, 198, 199, ! 201, 204, 206, 212, 213, 215, 216, 217, 220, 223, ! 225, 253, 256, 258, 280, 283, 286, 287, 288, 289, ! 290, 291, 292, 293, 294, 295, 296, 297, 299, 305, ! 300, 306, 307, 308, 309, 310, 311, 312, 313, 316, ! 319, 322, 325, 326, 327, 328, 329, 330, 331, 367, ! 332, 402, 415, 416, 417, 418, 419, 420, 346, 413, ! 421, 433, 434, 435, 439, 436, 437, 438, 440, 441, ! 444, 467, 476, 474, 475, 477, 478, 481, 483, 486, ! 482, 489, 493, 492, 496, 498, 501, 497, 504, 507, ! 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, ! 518, 521, 524, 527, 530, 531, 532, 533, 535, 534, ! 536, 537, 538, 539, 540, 541, 543, 544, 549, 550, ! 551, 552, 555, 556, 557, 558, 214, 86, 132, 443, ! 285, 255, 414, 362, 542, 432, 0, 210, 0, 0, ! 239, 152, 0, 0, 0, 0, 0, 554, ! }; ! const short yycheck[] = { 59, ! 61, 58, 61, 125, 61, 61, 61, 61, 61, 61, ! 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, ! 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, ! 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, ! 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, ! 61, 61, 61, 61, 61, 61, 61, 61, 38, 123, ! 123, 262, 256, 262, 256, 125, 268, 219, 262, 256, ! 262, 273, 267, 262, 262, 277, 261, 257, 282, 262, ! 262, 285, 276, 262, 262, 256, 280, 239, 256, 276, ! 258, 262, 262, 280, 296, 300, 300, 59, 299, 262, ! 299, 303, 304, 305, 306, 307, 308, 309, 310, 268, ! 299, 299, 314, 315, 273, 317, 299, 299, 277, 321, ! 299, 299, 125, 125, 318, 319, 320, 125, 125, 299, ! 123, 318, 319, 320, 256, 125, 299, 296, 260, 282, ! 261, 59, 264, 265, 303, 304, 305, 306, 307, 308, ! 309, 310, 132, 125, 256, 314, 58, 259, 123, 61, ! 125, 282, 123, 258, 285, 287, 288, 289, 290, 291, ! 292, 293, 294, 295, 296, 297, 298, 123, 282, 300, ! 302, 285, 123, 258, 59, 59, 59, 59, 59, 311, ! 312, 313, 256, 256, 316, 256, 256, 256, 258, 256, ! 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, ! 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, ! 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, ! 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, ! 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, ! 256, 256, 256, 256, 59, 59, 59, 260, 256, 256, ! 59, 264, 265, 256, 262, 262, 256, 269, 258, 59, ! 262, 59, 59, 59, 262, 59, 59, 262, 262, 59, ! 262, 262, 59, 59, 287, 288, 289, 290, 291, 292, ! 293, 294, 295, 296, 297, 298, 268, 59, 59, 302, ! 59, 273, 262, 262, 262, 277, 59, 299, 311, 312, ! 313, 299, 256, 316, 299, 299, 260, 299, 299, 262, ! 264, 265, 262, 262, 296, 262, 59, 59, 262, 59, ! 262, 303, 304, 305, 306, 307, 308, 309, 310, 299, ! 299, 299, 314, 287, 288, 289, 290, 291, 292, 293, ! 294, 295, 296, 297, 298, 59, 299, 258, 302, 299, ! 299, 59, 299, 59, 262, 59, 262, 311, 312, 313, ! 59, 262, 316, 59, 262, 59, 262, 59, 262, 59, ! 262, 59, 262, 59, 262, 59, 262, 59, 59, 59, ! 59, 59, 262, 262, 59, 59, 285, 125, 44, 59, ! 59, 286, 262, 59, 301, 123, 59, 59, 269, 301, ! 59, 262, 256, 123, 61, 59, 59, 59, 59, 59, ! 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, ! 123, 258, 59, 262, 59, 263, 59, 262, 59, 59, ! 59, 59, 59, 262, 59, 262, 123, 59, 262, 44, ! 123, 59, 59, 59, 59, 59, 59, 59, 125, 125, ! 275, 59, 59, 59, 125, 59, 59, 59, 59, 58, ! 262, 61, 59, 61, 125, 256, 59, 59, 59, 59, ! 262, 59, 59, 262, 59, 59, 59, 262, 59, 262, ! 59, 258, 59, 262, 59, 263, 59, 262, 59, 262, ! 59, 59, 59, 59, 59, 262, 59, 262, 59, 123, ! 262, 59, 258, 59, 262, 262, 59, 59, 44, 44, ! 59, 58, 262, 262, 262, 59, 125, 285, 60, 365, ! 239, 221, 340, 303, 476, 355, -1, 123, -1, -1, ! 125, 125, -1, -1, -1, -1, -1, 547, ! }; ! #define YYFINAL 1 ! #ifndef YYDEBUG ! #define YYDEBUG 0 #endif ! #define YYMAXTOKEN 321 ! #if YYDEBUG ! const char * const yyname[] = { ! "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ! 0,0,0,0,0,0,0,0,0,0,"','",0,0,0,0,0,0,0,0,0,0,0,0,0,"':'","';'",0,"'='",0,0,0,0, ! 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ! 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'{'",0,"'}'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ! 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ! 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ! 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"NETWORK", ! "STRING","VERSION","PASSTIME","NEST_PARAMS","NUMBER","TRUE_OR_FALSE","MAXNODES", ! "MONITOR","NAME","HEADER","FUNCTION","NODE","START","HALT","REPEAT","DEST", ! "FROM","TO","BANDWIDTH","PLOT","BROADCAST","POINT2POINT","LATENCY", ! "CHANNEL_STACK","NODE_FUNCTIONS","MONITOR_FUNCTIONS","CHANNEL_FUNCTIONS", ! "NODES","EDGES","INTER_PKT_DELAY","ACK_SIZE","BUFFER_SIZE","RANDOM_SEED", ! "TELNET_PKT_SIZE","FTP_PKT_SIZE","FTP_WINDOW","TELNET_WINDOW", ! "DECONGESTION_MECHANISM","SCH_POLICY","ROUTER_NODE","REAL_NUMBER","F_NUMBER", ! "REAL_PARAMS","DEFAULT","DIAMETER","NUM_PKTS","ON_TIME","OFF_TIME","AVERAGE", ! "PEAK","INTERVAL","JITTER","HRR_LEVELS","PRINT_INTERVAL","END_SIMULATION", ! "SCALE_FACTOR","START_TIME","INPUT_FILE","UTIL_TIME","CLASS","LOSS_PROB", ! "CORRUPTION_PROB","LOSS_BURST_SIZE","LOCATION", ! }; ! const char * const yyrule[] = { ! "$accept : network", ! "$$1 :", ! "network : $$1 header nest_params real_params node_functions chan_mon_filler nodes edges", ! "header :", ! "header : HEADER '{' name ';' version ';' '}'", ! "name : NETWORK ':' STRING", ! "name : NETWORK '=' STRING", ! "name : NETWORK error ';'", ! "version : VERSION ':' F_NUMBER", ! "version : VERSION ':' NUMBER", ! "version : VERSION '=' F_NUMBER", ! "version : VERSION '=' NUMBER", ! "version : error ';'", ! "nest_params : NEST_PARAMS '{' paramlist '}'", ! "nest_params :", ! "real_params : REAL_PARAMS '{' paramlist '}'", ! "real_params :", ! "paramlist : paramlist param", ! "paramlist : param", ! "param : passtime ';'", ! "param : maxnodes ';'", ! "param : monitor ';'", ! "param : inter_pkt_delay ';'", ! "param : ack_size ';'", ! "param : random_seed ';'", ! "param : buffer_size ';'", ! "param : telnet_pkt_size ';'", ! "param : ftp_pkt_size ';'", ! "param : ftp_window ';'", ! "param : telnet_window ';'", ! "param : decongestion_mechanism ';'", ! "param : router_node ';'", ! "param : real_number ';'", ! "param : print_interval ';'", ! "param : end_simulation ';'", ! "param : scale_factor ';'", ! "param : d_sch_policy ';'", ! "param : util_time ';'", ! "param : diameter ';'", ! "param : error ';'", ! "passtime : PASSTIME '=' NUMBER ',' NUMBER", ! "passtime : PASSTIME error ';'", ! "maxnodes : MAXNODES '=' NUMBER", ! "maxnodes : MAXNODES error ';'", ! "monitor : MONITOR '=' STRING", ! "monitor : MONITOR error ';'", ! "inter_pkt_delay : INTER_PKT_DELAY '=' F_NUMBER", ! "inter_pkt_delay : INTER_PKT_DELAY '=' NUMBER", ! "inter_pkt_delay : INTER_PKT_DELAY error ';'", ! "ack_size : ACK_SIZE '=' NUMBER", ! "ack_size : ACK_SIZE error ';'", ! "random_seed : RANDOM_SEED '=' NUMBER", ! "random_seed : RANDOM_SEED error ';'", ! "buffer_size : BUFFER_SIZE '=' NUMBER", ! "buffer_size : BUFFER_SIZE error ';'", ! "telnet_pkt_size : TELNET_PKT_SIZE '=' NUMBER", ! "telnet_pkt_size : TELNET_PKT_SIZE error ';'", ! "ftp_pkt_size : FTP_PKT_SIZE '=' NUMBER", ! "ftp_pkt_size : FTP_PKT_SIZE error ';'", ! "ftp_window : FTP_WINDOW '=' NUMBER", ! "ftp_window : FTP_WINDOW error ';'", ! "telnet_window : TELNET_WINDOW '=' NUMBER", ! "telnet_window : TELNET_WINDOW error ';'", ! "decongestion_mechanism : DECONGESTION_MECHANISM '=' NUMBER", ! "decongestion_mechanism : DECONGESTION_MECHANISM error ';'", ! "router_node : ROUTER_NODE '=' NUMBER", ! "router_node : ROUTER_NODE error ';'", ! "real_number : REAL_NUMBER '=' NUMBER", ! "real_number : REAL_NUMBER error ';'", ! "print_interval : PRINT_INTERVAL '=' NUMBER", ! "print_interval : PRINT_INTERVAL error ';'", ! "end_simulation : END_SIMULATION '=' F_NUMBER", ! "end_simulation : END_SIMULATION '=' NUMBER", ! "end_simulation : END_SIMULATION error ';'", ! "scale_factor : SCALE_FACTOR '=' F_NUMBER", ! "scale_factor : SCALE_FACTOR '=' NUMBER", ! "scale_factor : SCALE_FACTOR error ';'", ! "util_time : UTIL_TIME '=' F_NUMBER", ! "util_time : UTIL_TIME '=' NUMBER", ! "util_time : UTIL_TIME error ';'", ! "diameter : DIAMETER '=' F_NUMBER", ! "diameter : DIAMETER '=' NUMBER", ! "diameter : DIAMETER error ';'", ! "chan_mon_filler :", ! "node_functions : NODE_FUNCTIONS '{' firstnodefunc functionlist '}'", ! "node_functions : NODE_FUNCTIONS error ';'", ! "node_functions :", ! "functionlist : functionlist function", ! "functionlist :", ! "function : fn ';'", ! "function : error ';'", ! "firstnodefunc : firstnfn ';'", ! "firstnfn : STRING", ! "firstnfn : error ';'", ! "fn : STRING", ! "fn : error ';'", ! "nodes : NODES '{' defaultnode nodelist '}'", ! "nodes : NODES error ';'", ! "defaultnode : DEFAULT '{' defaultdatalist '}'", ! "defaultnode : DEFAULT error ';'", ! "defaultdatalist : defaultdatalist defaultdata", ! "defaultdatalist : defaultdata", ! "defaultdata : d_nodefn ';'", ! "defaultdata : d_sink ';'", ! "defaultdata : d_start_time ';'", ! "defaultdata : d_plot ';'", ! "defaultdata : d_num_pkts ';'", ! "defaultdata : d_on_time ';'", ! "defaultdata : d_off_time ';'", ! "defaultdata : d_peak ';'", ! "defaultdata : d_average ';'", ! "defaultdata : d_interval ';'", ! "defaultdata : d_jitter ';'", ! "defaultdata : d_hrr_levels ';'", ! "defaultdata : d_sch_policy ';'", ! "d_nodefn : FUNCTION '=' STRING", ! "d_nodefn : FUNCTION error ';'", ! "d_sink : DEST '=' NUMBER", ! "d_sink : DEST error ';'", ! "d_start_time : START_TIME '=' NUMBER ',' NUMBER", ! "d_start_time : START_TIME error ';'", ! "d_plot : PLOT '=' TRUE_OR_FALSE", ! "d_plot : PLOT error ';'", ! "d_num_pkts : NUM_PKTS '=' NUMBER", ! "d_num_pkts : NUM_PKTS error ';'", ! "d_on_time : ON_TIME '=' NUMBER", ! "d_on_time : ON_TIME '=' F_NUMBER", ! "d_on_time : ON_TIME error ';'", ! "d_off_time : OFF_TIME '=' NUMBER", ! "d_off_time : OFF_TIME '=' F_NUMBER", ! "d_off_time : OFF_TIME error ';'", ! "d_peak : PEAK '=' F_NUMBER", ! "d_peak : PEAK '=' NUMBER", ! "d_peak : PEAK error ';'", ! "d_average : AVERAGE '=' F_NUMBER", ! "d_average : AVERAGE '=' NUMBER", ! "d_average : AVERAGE error ';'", ! "d_interval : INTERVAL '=' NUMBER", ! "d_interval : INTERVAL error ';'", ! "d_jitter : JITTER '=' NUMBER", ! "d_jitter : JITTER error ';'", ! "d_hrr_levels : HRR_LEVELS '=' '{' d_hrr_list '}'", ! "d_hrr_list : d_hrr_list d_hrr_pair", ! "d_hrr_list : d_hrr_pair", ! "d_hrr_pair : NUMBER ':' NUMBER ';'", ! "d_hrr_pair : error ';'", ! "d_sch_policy : SCH_POLICY '=' NUMBER", ! "d_sch_policy : SCH_POLICY error ';'", ! "nodelist : nodelist node", ! "nodelist : node", ! "$$2 :", ! "node : NODE NUMBER $$2 '{' nodedata '}'", ! "nodedata :", ! "nodedata : nodedatum ';' nodedata", ! "nodedatum : nodefn", ! "nodedatum : sink", ! "nodedatum : start_time", ! "nodedatum : plot", ! "nodedatum : num_pkts", ! "nodedatum : on_time", ! "nodedatum : off_time", ! "nodedatum : peak", ! "nodedatum : average", ! "nodedatum : interval", ! "nodedatum : jitter", ! "nodedatum : hrr_levels", ! "nodedatum : sch_policy", ! "nodedatum : input_file", ! "nodedatum : class", ! "nodedatum : location", ! "nodefn : FUNCTION '=' STRING", ! "nodefn : FUNCTION error ';'", ! "sink : DEST '=' NUMBER", ! "sink : DEST error ';'", ! "start_time : START_TIME '=' NUMBER ',' NUMBER", ! "start_time : START_TIME error ';'", ! "plot : PLOT '=' TRUE_OR_FALSE", ! "plot : PLOT error ';'", ! "num_pkts : NUM_PKTS '=' NUMBER", ! "num_pkts : NUM_PKTS error ';'", ! "on_time : ON_TIME '=' NUMBER", ! "on_time : ON_TIME '=' F_NUMBER", ! "on_time : ON_TIME error ';'", ! "off_time : OFF_TIME '=' NUMBER", ! "off_time : OFF_TIME '=' F_NUMBER", ! "off_time : OFF_TIME error ';'", ! "peak : PEAK '=' F_NUMBER", ! "peak : PEAK '=' NUMBER", ! "peak : PEAK error ';'", ! "average : AVERAGE '=' F_NUMBER", ! "average : AVERAGE '=' NUMBER", ! "average : AVERAGE error ';'", ! "interval : INTERVAL '=' NUMBER", ! "interval : INTERVAL error ';'", ! "jitter : JITTER '=' NUMBER", ! "jitter : JITTER error ';'", ! "hrr_levels : HRR_LEVELS '=' '{' hrr_list '}'", ! "hrr_list : hrr_list hrr_pair", ! "hrr_list : hrr_pair", ! "hrr_pair : NUMBER ':' NUMBER ';'", ! "hrr_pair : error ';'", ! "sch_policy : SCH_POLICY '=' NUMBER", ! "sch_policy : SCH_POLICY error ';'", ! "input_file : INPUT_FILE '=' STRING", ! "input_file : INPUT_FILE error ';'", ! "class : CLASS '=' NUMBER", ! "class : CLASS error ';'", ! "location : LOCATION '=' NUMBER ',' NUMBER", ! "location : location error ';'", ! "edges : EDGES '{' defaultedge edgelist '}'", ! "$$3 :", ! "defaultedge : DEFAULT $$3 '{' default_edge_data '}'", ! "defaultedge : DEFAULT error ';'", ! "default_edge_data : default_edge_datum default_edge_data", ! "default_edge_data :", ! "default_edge_datum : d_bandwidth ';'", ! "default_edge_datum : d_latency ';'", ! "default_edge_datum : d_loss_prob ';'", ! "default_edge_datum : d_corruption_prob ';'", ! "default_edge_datum : d_loss_burst_size ';'", ! "default_edge_datum : error ';'", ! "d_bandwidth : BANDWIDTH '=' NUMBER", ! "d_bandwidth : BANDWIDTH '=' F_NUMBER", ! "d_bandwidth : BANDWIDTH error ';'", ! "d_latency : LATENCY '=' NUMBER", ! "d_latency : LATENCY error ';'", ! "d_loss_prob : LOSS_PROB '=' NUMBER", ! "d_loss_prob : LOSS_PROB '=' F_NUMBER", ! "d_loss_prob : LOSS_PROB error ';'", ! "d_corruption_prob : CORRUPTION_PROB '=' NUMBER", ! "d_corruption_prob : CORRUPTION_PROB '=' F_NUMBER", ! "d_corruption_prob : CORRUPTION_PROB error ';'", ! "d_loss_burst_size : LOSS_BURST_SIZE '=' NUMBER", ! "d_loss_burst_size : LOSS_BURST_SIZE '=' F_NUMBER", ! "d_loss_burst_size : LOSS_BURST_SIZE error ';'", ! "edgelist : edgelist '{' edge '}'", ! "edgelist : '{' edge '}'", ! "$$4 :", ! "edge : $$4 edgedata", ! "edgedata :", ! "edgedata : edgedatum edgedata", ! "edgedatum : from ';'", ! "edgedatum : bandwidth ';'", ! "edgedatum : latency ';'", ! "edgedatum : loss_prob ';'", ! "edgedatum : corruption_prob ';'", ! "edgedatum : loss_burst_size ';'", ! "from : NUMBER TO NUMBER", ! "from : error ';'", ! "bandwidth : BANDWIDTH '=' NUMBER", ! "bandwidth : BANDWIDTH '=' F_NUMBER", ! "bandwidth : BANDWIDTH error ';'", ! "latency : LATENCY '=' NUMBER", ! "latency : LATENCY error ';'", ! "loss_prob : LOSS_PROB '=' NUMBER", ! "loss_prob : LOSS_PROB '=' F_NUMBER", ! "loss_prob : LOSS_PROB error ';'", ! "corruption_prob : CORRUPTION_PROB '=' NUMBER", ! "corruption_prob : CORRUPTION_PROB '=' F_NUMBER", ! "corruption_prob : CORRUPTION_PROB error ';'", ! "loss_burst_size : LOSS_BURST_SIZE '=' NUMBER", ! "loss_burst_size : LOSS_BURST_SIZE '=' F_NUMBER", ! "loss_burst_size : LOSS_BURST_SIZE error ';'", ! }; #endif #ifndef YYSTYPE ! typedef int YYSTYPE; #endif ! #if YYDEBUG ! #include #endif ! #ifdef YYSTACKSIZE ! #undef YYMAXDEPTH ! #define YYMAXDEPTH YYSTACKSIZE ! #else ! #ifdef YYMAXDEPTH ! #define YYSTACKSIZE YYMAXDEPTH ! #else ! #define YYSTACKSIZE 10000 ! #define YYMAXDEPTH 10000 #endif ! #endif ! #define YYINITSTACKSIZE 200 ! int yydebug; ! int yynerrs; ! int yyerrflag; ! int yychar; ! short *yyssp; ! YYSTYPE *yyvsp; ! YYSTYPE yyval; ! YYSTYPE yylval; ! short *yyss; ! short *yysslim; ! YYSTYPE *yyvs; ! int yystacksize; ! #line 862 "lang.yacc" /* programs */ char * *************** *** 214,1439 **** #include "../lang/lex.yy.c" ! yytabelem yyexca[] ={ ! -1, 1, ! 0, -1, ! -2, 0, ! -1, 217, ! 123, 210, ! -2, 0, ! -1, 224, ! 59, 95, ! -2, 90, ! -1, 263, ! 125, 239, ! -2, 0, ! -1, 264, ! 125, 214, ! -2, 0, ! -1, 308, ! 125, 239, ! -2, 0, ! -1, 323, ! 125, 214, ! -2, 0, ! -1, 418, ! 59, 169, ! -2, 0, ! }; ! # define YYNPROD 263 ! # define YYLAST 621 ! yytabelem yyact[]={ ! ! 546, 401, 437, 143, 322, 307, 217, 208, 529, 9, ! 194, 137, 419, 14, 371, 229, 220, 420, 526, 4, ! 522, 422, 548, 552, 515, 519, 466, 463, 547, 262, ! 342, 439, 557, 556, 551, 38, 316, 438, 543, 39, ! 431, 538, 315, 40, 41, 528, 67, 423, 424, 425, ! 427, 426, 428, 429, 430, 525, 317, 523, 421, 432, ! 318, 433, 520, 467, 464, 434, 42, 43, 45, 44, ! 46, 47, 48, 49, 50, 56, 51, 52, 267, 247, ! 542, 58, 329, 540, 248, 460, 455, 452, 250, 449, ! 53, 54, 55, 446, 441, 57, 356, 536, 319, 320, ! 321, 533, 330, 353, 349, 503, 331, 56, 531, 517, ! 346, 205, 203, 187, 251, 252, 253, 255, 254, 256, ! 257, 258, 461, 456, 453, 249, 450, 184, 513, 511, ! 447, 442, 502, 355, 38, 458, 444, 440, 39, 360, ! 352, 350, 40, 41, 332, 333, 334, 347, 204, 202, ! 186, 179, 210, 358, 548, 176, 151, 344, 340, 220, ! 547, 338, 231, 215, 183, 42, 43, 45, 44, 46, ! 47, 48, 49, 50, 56, 51, 52, 38, 181, 173, ! 58, 39, 171, 499, 169, 40, 41, 167, 178, 53, ! 54, 55, 175, 150, 57, 165, 163, 161, 159, 157, ! 155, 153, 146, 144, 6, 141, 509, 140, 42, 43, ! 45, 44, 46, 47, 48, 49, 50, 56, 51, 52, ! 336, 247, 132, 58, 497, 131, 248, 148, 134, 133, ! 250, 495, 53, 54, 55, 60, 439, 57, 61, 492, ! 490, 488, 438, 486, 221, 484, 482, 480, 478, 56, ! 476, 474, 472, 399, 397, 395, 251, 252, 253, 255, ! 254, 256, 257, 258, 393, 391, 381, 249, 379, 377, ! 375, 373, 302, 300, 298, 296, 294, 195, 292, 290, ! 288, 286, 284, 213, 282, 214, 128, 126, 124, 122, ! 120, 305, 118, 116, 114, 112, 110, 108, 106, 104, ! 102, 100, 98, 96, 94, 92, 90, 12, 471, 228, ! 35, 64, 233, 17, 364, 219, 190, 501, 261, 191, ! 260, 469, 383, 363, 306, 201, 494, 304, 384, 535, ! 68, 558, 555, 550, 541, 539, 537, 534, 532, 362, ! 530, 527, 524, 521, 518, 335, 516, 264, 514, 512, ! 510, 508, 506, 226, 470, 468, 465, 462, 459, 457, ! 454, 451, 448, 445, 443, 390, 389, 388, 387, 206, ! 15, 10, 7, 386, 385, 372, 370, 222, 500, 369, ! 68, 368, 367, 366, 365, 361, 359, 357, 354, 351, ! 348, 345, 343, 341, 339, 337, 281, 280, 279, 278, ! 277, 276, 275, 274, 273, 272, 271, 270, 269, 265, ! 196, 259, 224, 223, 209, 199, 198, 192, 189, 498, ! 188, 185, 182, 180, 177, 174, 496, 172, 170, 168, ! 166, 164, 162, 62, 493, 491, 489, 160, 487, 504, ! 485, 483, 481, 479, 65, 477, 475, 473, 400, 398, ! 396, 158, 156, 154, 152, 149, 147, 145, 142, 394, ! 392, 382, 135, 380, 378, 376, 374, 303, 301, 299, ! 297, 295, 507, 293, 291, 289, 287, 285, 89, 283, ! 88, 129, 127, 125, 123, 121, 87, 119, 117, 115, ! 113, 111, 109, 107, 105, 103, 101, 99, 97, 95, ! 93, 91, 86, 85, 84, 83, 82, 81, 80, 79, ! 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, ! 59, 554, 505, 549, 544, 435, 200, 314, 16, 313, ! 312, 311, 246, 310, 230, 309, 308, 263, 328, 327, ! 326, 325, 324, 246, 66, 268, 553, 323, 227, 225, ! 216, 545, 418, 417, 416, 415, 414, 413, 412, 411, ! 410, 409, 408, 407, 406, 405, 404, 403, 402, 266, ! 436, 245, 244, 243, 242, 241, 240, 239, 238, 237, ! 236, 235, 234, 232, 218, 207, 139, 212, 211, 197, ! 138, 37, 36, 34, 33, 32, 31, 30, 29, 28, ! 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, ! 130, 11, 193, 136, 63, 13, 8, 5, 3, 2, ! 1 }; ! yytabelem yypact[]={ ! ! -10000000,-10000000, -248, -57, 249, -291, 248, 50, -269, 247, ! -221, 461, 177,-10000000, 188, -221, -79,-10000000, 460, 459, ! 458, 457, 456, 455, 454, 453, 452, 451, 450, 449, ! 448, 447, 446, 445, 444, 443, 427, 421, 419, 245, ! 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, ! 234, 233, 232, 231, 229, 228, 227, 226, 225, -34, ! -29, -30, 403, -274, -51, 399, -122,-10000000,-10000000,-10000000, ! -10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, ! -10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, ! -59, 398, -60, 397, -31, 396, -106, 395, -61, 394, ! -62, 393, -63, 392, -64, 378, -65, 373, -66, 372, ! -67, 371, -75, 370, -78, 369, -80, 368, -83, 366, ! -107, 365, -111, 364, -84, 363, -135, 362, -149, 361, ! 359, 258, 358,-10000000,-10000000,-10000000, -276, 154,-10000000, 357, ! -10000000, 356,-10000000,-10000000, 482,-10000000,-10000000,-10000000,-10000000,-10000000, ! -10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, ! -10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, ! -10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, ! -10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, 200, ! -150, -151,-10000000,-10000000, 246, -294, 355, 27,-10000000,-10000000, ! -99,-10000000,-10000000,-10000000,-10000000,-10000000, -295, -253, 121,-10000000, ! -10000000,-10000000, 354, 353,-10000000,-10000000, 230, 53, -110,-10000000, ! -100, -189, 352,-10000000,-10000000, 195,-10000000, 224, 350,-10000000, ! -10000000,-10000000, -47,-10000000, 349, 348, 347, 346, 345, 344, ! 343, 342, 341, 340, 339, 338, 337, 223, 221, 220, ! 219, 218, 217, 215, 214, 213, 212, 211, 266,-10000000, ! -10000000,-10000000, 199, -220, -174,-10000000, 222,-10000000,-10000000,-10000000, ! -10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, ! -10000000,-10000000, -38, 336, -101, 335, -104, 334, -233, 333, ! -105, 332, -152, 331, -158, 330, -159, 329, -166, 328, ! -109, 327, -123, 326, 216, 198,-10000000,-10000000, -220, 325, ! 324, 323, 322, 320, 317, -261, 316, 210, 209, 208, ! 207, 205, 197, -174, 315, 314, 309, 308, 307, 306, ! 204, 203, 194, 193, 192, -256,-10000000,-10000000,-10000000,-10000000, ! 481,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, ! -10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, ! -10000000,-10000000, -225,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, ! -10000000, -125,-10000000, -168, 305, -126, 304, -169, 303, -173, ! 302, -175, 301,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, ! -10000000, -176, 300, -127, 299, -177, 298, -235, 297, -236, ! 296, 196, 295,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, ! -10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, 52, 191, ! 190, 189, 187, 186, 185, 184, 182, 180, 179, 178, ! 265, 170, 163, 122, 256, -130, -20,-10000000, 464, 293, ! -10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, ! -10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, ! -10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, ! -256, 292, -52, 291, -133, 290, -134, 289, -239, 287, ! -153, 285, -237, 284, -242, 283, -244, 282, -254, 281, ! -154, 279, -161, 278, 206, -165, 277, -217, 276, -179, ! 275, -182,-10000000,-10000000,-10000000, -224,-10000000,-10000000,-10000000,-10000000, ! -10000000,-10000000,-10000000, 480,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, ! -10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000,-10000000, ! -10000000,-10000000,-10000000,-10000000,-10000000, -234,-10000000,-10000000,-10000000,-10000000, ! -10000000,-10000000, 479, 274, -228, -102,-10000000, 463, 273, -229, ! -10000000,-10000000,-10000000,-10000000, -230,-10000000,-10000000, 272,-10000000 }; ! yytabelem yypgo[]={ ! ! 0, 620, 619, 618, 617, 616, 615, 614, 613, 612, ! 611, 610, 528, 313, 609, 608, 607, 606, 605, 604, ! 603, 602, 601, 600, 599, 598, 597, 596, 595, 594, ! 593, 310, 592, 591, 590, 589, 588, 587, 586, 585, ! 584, 583, 312, 582, 581, 580, 579, 578, 577, 576, ! 575, 574, 573, 572, 571, 570, 2, 315, 569, 1, ! 568, 567, 566, 565, 564, 563, 562, 561, 560, 559, ! 558, 557, 556, 555, 554, 553, 552, 551, 0, 550, ! 549, 548, 4, 547, 542, 541, 540, 539, 538, 29, ! 537, 5, 536, 535, 533, 531, 530, 529, 527 }; ! yytabelem yyr1[]={ ! ! 0, 2, 1, 3, 3, 10, 10, 10, 11, 11, ! 11, 11, 11, 4, 4, 5, 5, 12, 12, 13, ! 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, ! 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, ! 14, 14, 15, 15, 16, 16, 17, 17, 17, 18, ! 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, ! 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, ! 28, 29, 29, 29, 30, 30, 30, 32, 32, 32, ! 33, 33, 33, 7, 6, 6, 6, 35, 35, 36, ! 36, 34, 38, 38, 37, 37, 8, 8, 39, 39, ! 41, 41, 42, 42, 42, 42, 42, 42, 42, 42, ! 42, 42, 42, 42, 42, 43, 43, 44, 44, 45, ! 45, 46, 46, 47, 47, 48, 48, 48, 49, 49, ! 49, 50, 50, 50, 51, 51, 51, 52, 52, 53, ! 53, 54, 55, 55, 56, 56, 31, 31, 40, 40, ! 58, 57, 59, 59, 60, 60, 60, 60, 60, 60, ! 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, ! 61, 61, 62, 62, 63, 63, 64, 64, 65, 65, ! 66, 66, 66, 67, 67, 67, 68, 68, 68, 69, ! 69, 69, 70, 70, 71, 71, 72, 77, 77, 78, ! 78, 73, 73, 74, 74, 75, 75, 76, 76, 9, ! 81, 79, 79, 82, 82, 83, 83, 83, 83, 83, ! 83, 84, 84, 84, 85, 85, 86, 86, 86, 87, ! 87, 87, 88, 88, 88, 80, 80, 90, 89, 91, ! 91, 92, 92, 92, 92, 92, 92, 93, 93, 94, ! 94, 94, 95, 95, 96, 96, 96, 97, 97, 97, ! 98, 98, 98 }; ! yytabelem yyr2[]={ ! ! 0, 1, 16, 0, 14, 6, 6, 7, 6, 6, ! 6, 6, 5, 8, 0, 8, 0, 4, 2, 4, ! 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, ! 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, ! 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, ! 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, ! 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, ! 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, ! 7, 7, 7, 1, 10, 7, 1, 4, 0, 4, ! 5, 5, 2, 5, 2, 5, 11, 7, 8, 7, ! 4, 2, 4, 4, 4, 4, 4, 4, 4, 4, ! 4, 4, 4, 4, 4, 7, 7, 7, 7, 11, ! 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, ! 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, ! 7, 10, 4, 2, 9, 5, 7, 7, 4, 2, ! 1, 13, 0, 6, 2, 2, 2, 2, 2, 2, ! 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, ! 7, 7, 7, 7, 11, 7, 7, 7, 7, 7, ! 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, ! 7, 7, 7, 7, 7, 7, 10, 4, 2, 9, ! 5, 7, 7, 7, 7, 7, 7, 10, 7, 10, ! 1, 10, 7, 4, 0, 4, 4, 4, 4, 4, ! 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, ! 7, 7, 7, 7, 7, 8, 6, 1, 5, 0, ! 4, 4, 4, 4, 4, 4, 4, 7, 5, 7, ! 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, ! 7, 7, 7 }; ! yytabelem yychk[]={ ! ! -10000000, -1, -2, -3, 267, -4, 261, 123, -5, 300, ! 123, -10, 257, -6, 282, 123, -12, -13, -14, -15, ! -16, -17, -18, -19, -20, -21, -22, -23, -24, -25, ! -26, -27, -28, -29, -30, -31, -32, -33, 256, 260, ! 264, 265, 287, 288, 290, 289, 291, 292, 293, 294, ! 295, 297, 298, 311, 312, 313, 296, 316, 302, 59, ! 58, 61, 256, -7, 123, 256, -12, 125, -13, 59, ! 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, ! 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, ! 61, 256, 61, 256, 61, 256, 61, 256, 61, 256, ! 61, 256, 61, 256, 61, 256, 61, 256, 61, 256, ! 61, 256, 61, 256, 61, 256, 61, 256, 61, 256, ! 61, 256, 61, 256, 61, 256, 61, 256, 61, 256, ! -11, 259, 256, 258, 258, 59, -8, 285, -34, -38, ! 258, 256, 59, 125, 262, 59, 262, 59, 258, 59, ! 299, 262, 59, 262, 59, 262, 59, 262, 59, 262, ! 59, 262, 59, 262, 59, 262, 59, 262, 59, 262, ! 59, 262, 59, 262, 59, 299, 262, 59, 299, 262, ! 59, 262, 59, 299, 262, 59, 299, 262, 59, 59, ! 58, 61, 59, -9, 286, 123, 256, -35, 59, 59, ! 44, 125, 299, 262, 299, 262, 123, -39, 301, 59, ! 125, -36, -37, 256, 258, 262, -79, 301, -40, -57, ! 269, 123, 256, 59, 59, -80, 123, -81, 256, 125, ! -57, 262, -41, -42, -43, -44, -45, -46, -47, -48, ! -49, -50, -51, -52, -53, -54, -31, 268, 273, 314, ! 277, 303, 304, 305, 307, 306, 308, 309, 310, 59, ! 125, 123, -89, -90, 123, 59, -58, 125, -42, 59, ! 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, ! 59, 59, 61, 256, 61, 256, 61, 256, 61, 256, ! 61, 256, 61, 256, 61, 256, 61, 256, 61, 256, ! 61, 256, 61, 256, 61, -89, 125, -91, -92, -93, ! -94, -95, -96, -97, -98, 262, 256, 276, 280, 318, ! 319, 320, -82, -83, -84, -85, -86, -87, -88, 256, ! 276, 280, 318, 319, 320, 123, 258, 59, 262, 59, ! 262, 59, 263, 59, 262, 59, 262, 299, 59, 262, ! 299, 59, 299, 262, 59, 299, 262, 59, 262, 59, ! 262, 59, 123, 125, -91, 59, 59, 59, 59, 59, ! 59, 275, 59, 61, 256, 61, 256, 61, 256, 61, ! 256, 61, 256, 125, -82, 59, 59, 59, 59, 59, ! 59, 61, 256, 61, 256, 61, 256, 61, 256, 61, ! 256, -59, -60, -61, -62, -63, -64, -65, -66, -67, ! -68, -69, -70, -71, -72, -73, -74, -75, -76, 268, ! 273, 314, 277, 303, 304, 305, 307, 306, 308, 309, ! 310, 296, 315, 317, 321, 44, -55, -56, 262, 256, ! 262, 262, 299, 59, 262, 59, 262, 299, 59, 262, ! 299, 59, 262, 299, 59, 262, 299, 59, 262, 59, ! 262, 299, 59, 262, 299, 59, 262, 299, 59, 125, ! 59, 256, 61, 256, 61, 256, 61, 256, 61, 256, ! 61, 256, 61, 256, 61, 256, 61, 256, 61, 256, ! 61, 256, 61, 256, 61, 61, 256, 61, 256, 61, ! 256, 61, 262, 125, -56, 58, 59, -59, 59, 258, ! 59, 262, 59, 262, 59, 263, 59, 262, 59, 262, ! 299, 59, 262, 299, 59, 299, 262, 59, 299, 262, ! 59, 262, 59, 262, 59, 123, 262, 59, 258, 59, ! 262, 59, 262, 262, 44, -77, -78, 262, 256, 44, ! 59, 262, 125, -78, 58, 59, 262, 262, 59 }; ! yytabelem yydef[]={ ! ! 1, -2, 3, 14, 0, 16, 0, 0, 86, 0, ! 0, 0, 0, 83, 0, 0, 0, 18, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 13, 17, 19, ! 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, ! 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 5, 6, 7, 0, 0, 88, 0, ! 92, 0, 85, 15, 0, 41, 42, 43, 44, 45, ! 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, ! 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, ! 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ! 76, 146, 147, 77, 78, 79, 80, 81, 82, 0, ! 0, 0, 12, 2, 0, 0, 0, 0, 91, 93, ! 0, 4, 8, 9, 10, 11, 0, 0, 0, 97, ! 84, 87, 0, 0, 94, 40, 0, -2, 0, 149, ! 0, 0, 0, 89, -2, 0, 237, 0, 0, 96, ! 148, 150, 0, 101, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, ! 209, 237, 0, -2, -2, 212, 0, 98, 100, 102, ! 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, ! 113, 114, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 236, 238, -2, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 152, 115, 116, 117, 118, ! 0, 120, 121, 122, 123, 124, 125, 126, 127, 128, ! 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, ! 139, 140, 0, 235, 240, 241, 242, 243, 244, 245, ! 246, 0, 248, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 211, 213, 215, 216, 217, 218, 219, ! 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 154, 155, 156, 157, 158, 159, 160, ! 161, 162, 163, 164, 165, 166, 167, 168, -2, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 143, 0, 0, ! 247, 249, 250, 251, 252, 253, 254, 255, 256, 257, ! 258, 259, 260, 261, 262, 221, 222, 223, 224, 225, ! 226, 227, 228, 229, 230, 231, 232, 233, 234, 151, ! 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 0, 0, 119, 141, 142, 0, 145, 153, 208, 170, ! 171, 172, 173, 0, 175, 176, 177, 178, 179, 180, ! 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, ! 191, 192, 193, 194, 195, 0, 201, 202, 203, 204, ! 205, 206, 0, 0, 0, 0, 198, 0, 0, 0, ! 144, 174, 196, 197, 0, 200, 207, 0, 199 }; ! typedef struct ! #ifdef __cplusplus ! yytoktype ! #endif ! { char *t_name; int t_val; } yytoktype; ! #ifndef YYDEBUG ! # define YYDEBUG 0 /* don't allow debugging */ ! #endif ! ! #if YYDEBUG ! ! yytoktype yytoks[] = { ! "NETWORK", 257, ! "STRING", 258, ! "VERSION", 259, ! "PASSTIME", 260, ! "NEST_PARAMS", 261, ! "NUMBER", 262, ! "TRUE_OR_FALSE", 263, ! "MAXNODES", 264, ! "MONITOR", 265, ! "NAME", 266, ! "HEADER", 267, ! "FUNCTION", 268, ! "NODE", 269, ! "START", 270, ! "HALT", 271, ! "REPEAT", 272, ! "DEST", 273, ! "FROM", 274, ! "TO", 275, ! "BANDWIDTH", 276, ! "PLOT", 277, ! "BROADCAST", 278, ! "POINT2POINT", 279, ! "LATENCY", 280, ! "CHANNEL_STACK", 281, ! "NODE_FUNCTIONS", 282, ! "MONITOR_FUNCTIONS", 283, ! "CHANNEL_FUNCTIONS", 284, ! "NODES", 285, ! "EDGES", 286, ! "INTER_PKT_DELAY", 287, ! "ACK_SIZE", 288, ! "BUFFER_SIZE", 289, ! "RANDOM_SEED", 290, ! "TELNET_PKT_SIZE", 291, ! "FTP_PKT_SIZE", 292, ! "FTP_WINDOW", 293, ! "TELNET_WINDOW", 294, ! "DECONGESTION_MECHANISM", 295, ! "SCH_POLICY", 296, ! "ROUTER_NODE", 297, ! "REAL_NUMBER", 298, ! "F_NUMBER", 299, ! "REAL_PARAMS", 300, ! "DEFAULT", 301, ! "DIAMETER", 302, ! "NUM_PKTS", 303, ! "ON_TIME", 304, ! "OFF_TIME", 305, ! "AVERAGE", 306, ! "PEAK", 307, ! "INTERVAL", 308, ! "JITTER", 309, ! "HRR_LEVELS", 310, ! "PRINT_INTERVAL", 311, ! "END_SIMULATION", 312, ! "SCALE_FACTOR", 313, ! "START_TIME", 314, ! "INPUT_FILE", 315, ! "UTIL_TIME", 316, ! "CLASS", 317, ! "LOSS_PROB", 318, ! "CORRUPTION_PROB", 319, ! "LOSS_BURST_SIZE", 320, ! "LOCATION", 321, ! "-unknown-", -1 /* ends search */ ! }; ! ! char * yyreds[] = ! { ! "-no such reduction-", ! "network : /* empty */", ! "network : header nest_params real_params node_functions chan_mon_filler nodes edges", ! "header : /* empty */", ! "header : HEADER '{' name ';' version ';' '}'", ! "name : NETWORK ':' STRING", ! "name : NETWORK '=' STRING", ! "name : NETWORK error ';'", ! "version : VERSION ':' F_NUMBER", ! "version : VERSION ':' NUMBER", ! "version : VERSION '=' F_NUMBER", ! "version : VERSION '=' NUMBER", ! "version : error ';'", ! "nest_params : NEST_PARAMS '{' paramlist '}'", ! "nest_params : /* empty */", ! "real_params : REAL_PARAMS '{' paramlist '}'", ! "real_params : /* empty */", ! "paramlist : paramlist param", ! "paramlist : param", ! "param : passtime ';'", ! "param : maxnodes ';'", ! "param : monitor ';'", ! "param : inter_pkt_delay ';'", ! "param : ack_size ';'", ! "param : random_seed ';'", ! "param : buffer_size ';'", ! "param : telnet_pkt_size ';'", ! "param : ftp_pkt_size ';'", ! "param : ftp_window ';'", ! "param : telnet_window ';'", ! "param : decongestion_mechanism ';'", ! "param : router_node ';'", ! "param : real_number ';'", ! "param : print_interval ';'", ! "param : end_simulation ';'", ! "param : scale_factor ';'", ! "param : d_sch_policy ';'", ! "param : util_time ';'", ! "param : diameter ';'", ! "param : error ';'", ! "passtime : PASSTIME '=' NUMBER ',' NUMBER", ! "passtime : PASSTIME error ';'", ! "maxnodes : MAXNODES '=' NUMBER", ! "maxnodes : MAXNODES error ';'", ! "monitor : MONITOR '=' STRING", ! "monitor : MONITOR error ';'", ! "inter_pkt_delay : INTER_PKT_DELAY '=' F_NUMBER", ! "inter_pkt_delay : INTER_PKT_DELAY '=' NUMBER", ! "inter_pkt_delay : INTER_PKT_DELAY error ';'", ! "ack_size : ACK_SIZE '=' NUMBER", ! "ack_size : ACK_SIZE error ';'", ! "random_seed : RANDOM_SEED '=' NUMBER", ! "random_seed : RANDOM_SEED error ';'", ! "buffer_size : BUFFER_SIZE '=' NUMBER", ! "buffer_size : BUFFER_SIZE error ';'", ! "telnet_pkt_size : TELNET_PKT_SIZE '=' NUMBER", ! "telnet_pkt_size : TELNET_PKT_SIZE error ';'", ! "ftp_pkt_size : FTP_PKT_SIZE '=' NUMBER", ! "ftp_pkt_size : FTP_PKT_SIZE error ';'", ! "ftp_window : FTP_WINDOW '=' NUMBER", ! "ftp_window : FTP_WINDOW error ';'", ! "telnet_window : TELNET_WINDOW '=' NUMBER", ! "telnet_window : TELNET_WINDOW error ';'", ! "decongestion_mechanism : DECONGESTION_MECHANISM '=' NUMBER", ! "decongestion_mechanism : DECONGESTION_MECHANISM error ';'", ! "router_node : ROUTER_NODE '=' NUMBER", ! "router_node : ROUTER_NODE error ';'", ! "real_number : REAL_NUMBER '=' NUMBER", ! "real_number : REAL_NUMBER error ';'", ! "print_interval : PRINT_INTERVAL '=' NUMBER", ! "print_interval : PRINT_INTERVAL error ';'", ! "end_simulation : END_SIMULATION '=' F_NUMBER", ! "end_simulation : END_SIMULATION '=' NUMBER", ! "end_simulation : END_SIMULATION error ';'", ! "scale_factor : SCALE_FACTOR '=' F_NUMBER", ! "scale_factor : SCALE_FACTOR '=' NUMBER", ! "scale_factor : SCALE_FACTOR error ';'", ! "util_time : UTIL_TIME '=' F_NUMBER", ! "util_time : UTIL_TIME '=' NUMBER", ! "util_time : UTIL_TIME error ';'", ! "diameter : DIAMETER '=' F_NUMBER", ! "diameter : DIAMETER '=' NUMBER", ! "diameter : DIAMETER error ';'", ! "chan_mon_filler : /* empty */", ! "node_functions : NODE_FUNCTIONS '{' firstnodefunc functionlist '}'", ! "node_functions : NODE_FUNCTIONS error ';'", ! "node_functions : /* empty */", ! "functionlist : functionlist function", ! "functionlist : /* empty */", ! "function : fn ';'", ! "function : error ';'", ! "firstnodefunc : firstnfn ';'", ! "firstnfn : STRING", ! "firstnfn : error ';'", ! "fn : STRING", ! "fn : error ';'", ! "nodes : NODES '{' defaultnode nodelist '}'", ! "nodes : NODES error ';'", ! "defaultnode : DEFAULT '{' defaultdatalist '}'", ! "defaultnode : DEFAULT error ';'", ! "defaultdatalist : defaultdatalist defaultdata", ! "defaultdatalist : defaultdata", ! "defaultdata : d_nodefn ';'", ! "defaultdata : d_sink ';'", ! "defaultdata : d_start_time ';'", ! "defaultdata : d_plot ';'", ! "defaultdata : d_num_pkts ';'", ! "defaultdata : d_on_time ';'", ! "defaultdata : d_off_time ';'", ! "defaultdata : d_peak ';'", ! "defaultdata : d_average ';'", ! "defaultdata : d_interval ';'", ! "defaultdata : d_jitter ';'", ! "defaultdata : d_hrr_levels ';'", ! "defaultdata : d_sch_policy ';'", ! "d_nodefn : FUNCTION '=' STRING", ! "d_nodefn : FUNCTION error ';'", ! "d_sink : DEST '=' NUMBER", ! "d_sink : DEST error ';'", ! "d_start_time : START_TIME '=' NUMBER ',' NUMBER", ! "d_start_time : START_TIME error ';'", ! "d_plot : PLOT '=' TRUE_OR_FALSE", ! "d_plot : PLOT error ';'", ! "d_num_pkts : NUM_PKTS '=' NUMBER", ! "d_num_pkts : NUM_PKTS error ';'", ! "d_on_time : ON_TIME '=' NUMBER", ! "d_on_time : ON_TIME '=' F_NUMBER", ! "d_on_time : ON_TIME error ';'", ! "d_off_time : OFF_TIME '=' NUMBER", ! "d_off_time : OFF_TIME '=' F_NUMBER", ! "d_off_time : OFF_TIME error ';'", ! "d_peak : PEAK '=' F_NUMBER", ! "d_peak : PEAK '=' NUMBER", ! "d_peak : PEAK error ';'", ! "d_average : AVERAGE '=' F_NUMBER", ! "d_average : AVERAGE '=' NUMBER", ! "d_average : AVERAGE error ';'", ! "d_interval : INTERVAL '=' NUMBER", ! "d_interval : INTERVAL error ';'", ! "d_jitter : JITTER '=' NUMBER", ! "d_jitter : JITTER error ';'", ! "d_hrr_levels : HRR_LEVELS '=' '{' d_hrr_list '}'", ! "d_hrr_list : d_hrr_list d_hrr_pair", ! "d_hrr_list : d_hrr_pair", ! "d_hrr_pair : NUMBER ':' NUMBER ';'", ! "d_hrr_pair : error ';'", ! "d_sch_policy : SCH_POLICY '=' NUMBER", ! "d_sch_policy : SCH_POLICY error ';'", ! "nodelist : nodelist node", ! "nodelist : node", ! "node : NODE NUMBER", ! "node : NODE NUMBER '{' nodedata '}'", ! "nodedata : /* empty */", ! "nodedata : nodedatum ';' nodedata", ! "nodedatum : nodefn", ! "nodedatum : sink", ! "nodedatum : start_time", ! "nodedatum : plot", ! "nodedatum : num_pkts", ! "nodedatum : on_time", ! "nodedatum : off_time", ! "nodedatum : peak", ! "nodedatum : average", ! "nodedatum : interval", ! "nodedatum : jitter", ! "nodedatum : hrr_levels", ! "nodedatum : sch_policy", ! "nodedatum : input_file", ! "nodedatum : class", ! "nodedatum : location", ! "nodefn : FUNCTION '=' STRING", ! "nodefn : FUNCTION error ';'", ! "sink : DEST '=' NUMBER", ! "sink : DEST error ';'", ! "start_time : START_TIME '=' NUMBER ',' NUMBER", ! "start_time : START_TIME error ';'", ! "plot : PLOT '=' TRUE_OR_FALSE", ! "plot : PLOT error ';'", ! "num_pkts : NUM_PKTS '=' NUMBER", ! "num_pkts : NUM_PKTS error ';'", ! "on_time : ON_TIME '=' NUMBER", ! "on_time : ON_TIME '=' F_NUMBER", ! "on_time : ON_TIME error ';'", ! "off_time : OFF_TIME '=' NUMBER", ! "off_time : OFF_TIME '=' F_NUMBER", ! "off_time : OFF_TIME error ';'", ! "peak : PEAK '=' F_NUMBER", ! "peak : PEAK '=' NUMBER", ! "peak : PEAK error ';'", ! "average : AVERAGE '=' F_NUMBER", ! "average : AVERAGE '=' NUMBER", ! "average : AVERAGE error ';'", ! "interval : INTERVAL '=' NUMBER", ! "interval : INTERVAL error ';'", ! "jitter : JITTER '=' NUMBER", ! "jitter : JITTER error ';'", ! "hrr_levels : HRR_LEVELS '=' '{' hrr_list '}'", ! "hrr_list : hrr_list hrr_pair", ! "hrr_list : hrr_pair", ! "hrr_pair : NUMBER ':' NUMBER ';'", ! "hrr_pair : error ';'", ! "sch_policy : SCH_POLICY '=' NUMBER", ! "sch_policy : SCH_POLICY error ';'", ! "input_file : INPUT_FILE '=' STRING", ! "input_file : INPUT_FILE error ';'", ! "class : CLASS '=' NUMBER", ! "class : CLASS error ';'", ! "location : LOCATION '=' NUMBER ',' NUMBER", ! "location : location error ';'", ! "edges : EDGES '{' defaultedge edgelist '}'", ! "defaultedge : DEFAULT", ! "defaultedge : DEFAULT '{' default_edge_data '}'", ! "defaultedge : DEFAULT error ';'", ! "default_edge_data : default_edge_datum default_edge_data", ! "default_edge_data : /* empty */", ! "default_edge_datum : d_bandwidth ';'", ! "default_edge_datum : d_latency ';'", ! "default_edge_datum : d_loss_prob ';'", ! "default_edge_datum : d_corruption_prob ';'", ! "default_edge_datum : d_loss_burst_size ';'", ! "default_edge_datum : error ';'", ! "d_bandwidth : BANDWIDTH '=' NUMBER", ! "d_bandwidth : BANDWIDTH '=' F_NUMBER", ! "d_bandwidth : BANDWIDTH error ';'", ! "d_latency : LATENCY '=' NUMBER", ! "d_latency : LATENCY error ';'", ! "d_loss_prob : LOSS_PROB '=' NUMBER", ! "d_loss_prob : LOSS_PROB '=' F_NUMBER", ! "d_loss_prob : LOSS_PROB error ';'", ! "d_corruption_prob : CORRUPTION_PROB '=' NUMBER", ! "d_corruption_prob : CORRUPTION_PROB '=' F_NUMBER", ! "d_corruption_prob : CORRUPTION_PROB error ';'", ! "d_loss_burst_size : LOSS_BURST_SIZE '=' NUMBER", ! "d_loss_burst_size : LOSS_BURST_SIZE '=' F_NUMBER", ! "d_loss_burst_size : LOSS_BURST_SIZE error ';'", ! "edgelist : edgelist '{' edge '}'", ! "edgelist : '{' edge '}'", ! "edge : /* empty */", ! "edge : edgedata", ! "edgedata : /* empty */", ! "edgedata : edgedatum edgedata", ! "edgedatum : from ';'", ! "edgedatum : bandwidth ';'", ! "edgedatum : latency ';'", ! "edgedatum : loss_prob ';'", ! "edgedatum : corruption_prob ';'", ! "edgedatum : loss_burst_size ';'", ! "from : NUMBER TO NUMBER", ! "from : error ';'", ! "bandwidth : BANDWIDTH '=' NUMBER", ! "bandwidth : BANDWIDTH '=' F_NUMBER", ! "bandwidth : BANDWIDTH error ';'", ! "latency : LATENCY '=' NUMBER", ! "latency : LATENCY error ';'", ! "loss_prob : LOSS_PROB '=' NUMBER", ! "loss_prob : LOSS_PROB '=' F_NUMBER", ! "loss_prob : LOSS_PROB error ';'", ! "corruption_prob : CORRUPTION_PROB '=' NUMBER", ! "corruption_prob : CORRUPTION_PROB '=' F_NUMBER", ! "corruption_prob : CORRUPTION_PROB error ';'", ! "loss_burst_size : LOSS_BURST_SIZE '=' NUMBER", ! "loss_burst_size : LOSS_BURST_SIZE '=' F_NUMBER", ! "loss_burst_size : LOSS_BURST_SIZE error ';'", ! }; ! #endif /* YYDEBUG */ ! #if !defined(lint) && !defined(__cplusplus) ! static char __yaccpar_sccsid1[] = "@(#) 7/13/94 yaccpar 6.11 Copyr 1991 Sun Micro"; ! #endif ! ! /* ! ** Skeleton parser driver for yacc output ! */ ! ! /* ! ** yacc user known macros and defines ! */ ! #define YYERROR goto yyerrlab ! #define YYACCEPT return(0) ! #define YYABORT return(1) ! #define YYBACKUP( newtoken, newvalue )\ ! {\ ! if ( yychar >= 0 || ( yyr2[ yytmp ] >> 1 ) != 1 )\ ! {\ ! yyerror( "syntax error - cannot backup" );\ ! goto yyerrlab;\ ! }\ ! yychar = newtoken;\ ! yystate = *yyps;\ ! yylval = newvalue;\ ! goto yynewstate;\ } - #define YYRECOVERING() (!!yyerrflag) - #define YYNEW(type) malloc(sizeof(type) * yynewmax) - #define YYCOPY(to, from, type) \ - (type *) memcpy(to, (char *) from, yynewmax * sizeof(type)) - #define YYENLARGE( from, type) \ - (type *) realloc((char *) from, yynewmax * sizeof(type)) - #ifndef YYDEBUG - # define YYDEBUG 1 /* make debugging available */ - #endif ! /* ! ** user known globals ! */ ! int yydebug; /* set to 1 to get debugging */ ! ! /* ! ** driver internal defines ! */ ! #define YYFLAG (-10000000) ! ! /* ! ** global variables used by the parser ! */ ! YYSTYPE *yypv; /* top of value stack */ ! int *yyps; /* top of state stack */ ! ! int yystate; /* current state */ ! int yytmp; /* extra var (lasts between blocks) */ ! ! int yynerrs; /* number of errors */ ! int yyerrflag; /* error recovery flag */ ! int yychar; /* current input token number */ ! ! ! ! #ifdef YYNMBCHARS ! #define YYLEX() yycvtok(yylex()) ! /* ! ** yycvtok - return a token if i is a wchar_t value that exceeds 255. ! ** If i<255, i itself is the token. If i>255 but the neither ! ** of the 30th or 31st bit is on, i is already a token. ! */ ! #if defined(__STDC__) || defined(__cplusplus) ! int yycvtok(int i) ! #else ! int yycvtok(i) int i; ! #endif ! { ! int first = 0; ! int last = YYNMBCHARS - 1; ! int mid; ! wchar_t j; ! ! if(i&0x60000000){/*Must convert to a token. */ ! if( yymbchars[last].character < i ){ ! return i;/*Giving up*/ ! } ! while ((last>=first)&&(first>=0)) {/*Binary search loop*/ ! mid = (first+last)/2; ! j = yymbchars[mid].character; ! if( j==i ){/*Found*/ ! return yymbchars[mid].tvalue; ! }else if( j= 0; ! yy_i++ ) ! { ! if ( yytoks[yy_i].t_val == yychar ) ! break; ! } ! printf( "%s\n", yytoks[yy_i].t_name ); ! } ! } ! #endif /* YYDEBUG */ ! if ( ++yy_ps >= &yys[ yymaxdepth ] ) /* room on stack? */ ! { ! /* ! ** reallocate and recover. Note that pointers ! ** have to be reset, or bad things will happen ! */ ! int yyps_index = (yy_ps - yys); ! int yypv_index = (yy_pv - yyv); ! int yypvt_index = (yypvt - yyv); ! int yynewmax; ! #ifdef YYEXPAND ! yynewmax = YYEXPAND(yymaxdepth); ! #else ! yynewmax = 2 * yymaxdepth; /* double table size */ ! if (yymaxdepth == YYMAXDEPTH) /* first time growth */ ! { ! char *newyys = (char *)YYNEW(int); ! char *newyyv = (char *)YYNEW(YYSTYPE); ! if (newyys != 0 && newyyv != 0) ! { ! yys = YYCOPY(newyys, yys, int); ! yyv = YYCOPY(newyyv, yyv, YYSTYPE); ! } ! else ! yynewmax = 0; /* failed */ ! } ! else /* not first time */ ! { ! yys = YYENLARGE(yys, int); ! yyv = YYENLARGE(yyv, YYSTYPE); ! if (yys == 0 || yyv == 0) ! yynewmax = 0; /* failed */ ! } #endif ! if (yynewmax <= yymaxdepth) /* tables not expanded */ ! { ! yyerror( "yacc stack overflow" ); ! YYABORT; ! } ! yymaxdepth = yynewmax; ! ! yy_ps = yys + yyps_index; ! yy_pv = yyv + yypv_index; ! yypvt = yyv + yypvt_index; ! } ! *yy_ps = yy_state; ! *++yy_pv = yyval; ! ! /* ! ** we have a new state - find out what to do ! */ ! yy_newstate: ! if ( ( yy_n = yypact[ yy_state ] ) <= YYFLAG ) ! goto yydefault; /* simple state */ #if YYDEBUG ! /* ! ** if debugging, need to mark whether new token grabbed ! */ ! yytmp = yychar < 0; #endif ! if ( ( yychar < 0 ) && ( ( yychar = YYLEX() ) < 0 ) ) ! yychar = 0; /* reached EOF */ ! #if YYDEBUG ! if ( yydebug && yytmp ) ! { ! register int yy_i; ! ! printf( "Received token " ); ! if ( yychar == 0 ) ! printf( "end-of-file\n" ); ! else if ( yychar < 0 ) ! printf( "-none-\n" ); ! else ! { ! for ( yy_i = 0; yytoks[yy_i].t_val >= 0; ! yy_i++ ) ! { ! if ( yytoks[yy_i].t_val == yychar ) ! break; ! } ! printf( "%s\n", yytoks[yy_i].t_name ); ! } ! } ! #endif /* YYDEBUG */ ! if ( ( ( yy_n += yychar ) < 0 ) || ( yy_n >= YYLAST ) ) ! goto yydefault; ! if ( yychk[ yy_n = yyact[ yy_n ] ] == yychar ) /*valid shift*/ ! { ! yychar = -1; ! yyval = yylval; ! yy_state = yy_n; ! if ( yyerrflag > 0 ) ! yyerrflag--; ! goto yy_stack; ! } ! ! yydefault: ! if ( ( yy_n = yydef[ yy_state ] ) == -2 ) ! { ! #if YYDEBUG ! yytmp = yychar < 0; #endif ! if ( ( yychar < 0 ) && ( ( yychar = YYLEX() ) < 0 ) ) ! yychar = 0; /* reached EOF */ #if YYDEBUG ! if ( yydebug && yytmp ) ! { ! register int yy_i; ! ! printf( "Received token " ); ! if ( yychar == 0 ) ! printf( "end-of-file\n" ); ! else if ( yychar < 0 ) ! printf( "-none-\n" ); ! else ! { ! for ( yy_i = 0; ! yytoks[yy_i].t_val >= 0; ! yy_i++ ) ! { ! if ( yytoks[yy_i].t_val ! == yychar ) ! { ! break; ! } ! } ! printf( "%s\n", yytoks[yy_i].t_name ); ! } ! } ! #endif /* YYDEBUG */ ! /* ! ** look through exception table ! */ ! { ! register int *yyxi = yyexca; ! ! while ( ( *yyxi != -1 ) || ! ( yyxi[1] != yy_state ) ) ! { ! yyxi += 2; ! } ! while ( ( *(yyxi += 2) >= 0 ) && ! ( *yyxi != yychar ) ) ! ; ! if ( ( yy_n = yyxi[1] ) < 0 ) ! YYACCEPT; ! } ! } ! ! /* ! ** check for syntax error ! */ ! if ( yy_n == 0 ) /* have an error */ ! { ! /* no worry about speed here! */ ! switch ( yyerrflag ) ! { ! case 0: /* new error */ ! yyerror( "syntax error" ); ! goto skip_init; ! yyerrlab: ! /* ! ** get globals into registers. ! ** we have a user generated syntax type error ! */ ! yy_pv = yypv; ! yy_ps = yyps; ! yy_state = yystate; ! skip_init: ! yynerrs++; ! /* FALLTHRU */ ! case 1: ! case 2: /* incompletely recovered error */ ! /* try again... */ ! yyerrflag = 3; ! /* ! ** find state where "error" is a legal ! ** shift action ! */ ! while ( yy_ps >= yys ) ! { ! yy_n = yypact[ *yy_ps ] + YYERRCODE; ! if ( yy_n >= 0 && yy_n < YYLAST && ! yychk[yyact[yy_n]] == YYERRCODE) { ! /* ! ** simulate shift of "error" ! */ ! yy_state = yyact[ yy_n ]; ! goto yy_stack; ! } ! /* ! ** current state has no shift on ! ** "error", pop stack ! */ #if YYDEBUG ! # define _POP_ "Error recovery pops state %d, uncovers state %d\n" ! if ( yydebug ) ! printf( _POP_, *yy_ps, ! yy_ps[-1] ); ! # undef _POP_ #endif ! yy_ps--; ! yy_pv--; ! } ! /* ! ** there is no state on stack with "error" as ! ** a valid shift. give up. ! */ ! YYABORT; ! case 3: /* no shift yet; eat a token */ #if YYDEBUG ! /* ! ** if debugging, look up token in list of ! ** pairs. 0 and negative shouldn't occur, ! ** but since timing doesn't matter when ! ** debugging, it doesn't hurt to leave the ! ** tests here. ! */ ! if ( yydebug ) ! { ! register int yy_i; ! ! printf( "Error recovery discards " ); ! if ( yychar == 0 ) ! printf( "token end-of-file\n" ); ! else if ( yychar < 0 ) ! printf( "token -none-\n" ); ! else ! { ! for ( yy_i = 0; ! yytoks[yy_i].t_val >= 0; ! yy_i++ ) ! { ! if ( yytoks[yy_i].t_val ! == yychar ) ! { ! break; ! } ! } ! printf( "token %s\n", ! yytoks[yy_i].t_name ); ! } ! } ! #endif /* YYDEBUG */ ! if ( yychar == 0 ) /* reached EOF. quit */ ! YYABORT; ! yychar = -1; ! goto yy_newstate; ! } ! }/* end if ( yy_n == 0 ) */ ! /* ! ** reduction by production yy_n ! ** put stack tops, etc. so things right after switch ! */ #if YYDEBUG ! /* ! ** if debugging, print the string that is the user's ! ** specification of the reduction which is just about ! ** to be done. ! */ ! if ( yydebug ) ! printf( "Reduce by (%d) \"%s\"\n", ! yy_n, yyreds[ yy_n ] ); #endif ! yytmp = yy_n; /* value to switch over */ ! yypvt = yy_pv; /* $vars top of value stack */ ! /* ! ** Look in goto table for next state ! ** Sorry about using yy_state here as temporary ! ** register variable, but why not, if it works... ! ** If yyr2[ yy_n ] doesn't have the low order bit ! ** set, then there is no action to be done for ! ** this reduction. So, no saving & unsaving of ! ** registers done. The only difference between the ! ** code just after the if and the body of the if is ! ** the goto yy_stack in the body. This way the test ! ** can be made before the choice of what to do is needed. ! */ ! { ! /* length of production doubled with extra bit */ ! register int yy_len = yyr2[ yy_n ]; ! ! if ( !( yy_len & 01 ) ) ! { ! yy_len >>= 1; ! yyval = ( yy_pv -= yy_len )[1]; /* $$ = $1 */ ! yy_state = yypgo[ yy_n = yyr1[ yy_n ] ] + ! *( yy_ps -= yy_len ) + 1; ! if ( yy_state >= YYLAST || ! yychk[ yy_state = ! yyact[ yy_state ] ] != -yy_n ) ! { ! yy_state = yyact[ yypgo[ yy_n ] ]; ! } ! goto yy_stack; ! } ! yy_len >>= 1; ! yyval = ( yy_pv -= yy_len )[1]; /* $$ = $1 */ ! yy_state = yypgo[ yy_n = yyr1[ yy_n ] ] + ! *( yy_ps -= yy_len ) + 1; ! if ( yy_state >= YYLAST || ! yychk[ yy_state = yyact[ yy_state ] ] != -yy_n ) ! { ! yy_state = yyact[ yypgo[ yy_n ] ]; ! } ! } ! /* save until reenter driver code */ ! yystate = yy_state; ! yyps = yy_ps; ! yypv = yy_pv; ! } ! /* ! ** code supplied by user is placed in this switch ! */ ! switch( yytmp ) ! { ! case 1: ! # line 103 "lang.yacc" { /* defaults go here */ Sim_Graph = new(graph); Sim_Graph->flags = Nest_Flags; Sim_Graph->protocol = Nest_Graph; Sim_Graph -> header = new(grhead); Sim_Graph->header->wakeups.tv_sec= 0; Sim_Graph->header->wakeups.tv_usec= 0; --- 879,1087 ---- #include "../lang/lex.yy.c" ! #line 883 "y.tab.c" ! /* allocate initial stack or double stack size, up to YYMAXDEPTH */ ! static int yygrowstack() { ! int newsize, i; ! short *newss; ! YYSTYPE *newvs; ! ! if ((newsize = yystacksize) == 0) ! newsize = YYINITSTACKSIZE; ! else if (newsize >= YYMAXDEPTH) ! return -1; ! else if ((newsize *= 2) > YYMAXDEPTH) ! newsize = YYMAXDEPTH; ! i = yyssp - yyss; ! newss = yyss ? (short *)realloc(yyss, newsize * sizeof *newss) : ! (short *)malloc(newsize * sizeof *newss); ! if (newss == NULL) ! return -1; ! yyss = newss; ! yyssp = newss + i; ! newvs = yyvs ? (YYSTYPE *)realloc(yyvs, newsize * sizeof *newvs) : ! (YYSTYPE *)malloc(newsize * sizeof *newvs); ! if (newvs == NULL) ! return -1; ! yyvs = newvs; ! yyvsp = newvs + i; ! yystacksize = newsize; ! yysslim = yyss + newsize - 1; ! return 0; } ! #define YYABORT goto yyabort ! #define YYREJECT goto yyabort ! #define YYACCEPT goto yyaccept ! #define YYERROR goto yyerrlab ! ! #ifndef YYPARSE_PARAM ! #if defined(__cplusplus) || __STDC__ ! #define YYPARSE_PARAM_ARG void ! #define YYPARSE_PARAM_DECL ! #else /* ! ANSI-C/C++ */ ! #define YYPARSE_PARAM_ARG ! #define YYPARSE_PARAM_DECL ! #endif /* ANSI-C/C++ */ ! #else /* YYPARSE_PARAM */ ! #ifndef YYPARSE_PARAM_TYPE ! #define YYPARSE_PARAM_TYPE void * #endif + #if defined(__cplusplus) || __STDC__ + #define YYPARSE_PARAM_ARG YYPARSE_PARAM_TYPE YYPARSE_PARAM + #define YYPARSE_PARAM_DECL + #else /* ! ANSI-C/C++ */ + #define YYPARSE_PARAM_ARG YYPARSE_PARAM + #define YYPARSE_PARAM_DECL YYPARSE_PARAM_TYPE YYPARSE_PARAM; + #endif /* ANSI-C/C++ */ + #endif /* ! YYPARSE_PARAM */ + + int + yyparse (YYPARSE_PARAM_ARG) + YYPARSE_PARAM_DECL { ! register int yym, yyn, yystate; ! #if YYDEBUG ! register const char *yys; ! if ((yys = getenv("YYDEBUG"))) ! { ! yyn = *yys; ! if (yyn >= '0' && yyn <= '9') ! yydebug = yyn - '0'; ! } #endif ! yynerrs = 0; ! yyerrflag = 0; ! yychar = (-1); ! ! if (yyss == NULL && yygrowstack()) goto yyoverflow; ! yyssp = yyss; ! yyvsp = yyvs; ! *yyssp = yystate = 0; ! ! yyloop: ! if ((yyn = yydefred[yystate])) goto yyreduce; ! if (yychar < 0) ! { ! if ((yychar = yylex()) < 0) yychar = 0; #if YYDEBUG ! if (yydebug) ! { ! yys = 0; ! if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; ! if (!yys) yys = "illegal-symbol"; ! printf("%sdebug: state %d, reading %d (%s)\n", ! YYPREFIX, yystate, yychar, yys); ! } #endif ! } ! if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 && ! yyn <= YYTABLESIZE && yycheck[yyn] == yychar) ! { #if YYDEBUG ! if (yydebug) ! printf("%sdebug: state %d, shifting to state %d\n", ! YYPREFIX, yystate, yytable[yyn]); #endif ! if (yyssp >= yysslim && yygrowstack()) ! { ! goto yyoverflow; ! } ! *++yyssp = yystate = yytable[yyn]; ! *++yyvsp = yylval; ! yychar = (-1); ! if (yyerrflag > 0) --yyerrflag; ! goto yyloop; ! } ! if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 && ! yyn <= YYTABLESIZE && yycheck[yyn] == yychar) ! { ! yyn = yytable[yyn]; ! goto yyreduce; ! } ! if (yyerrflag) goto yyinrecovery; ! #if defined(lint) || defined(__GNUC__) ! goto yynewerror; #endif ! yynewerror: ! yyerror("syntax error"); ! #if defined(lint) || defined(__GNUC__) ! goto yyerrlab; ! #endif ! yyerrlab: ! ++yynerrs; ! yyinrecovery: ! if (yyerrflag < 3) ! { ! yyerrflag = 3; ! for (;;) ! { ! if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 && ! yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE) ! { #if YYDEBUG ! if (yydebug) ! printf("%sdebug: state %d, error recovery shifting\ ! to state %d\n", YYPREFIX, *yyssp, yytable[yyn]); ! #endif ! if (yyssp >= yysslim && yygrowstack()) ! { ! goto yyoverflow; ! } ! *++yyssp = yystate = yytable[yyn]; ! *++yyvsp = yylval; ! goto yyloop; ! } ! else ! { #if YYDEBUG ! if (yydebug) ! printf("%sdebug: error recovery discarding state %d\n", ! YYPREFIX, *yyssp); #endif ! if (yyssp <= yyss) goto yyabort; ! --yyssp; ! --yyvsp; ! } ! } ! } ! else ! { ! if (yychar == 0) goto yyabort; #if YYDEBUG ! if (yydebug) ! { ! yys = 0; ! if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; ! if (!yys) yys = "illegal-symbol"; ! printf("%sdebug: state %d, error recovery discards token %d (%s)\n", ! YYPREFIX, yystate, yychar, yys); ! } ! #endif ! yychar = (-1); ! goto yyloop; ! } ! yyreduce: #if YYDEBUG ! if (yydebug) ! printf("%sdebug: state %d, reducing by rule %d (%s)\n", ! YYPREFIX, yystate, yyn, yyrule[yyn]); #endif ! yym = yylen[yyn]; ! yyval = yyvsp[1-yym]; ! switch (yyn) ! { case 1: ! #line 103 "lang.yacc" { /* defaults go here */ + /***LEAK***/ Sim_Graph = new(graph); Sim_Graph->flags = Nest_Flags; Sim_Graph->protocol = Nest_Graph; + /***LEAK***/ Sim_Graph -> header = new(grhead); Sim_Graph->header->wakeups.tv_sec= 0; Sim_Graph->header->wakeups.tv_usec= 0; *************** *** 1463,1624 **** end_simulation = 1000; scale_factor = 1.0; d_node.policy = 1; ! } break; case 7: ! # line 154 "lang.yacc" ! { err("network : Example_network ; "); } break; case 12: ! # line 162 "lang.yacc" ! { err("version : 2.0 "); } break; case 39: ! # line 198 "lang.yacc" { errline(); printf("Declared parameter is not a REAL or NEST parameter\n"); exit(0); ! } break; case 40: ! # line 206 "lang.yacc" { ! Sim_Graph->header->passtime.tv_sec= yypvt[-2]; ! Sim_Graph->header->passtime.tv_usec= yypvt[-0]; ! } break; case 41: ! # line 211 "lang.yacc" ! { err ("passtime = 1,0"); } break; case 42: ! # line 215 "lang.yacc" ! { Sim_Graph->header->nodes= yypvt[-0]; if(Sim_Graph->header->nodes > MAX_NODES) pr_error("MAX_NODES in config.h less than in input declaration"); ! } break; case 43: ! # line 220 "lang.yacc" ! { err("maxnodes = 20") ; } break; case 44: ! # line 224 "lang.yacc" ! { Sim_Graph->header->monitor = put_address(yypvt[-0]);} break; case 45: ! # line 226 "lang.yacc" ! { err("monitor = custom_monitor "); } break; case 46: ! # line 229 "lang.yacc" ! { inter_pkt = extract_float(yypvt[-0]); } break; case 47: ! # line 231 "lang.yacc" ! { inter_pkt = yypvt[-0]; } break; case 48: ! # line 233 "lang.yacc" ! {err("inter_pkt_delay = 5.0 ");} break; case 49: ! # line 236 "lang.yacc" ! { ack_size = yypvt[-0];} break; case 50: ! # line 238 "lang.yacc" ! {err("ack_size = 5");} break; case 51: ! # line 241 "lang.yacc" ! { random_seed = yypvt[-0];} break; case 52: ! # line 243 "lang.yacc" ! {err("random_seed = 0");} break; case 53: ! # line 246 "lang.yacc" ! {op_qsize = yypvt[-0];} break; case 54: ! # line 248 "lang.yacc" ! {err("buffer_size = 15") ;} break; case 55: ! # line 251 "lang.yacc" ! {telnet_size =yypvt[-0]; } break; case 56: ! # line 253 "lang.yacc" ! {err("telnet_pkt_size = 40 ");} break; case 57: ! # line 256 "lang.yacc" ! {ftp_size =yypvt[-0];} break; case 58: ! # line 258 "lang.yacc" ! {err("ftp_pkt_size = 5") ;} break; case 59: ! # line 261 "lang.yacc" ! {ftp_window = yypvt[-0]; if(ftp_window>MAX_WINDOW_SIZE) ! pr_error("ftp window larger than max in config.h"); } break; case 60: ! # line 265 "lang.yacc" ! {err("ftp_window = 5") ;} break; case 61: ! # line 268 "lang.yacc" ! {telnet_window = yypvt[-0]; if(telnet_window>MAX_WINDOW_SIZE) ! pr_error("telnet window larger than max in config.h"); } break; case 62: ! # line 272 "lang.yacc" ! {err("telnet_window = 5") ;} break; case 63: ! # line 275 "lang.yacc" ! {decongest_mechanism = yypvt[-0]; } break; case 64: ! # line 277 "lang.yacc" ! {err("decongestion_mechanism = 0");} break; case 65: ! # line 281 "lang.yacc" ! {cc_router = yypvt[-0]; } break; case 66: ! # line 283 "lang.yacc" ! {err("router_node = 0 ");} break; case 67: ! # line 286 "lang.yacc" ! {realnum = yypvt[-0]; } break; case 68: ! # line 288 "lang.yacc" ! {err("real_number = 0") ;} break; case 69: ! # line 292 "lang.yacc" ! {print_interval = yypvt[-0]; } break; case 70: ! # line 294 "lang.yacc" ! {err(" print_interval = 3") ;} break; case 71: ! # line 297 "lang.yacc" ! {end_simulation = extract_float (yypvt[-0]); } break; case 72: ! # line 299 "lang.yacc" ! {end_simulation = yypvt[-0]; } break; case 73: ! # line 301 "lang.yacc" ! {err(" end_simulation = 500");} break; case 74: ! # line 305 "lang.yacc" ! {scale_factor = extract_float(yypvt[-0]);} break; case 75: ! # line 307 "lang.yacc" ! {scale_factor = yypvt[-0];} break; case 76: ! # line 309 "lang.yacc" ! {err(" scale_factor = 1000");} break; case 77: ! # line 313 "lang.yacc" ! {util_time = extract_float(yypvt[-0]);} break; case 78: ! # line 315 "lang.yacc" ! {util_time = yypvt[-0];} break; case 79: ! # line 317 "lang.yacc" ! {err(" util_time = 1000");} break; case 80: ! # line 321 "lang.yacc" ! {diameter = extract_float(yypvt[-0]);} break; case 81: ! # line 323 "lang.yacc" ! {diameter = yypvt[-0];} break; case 82: ! # line 325 "lang.yacc" ! {err(" diameter = 1000.0");} break; case 83: ! # line 328 "lang.yacc" { nextfn = new(extfunc); nextfn->addr = tx_chan; Sim_Graph->header->chanfns = nextfn; --- 1111,1320 ---- end_simulation = 1000; scale_factor = 1.0; d_node.policy = 1; ! } ! break; case 7: ! #line 156 "lang.yacc" ! { err("network : Example_network ; "); } ! break; case 12: ! #line 164 "lang.yacc" ! { err("version : 2.0 "); } ! break; case 39: ! #line 200 "lang.yacc" { errline(); printf("Declared parameter is not a REAL or NEST parameter\n"); exit(0); ! } ! break; case 40: ! #line 208 "lang.yacc" { ! Sim_Graph->header->passtime.tv_sec= yyvsp[-2]; ! Sim_Graph->header->passtime.tv_usec= yyvsp[0]; ! } ! break; case 41: ! #line 213 "lang.yacc" ! { err ("passtime = 1,0"); } ! break; case 42: ! #line 217 "lang.yacc" ! { Sim_Graph->header->nodes= yyvsp[0]; if(Sim_Graph->header->nodes > MAX_NODES) pr_error("MAX_NODES in config.h less than in input declaration"); ! } ! break; case 43: ! #line 222 "lang.yacc" ! { err("maxnodes = 20") ; } ! break; case 44: ! #line 226 "lang.yacc" ! { Sim_Graph->header->monitor = put_address(yyvsp[0]);} ! break; case 45: ! #line 228 "lang.yacc" ! { err("monitor = custom_monitor "); } ! break; case 46: ! #line 231 "lang.yacc" ! { inter_pkt = extract_float(yyvsp[0]); } ! break; case 47: ! #line 233 "lang.yacc" ! { inter_pkt = yyvsp[0]; } ! break; case 48: ! #line 235 "lang.yacc" ! {err("inter_pkt_delay = 5.0 ");} ! break; case 49: ! #line 238 "lang.yacc" ! { ack_size = yyvsp[0];} ! break; case 50: ! #line 240 "lang.yacc" ! {err("ack_size = 5");} ! break; case 51: ! #line 243 "lang.yacc" ! { random_seed = yyvsp[0];} ! break; case 52: ! #line 245 "lang.yacc" ! {err("random_seed = 0");} ! break; case 53: ! #line 248 "lang.yacc" ! {op_qsize = yyvsp[0];} ! break; case 54: ! #line 250 "lang.yacc" ! {err("buffer_size = 15") ;} ! break; case 55: ! #line 253 "lang.yacc" ! {telnet_size =yyvsp[0]; } ! break; case 56: ! #line 255 "lang.yacc" ! {err("telnet_pkt_size = 40 ");} ! break; case 57: ! #line 258 "lang.yacc" ! {ftp_size =yyvsp[0];} ! break; case 58: ! #line 260 "lang.yacc" ! {err("ftp_pkt_size = 5") ;} ! break; case 59: ! #line 263 "lang.yacc" ! {ftp_window = yyvsp[0]; if(ftp_window>MAX_WINDOW_SIZE) ! pr_error("ftp window larger than max in config.h"); } ! break; case 60: ! #line 267 "lang.yacc" ! {err("ftp_window = 5") ;} ! break; case 61: ! #line 270 "lang.yacc" ! {telnet_window = yyvsp[0]; if(telnet_window>MAX_WINDOW_SIZE) ! pr_error("telnet window larger than max in config.h"); } ! break; case 62: ! #line 274 "lang.yacc" ! {err("telnet_window = 5") ;} ! break; case 63: ! #line 277 "lang.yacc" ! {decongest_mechanism = yyvsp[0]; } ! break; case 64: ! #line 279 "lang.yacc" ! {err("decongestion_mechanism = 0");} ! break; case 65: ! #line 283 "lang.yacc" ! {cc_router = yyvsp[0]; } ! break; case 66: ! #line 285 "lang.yacc" ! {err("router_node = 0 ");} ! break; case 67: ! #line 288 "lang.yacc" ! {realnum = yyvsp[0]; } ! break; case 68: ! #line 290 "lang.yacc" ! {err("real_number = 0") ;} ! break; case 69: ! #line 294 "lang.yacc" ! {print_interval = yyvsp[0]; } ! break; case 70: ! #line 296 "lang.yacc" ! {err(" print_interval = 3") ;} ! break; case 71: ! #line 299 "lang.yacc" ! {end_simulation = extract_float (yyvsp[0]); } ! break; case 72: ! #line 301 "lang.yacc" ! {end_simulation = yyvsp[0]; } ! break; case 73: ! #line 303 "lang.yacc" ! {err(" end_simulation = 500");} ! break; case 74: ! #line 307 "lang.yacc" ! {scale_factor = extract_float(yyvsp[0]);} ! break; case 75: ! #line 309 "lang.yacc" ! {scale_factor = yyvsp[0];} ! break; case 76: ! #line 311 "lang.yacc" ! {err(" scale_factor = 1000");} ! break; case 77: ! #line 315 "lang.yacc" ! {util_time = extract_float(yyvsp[0]);} ! break; case 78: ! #line 317 "lang.yacc" ! {util_time = yyvsp[0];} ! break; case 79: ! #line 319 "lang.yacc" ! {err(" util_time = 1000");} ! break; case 80: ! #line 323 "lang.yacc" ! {diameter = extract_float(yyvsp[0]);} ! break; case 81: ! #line 325 "lang.yacc" ! {diameter = yyvsp[0];} ! break; case 82: ! #line 327 "lang.yacc" ! {err(" diameter = 1000.0");} ! break; case 83: ! #line 330 "lang.yacc" { + /***LEAK**/ nextfn = new(extfunc); nextfn->addr = tx_chan; Sim_Graph->header->chanfns = nextfn; *************** *** 1628,1779 **** prevfn = Sim_Graph->header->monfns = nextfn; prevfn->next = nil; Sim_Graph->nodes = (grnode*) nil; ! } break; case 85: ! # line 342 "lang.yacc" ! {err("node_functions { FUNCTION LIST }");} break; case 86: ! # line 347 "lang.yacc" ! {nextfn = new(extfunc); nextfn->addr = put_address("main"); nextfn->next = nil; ! Sim_Graph->header->nodefns = nextfn;} break; case 90: ! # line 360 "lang.yacc" {errline(); printf ("function improperly declared \n"); ! exit(0);} break; case 91: ! # line 368 "lang.yacc" {nextfn = new(extfunc); nextfn->addr = put_address("main"); nextfn->next = nil; ! Sim_Graph->header->nodefns = nextfn;} break; case 93: ! # line 376 "lang.yacc" ! {err("function = ftp_source") ;} break; case 95: ! # line 381 "lang.yacc" ! {err("function = ftp_source ");} break; case 96: ! # line 385 "lang.yacc" ! {Sim_Graph -> edges = (gredge*) nil ;} break; case 97: ! # line 387 "lang.yacc" ! {err("nodes { {DEFAULT} NODE LIST } ");} break; case 99: ! # line 392 "lang.yacc" {errline(); printf("Error in default node definition\n"); ! exit(0);} break; case 115: ! # line 417 "lang.yacc" ! { d_node.nodefn = put_address(yypvt[-0]);} break; case 116: ! # line 419 "lang.yacc" ! {err("function = ftp_source ");} break; case 117: ! # line 423 "lang.yacc" ! { d_node.sink = yypvt[-0];} break; case 118: ! # line 425 "lang.yacc" ! {err("sink = 4") ;} break; case 119: ! # line 428 "lang.yacc" ! {d_node.start_time_sec = yypvt[-2]; ! d_node.start_time_usec = yypvt[-0];} break; case 120: ! # line 432 "lang.yacc" ! { err("start_time = 1,10000 "); } break; case 121: ! # line 437 "lang.yacc" ! { d_node.plot = yypvt[-0] ;} break; case 122: ! # line 439 "lang.yacc" ! {err("plot = true ");} break; case 123: ! # line 443 "lang.yacc" ! { d_node.num_pkts = yypvt[-0];} break; case 124: ! # line 445 "lang.yacc" ! {err ("num_pkts = 2000") ;} break; case 125: ! # line 449 "lang.yacc" ! { d_node.on_time = 1.0e-6 * ((float)yypvt[-0]);} break; case 126: ! # line 451 "lang.yacc" ! { d_node.on_time = 1.0e-6 * extract_float(yypvt[-0]);} break; case 127: ! # line 453 "lang.yacc" ! {err ("on_time = 2000.0 ");} break; case 128: ! # line 457 "lang.yacc" ! { d_node.off_time = 1.0e-6 * ((float)yypvt[-0]);} break; case 129: ! # line 459 "lang.yacc" ! { d_node.off_time = 1.0e-6 * extract_float(yypvt[-0]);} break; case 130: ! # line 461 "lang.yacc" ! {err ("off_time = 2000.0 ");} break; case 131: ! # line 465 "lang.yacc" ! { d_node.peak = extract_float(yypvt[-0]);} break; case 132: ! # line 467 "lang.yacc" ! { d_node.peak = yypvt[-0];} break; case 133: ! # line 469 "lang.yacc" ! {err ("peak = 2000.0 ");} break; case 134: ! # line 473 "lang.yacc" ! { d_node.average = extract_float(yypvt[-0]);} break; case 135: ! # line 475 "lang.yacc" ! { d_node.average = yypvt[-0];} break; case 136: ! # line 477 "lang.yacc" ! {err ("average = 2000.0") ;} break; case 137: ! # line 481 "lang.yacc" ! { d_node.interval = yypvt[-0];} break; case 138: ! # line 483 "lang.yacc" ! {err ("interval = 2000");} break; case 139: ! # line 487 "lang.yacc" ! { d_node.jitter = yypvt[-0];} break; case 140: ! # line 489 "lang.yacc" ! {err ("jitter = 2000") ;} break; case 144: ! # line 500 "lang.yacc" ! { d_nb_table[hrr_i] = yypvt[-3]; ! d_b_table[hrr_i] = yypvt[-1]; d_hrr_i++ ; ! } break; case 145: ! # line 505 "lang.yacc" ! { err("5:3 "); } break; case 146: ! # line 507 "lang.yacc" ! {d_node.policy = yypvt[-0]; } break; case 147: ! # line 509 "lang.yacc" ! {err("sch_policy = 3") ;} break; case 150: ! # line 517 "lang.yacc" { newnode = new(grnode); ! node_table[yypvt[-0]] = newnode; ! nodeid = yypvt[-0]; newnode -> nodedata = new(grnodedat); ! newnode -> nodedata -> nodeid = yypvt[-0]; newnode -> nodedata -> function = d_node.nodefn; newnode->nodedata->start= true; newnode->nodedata->repeat= false; newnode->nodedata->halt= false; ! node_start_time[yypvt[-0]].tv_sec =d_node.start_time_sec; ! node_start_time[yypvt[-0]].tv_usec = d_node.start_time_usec; newnode->nodedata->sink = d_node.sink; --- 1324,1519 ---- prevfn = Sim_Graph->header->monfns = nextfn; prevfn->next = nil; Sim_Graph->nodes = (grnode*) nil; ! } ! break; case 85: ! #line 345 "lang.yacc" ! {err("node_functions { FUNCTION LIST }");} ! break; case 86: ! #line 350 "lang.yacc" ! { ! /***LEAK***/ ! nextfn = new(extfunc); nextfn->addr = put_address("main"); nextfn->next = nil; ! Sim_Graph->header->nodefns = nextfn;} ! break; case 90: ! #line 365 "lang.yacc" {errline(); printf ("function improperly declared \n"); ! exit(0);} ! break; case 91: ! #line 373 "lang.yacc" {nextfn = new(extfunc); nextfn->addr = put_address("main"); nextfn->next = nil; ! Sim_Graph->header->nodefns = nextfn;} ! break; case 93: ! #line 381 "lang.yacc" ! {err("function = ftp_source") ;} ! break; case 95: ! #line 386 "lang.yacc" ! {err("function = ftp_source ");} ! break; case 96: ! #line 390 "lang.yacc" ! {Sim_Graph -> edges = (gredge*) nil ;} ! break; case 97: ! #line 392 "lang.yacc" ! {err("nodes { {DEFAULT} NODE LIST } ");} ! break; case 99: ! #line 397 "lang.yacc" {errline(); printf("Error in default node definition\n"); ! exit(0);} ! break; case 115: ! #line 422 "lang.yacc" ! { d_node.nodefn = put_address(yyvsp[0]);} ! break; case 116: ! #line 424 "lang.yacc" ! {err("function = ftp_source ");} ! break; case 117: ! #line 428 "lang.yacc" ! { d_node.sink = yyvsp[0];} ! break; case 118: ! #line 430 "lang.yacc" ! {err("sink = 4") ;} ! break; case 119: ! #line 433 "lang.yacc" ! {d_node.start_time_sec = yyvsp[-2]; ! d_node.start_time_usec = yyvsp[0];} ! break; case 120: ! #line 437 "lang.yacc" ! { err("start_time = 1,10000 "); } ! break; case 121: ! #line 442 "lang.yacc" ! { d_node.plot = yyvsp[0] ;} ! break; case 122: ! #line 444 "lang.yacc" ! {err("plot = true ");} ! break; case 123: ! #line 448 "lang.yacc" ! { d_node.num_pkts = yyvsp[0];} ! break; case 124: ! #line 450 "lang.yacc" ! {err ("num_pkts = 2000") ;} ! break; case 125: ! #line 454 "lang.yacc" ! { d_node.on_time = 1.0e-6 * ((float)yyvsp[0]);} ! break; case 126: ! #line 456 "lang.yacc" ! { d_node.on_time = 1.0e-6 * extract_float(yyvsp[0]);} ! break; case 127: ! #line 458 "lang.yacc" ! {err ("on_time = 2000.0 ");} ! break; case 128: ! #line 462 "lang.yacc" ! { d_node.off_time = 1.0e-6 * ((float)yyvsp[0]);} ! break; case 129: ! #line 464 "lang.yacc" ! { d_node.off_time = 1.0e-6 * extract_float(yyvsp[0]);} ! break; case 130: ! #line 466 "lang.yacc" ! {err ("off_time = 2000.0 ");} ! break; case 131: ! #line 470 "lang.yacc" ! { d_node.peak = extract_float(yyvsp[0]);} ! break; case 132: ! #line 472 "lang.yacc" ! { d_node.peak = yyvsp[0];} ! break; case 133: ! #line 474 "lang.yacc" ! {err ("peak = 2000.0 ");} ! break; case 134: ! #line 478 "lang.yacc" ! { d_node.average = extract_float(yyvsp[0]);} ! break; case 135: ! #line 480 "lang.yacc" ! { d_node.average = yyvsp[0];} ! break; case 136: ! #line 482 "lang.yacc" ! {err ("average = 2000.0") ;} ! break; case 137: ! #line 486 "lang.yacc" ! { d_node.interval = yyvsp[0];} ! break; case 138: ! #line 488 "lang.yacc" ! {err ("interval = 2000");} ! break; case 139: ! #line 492 "lang.yacc" ! { d_node.jitter = yyvsp[0];} ! break; case 140: ! #line 494 "lang.yacc" ! {err ("jitter = 2000") ;} ! break; case 144: ! #line 505 "lang.yacc" ! { d_nb_table[hrr_i] = yyvsp[-3]; ! d_b_table[hrr_i] = yyvsp[-1]; d_hrr_i++ ; ! } ! break; case 145: ! #line 510 "lang.yacc" ! { err("5:3 "); } ! break; case 146: ! #line 512 "lang.yacc" ! {d_node.policy = yyvsp[0]; } ! break; case 147: ! #line 514 "lang.yacc" ! {err("sch_policy = 3") ;} ! break; case 150: ! #line 522 "lang.yacc" { + /***LEAK***/ newnode = new(grnode); ! node_table[yyvsp[0]] = newnode; ! nodeid = yyvsp[0]; ! /***LEAK***/ newnode -> nodedata = new(grnodedat); ! newnode -> nodedata -> nodeid = yyvsp[0]; newnode -> nodedata -> function = d_node.nodefn; newnode->nodedata->start= true; newnode->nodedata->repeat= false; newnode->nodedata->halt= false; ! node_start_time[yyvsp[0]].tv_sec =d_node.start_time_sec; ! node_start_time[yyvsp[0]].tv_usec = d_node.start_time_usec; newnode->nodedata->sink = d_node.sink; *************** *** 1782,1919 **** else newnode->nodedata->plot= false; ! num_pkts [yypvt[-0]] = d_node.num_pkts; ! on_time [yypvt[-0]] = d_node.on_time; ! off_time [yypvt[-0]] = d_node.off_time; ! peak_bandwidth [yypvt[-0]] = d_node.peak; ! ave_bandwidth [yypvt[-0]] = d_node.average; ! interval [yypvt[-0]] = d_node.interval; ! jitter [yypvt[-0]] = d_node.jitter; ! policy [yypvt[-0]] = d_node.policy; for(i=1; i <= NUM_LEVELS; i++) { ! nb_table[yypvt[-0]][i] = d_nb_table[i]; ! b_table[yypvt[-0]][i] = d_b_table[i]; } hrr_i = 1; ! } break; case 151: ! # line 554 "lang.yacc" ! {insn(newnode, &Sim_Graph -> nodes);} break; case 170: ! # line 580 "lang.yacc" ! {newnode ->nodedata->function = put_address(yypvt[-0]);} break; case 171: ! # line 582 "lang.yacc" ! {err("function = ftp_source");} break; case 172: ! # line 586 "lang.yacc" ! { newnode->nodedata->sink = yypvt[-0];} break; case 173: ! # line 588 "lang.yacc" ! {err("sink = 4") ;} break; case 174: ! # line 591 "lang.yacc" ! {node_start_time[nodeid].tv_sec = yypvt[-2]; ! node_start_time[nodeid].tv_usec = yypvt[-0];} break; case 175: ! # line 595 "lang.yacc" ! { err("start_time = 1,10000") ; } break; case 176: ! # line 600 "lang.yacc" ! {if (yypvt[-0]) newnode->nodedata->plot= true; else ! newnode->nodedata->plot= false;} break; case 177: ! # line 605 "lang.yacc" ! {err("plot = true ");} break; case 178: ! # line 609 "lang.yacc" ! {num_pkts[nodeid] = yypvt[-0];} break; case 179: ! # line 611 "lang.yacc" ! {err ("num_pkts = 2000") ;} break; case 180: ! # line 615 "lang.yacc" ! {on_time[nodeid] = 1.0e-6 * ((float) yypvt[-0]);} break; case 181: ! # line 617 "lang.yacc" ! {on_time[nodeid] = 1.0e-6 * extract_float(yypvt[-0]);} break; case 182: ! # line 619 "lang.yacc" ! {err ("on_time = 2000.0 ");} break; case 183: ! # line 622 "lang.yacc" ! { off_time[nodeid] = 1.0e-6 * ((float) yypvt[-0]);} break; case 184: ! # line 624 "lang.yacc" ! { off_time[nodeid] = 1.0e-6 * extract_float(yypvt[-0]);} break; case 185: ! # line 626 "lang.yacc" ! {err ("off_time = 2000.0 ");} break; case 186: ! # line 631 "lang.yacc" ! {peak_bandwidth[nodeid] = extract_float(yypvt[-0]);} break; case 187: ! # line 633 "lang.yacc" ! {peak_bandwidth[nodeid] = yypvt[-0];} break; case 188: ! # line 635 "lang.yacc" ! {err ("peak = 2000.0") ;} break; case 189: ! # line 639 "lang.yacc" ! {ave_bandwidth[nodeid] = extract_float(yypvt[-0]);} break; case 190: ! # line 641 "lang.yacc" ! {ave_bandwidth[nodeid] = yypvt[-0];} break; case 191: ! # line 643 "lang.yacc" ! {err ("average = 2000.0 ");} break; case 192: ! # line 647 "lang.yacc" ! { interval[nodeid] = yypvt[-0];} break; case 193: ! # line 649 "lang.yacc" ! {err ("interval = 2000 ");} break; case 194: ! # line 653 "lang.yacc" ! { jitter [nodeid] = yypvt[-0];} break; case 195: ! # line 655 "lang.yacc" ! {err ("jitter = 2000") ;} break; case 199: ! # line 666 "lang.yacc" ! { nb_table[nodeid][hrr_i] = yypvt[-3]; ! b_table[nodeid][hrr_i] = yypvt[-1]; hrr_i++ ; ! } break; case 200: ! # line 671 "lang.yacc" ! { err("5:3 "); } break; case 201: ! # line 674 "lang.yacc" ! {policy[nodeid] = yypvt[-0]; } break; case 202: ! # line 676 "lang.yacc" ! {err("sch_policy = 3");} break; case 203: ! # line 680 "lang.yacc" ! {strcat (input_file[nodeid], yypvt[-0]);} break; case 204: ! # line 682 "lang.yacc" ! { err("input_file = /usr/keshav/sim/sim/inp1; "); } break; case 205: ! # line 686 "lang.yacc" ! {class[nodeid] = yypvt[-0]; } break; case 206: ! # line 688 "lang.yacc" ! {err("class = 3");} break; case 208: ! # line 693 "lang.yacc" ! { err("location = 1, 5") ; } break; case 210: ! # line 702 "lang.yacc" { d_edge.bandwidth = 0.0 ; d_edge.latency = 0 ; --- 1522,1696 ---- else newnode->nodedata->plot= false; ! num_pkts [yyvsp[0]] = d_node.num_pkts; ! on_time [yyvsp[0]] = d_node.on_time; ! off_time [yyvsp[0]] = d_node.off_time; ! peak_bandwidth [yyvsp[0]] = d_node.peak; ! ave_bandwidth [yyvsp[0]] = d_node.average; ! interval [yyvsp[0]] = d_node.interval; ! jitter [yyvsp[0]] = d_node.jitter; ! policy [yyvsp[0]] = d_node.policy; for(i=1; i <= NUM_LEVELS; i++) { ! nb_table[yyvsp[0]][i] = d_nb_table[i]; ! b_table[yyvsp[0]][i] = d_b_table[i]; } hrr_i = 1; ! } ! break; case 151: ! #line 561 "lang.yacc" ! {insn(newnode, &Sim_Graph -> nodes);} ! break; case 170: ! #line 587 "lang.yacc" ! {newnode ->nodedata->function = put_address(yyvsp[0]);} ! break; case 171: ! #line 589 "lang.yacc" ! {err("function = ftp_source");} ! break; case 172: ! #line 593 "lang.yacc" ! { newnode->nodedata->sink = yyvsp[0];} ! break; case 173: ! #line 595 "lang.yacc" ! {err("sink = 4") ;} ! break; case 174: ! #line 598 "lang.yacc" ! {node_start_time[nodeid].tv_sec = yyvsp[-2]; ! node_start_time[nodeid].tv_usec = yyvsp[0];} ! break; case 175: ! #line 602 "lang.yacc" ! { err("start_time = 1,10000") ; } ! break; case 176: ! #line 607 "lang.yacc" ! {if (yyvsp[0]) newnode->nodedata->plot= true; else ! newnode->nodedata->plot= false;} ! break; case 177: ! #line 612 "lang.yacc" ! {err("plot = true ");} ! break; case 178: ! #line 616 "lang.yacc" ! {num_pkts[nodeid] = yyvsp[0];} ! break; case 179: ! #line 618 "lang.yacc" ! {err ("num_pkts = 2000") ;} ! break; case 180: ! #line 622 "lang.yacc" ! {on_time[nodeid] = 1.0e-6 * ((float) yyvsp[0]);} ! break; case 181: ! #line 624 "lang.yacc" ! {on_time[nodeid] = 1.0e-6 * extract_float(yyvsp[0]);} ! break; case 182: ! #line 626 "lang.yacc" ! {err ("on_time = 2000.0 ");} ! break; case 183: ! #line 629 "lang.yacc" ! { off_time[nodeid] = 1.0e-6 * ((float) yyvsp[0]);} ! break; case 184: ! #line 631 "lang.yacc" ! { off_time[nodeid] = 1.0e-6 * extract_float(yyvsp[0]);} ! break; case 185: ! #line 633 "lang.yacc" ! {err ("off_time = 2000.0 ");} ! break; case 186: ! #line 638 "lang.yacc" ! {peak_bandwidth[nodeid] = extract_float(yyvsp[0]);} ! break; case 187: ! #line 640 "lang.yacc" ! {peak_bandwidth[nodeid] = yyvsp[0];} ! break; case 188: ! #line 642 "lang.yacc" ! {err ("peak = 2000.0") ;} ! break; case 189: ! #line 646 "lang.yacc" ! {ave_bandwidth[nodeid] = extract_float(yyvsp[0]);} ! break; case 190: ! #line 648 "lang.yacc" ! {ave_bandwidth[nodeid] = yyvsp[0];} ! break; case 191: ! #line 650 "lang.yacc" ! {err ("average = 2000.0 ");} ! break; case 192: ! #line 654 "lang.yacc" ! { interval[nodeid] = yyvsp[0];} ! break; case 193: ! #line 656 "lang.yacc" ! {err ("interval = 2000 ");} ! break; case 194: ! #line 660 "lang.yacc" ! { jitter [nodeid] = yyvsp[0];} ! break; case 195: ! #line 662 "lang.yacc" ! {err ("jitter = 2000") ;} ! break; case 199: ! #line 673 "lang.yacc" ! { nb_table[nodeid][hrr_i] = yyvsp[-3]; ! b_table[nodeid][hrr_i] = yyvsp[-1]; hrr_i++ ; ! } ! break; case 200: ! #line 678 "lang.yacc" ! { err("5:3 "); } ! break; case 201: ! #line 681 "lang.yacc" ! {policy[nodeid] = yyvsp[0]; } ! break; case 202: ! #line 683 "lang.yacc" ! {err("sch_policy = 3");} ! break; case 203: ! #line 687 "lang.yacc" ! {strcat (input_file[nodeid], yyvsp[0]);} ! break; case 204: ! #line 689 "lang.yacc" ! { err("input_file = /usr/keshav/sim/sim/inp1; "); } ! break; case 205: ! #line 693 "lang.yacc" ! {class[nodeid] = yyvsp[0]; } ! break; case 206: ! #line 695 "lang.yacc" ! {err("class = 3");} ! break; case 208: ! #line 700 "lang.yacc" ! { err("location = 1, 5") ; } ! break; case 210: ! #line 709 "lang.yacc" { d_edge.bandwidth = 0.0 ; d_edge.latency = 0 ; *************** *** 1921,2050 **** d_edge.corruption_prob = 0.0 ; d_edge.loss_burst_size = 0.0 ; strcpy (d_edge.chan, "tx_chan"); ! } break; case 212: ! # line 713 "lang.yacc" { errline(); printf("Error in default edge definition\n"); exit(0); ! } break; case 220: ! # line 728 "lang.yacc" {errline(); printf ("Error in default edge definition\n"); ! exit(0);} break; case 221: ! # line 734 "lang.yacc" ! { d_edge.bandwidth = (float) yypvt[-0];} break; case 222: ! # line 736 "lang.yacc" ! { d_edge.bandwidth = extract_float(yypvt[-0]);} break; case 223: ! # line 738 "lang.yacc" ! {err("bandwidth = 40.0") ;} break; case 224: ! # line 742 "lang.yacc" ! {d_edge.latency = yypvt[-0];} break; case 225: ! # line 744 "lang.yacc" ! {err("latency = 10") ;} break; case 226: ! # line 748 "lang.yacc" ! { d_edge.loss_prob = (float) yypvt[-0];} break; case 227: ! # line 750 "lang.yacc" ! { d_edge.loss_prob = extract_float(yypvt[-0]);} break; case 228: ! # line 752 "lang.yacc" ! {err("loss_prob = 0.5") ;} break; case 229: ! # line 756 "lang.yacc" ! { d_edge.corruption_prob = (float) yypvt[-0];} break; case 230: ! # line 758 "lang.yacc" ! { d_edge.corruption_prob = extract_float(yypvt[-0]);} break; case 231: ! # line 760 "lang.yacc" ! {err("corruption_prob = 0.5") ;} break; case 232: ! # line 764 "lang.yacc" ! { d_edge.loss_burst_size = (float) yypvt[-0];} break; case 233: ! # line 766 "lang.yacc" ! { d_edge.loss_burst_size = extract_float(yypvt[-0]);} break; case 234: ! # line 768 "lang.yacc" ! {err("loss_burst_size = 40.0") ;} break; case 237: ! # line 775 "lang.yacc" { newedge = new(gredge); newedge->edgedata = new(gredgedat); newedge->edgedata->line_speed = d_edge.bandwidth; newedge->edgedata->loss_prob = d_edge.loss_prob; newedge->edgedata->corruption_prob = d_edge.corruption_prob; newedge->edgedata->loss_burst_size = d_edge.loss_burst_size; newedge->edgedata->weight =d_edge.latency; nextchan = new(struct cfunc); nextchan->addr = put_address(d_edge.chan); newedge ->edgedata->delete = false; newedge ->edgedata->unused = 0; newedge ->edgedata->chanstack = nextchan ; ! newedge ->edgedata->chanstack->next = nil;} break; case 238: ! # line 792 "lang.yacc" ! {insn(newedge, &Sim_Graph ->edges);} break; case 247: ! # line 807 "lang.yacc" ! {newedge -> node1 = node_table[yypvt[-2]]; ! newedge -> node2 = node_table[yypvt[-0]]; } break; case 248: ! # line 810 "lang.yacc" ! {err(" 1 -> 2; ");} break; case 249: ! # line 814 "lang.yacc" ! {newedge->edgedata->line_speed=(float)yypvt[-0] ;} break; case 250: ! # line 816 "lang.yacc" ! {newedge->edgedata->line_speed=extract_float(yypvt[-0]);} break; case 251: ! # line 818 "lang.yacc" ! {err("bandwidth = 40.0 ");} break; case 252: ! # line 822 "lang.yacc" ! {newedge->edgedata->weight =yypvt[-0]; ! newedge->edgedata->delete=false;} break; case 253: ! # line 825 "lang.yacc" ! {err("latency = 10 ");} break; case 254: ! # line 829 "lang.yacc" ! { newedge->edgedata->loss_prob = (float) yypvt[-0];} break; case 255: ! # line 831 "lang.yacc" ! { newedge->edgedata->loss_prob = extract_float(yypvt[-0]);} break; case 256: ! # line 833 "lang.yacc" ! {err("loss_prob = 0.5") ;} break; case 257: ! # line 837 "lang.yacc" ! { newedge->edgedata->corruption_prob = (float) yypvt[-0];} break; case 258: ! # line 839 "lang.yacc" ! { newedge->edgedata->corruption_prob = extract_float(yypvt[-0]);} break; case 259: ! # line 841 "lang.yacc" ! {err("corruption_prob = 0.5") ;} break; case 260: ! # line 845 "lang.yacc" ! { newedge->edgedata->loss_burst_size = (float) yypvt[-0];} break; case 261: ! # line 847 "lang.yacc" ! { newedge->edgedata->loss_burst_size = extract_float(yypvt[-0]);} break; case 262: ! # line 849 "lang.yacc" ! {err("loss_burst_size = 40.0") ;} break; ! } ! goto yystack; /* reset registers in driver code */ } - --- 1698,1918 ---- d_edge.corruption_prob = 0.0 ; d_edge.loss_burst_size = 0.0 ; strcpy (d_edge.chan, "tx_chan"); ! } ! break; case 212: ! #line 720 "lang.yacc" { errline(); printf("Error in default edge definition\n"); exit(0); ! } ! break; case 220: ! #line 735 "lang.yacc" {errline(); printf ("Error in default edge definition\n"); ! exit(0);} ! break; case 221: ! #line 741 "lang.yacc" ! { d_edge.bandwidth = (float) yyvsp[0];} ! break; case 222: ! #line 743 "lang.yacc" ! { d_edge.bandwidth = extract_float(yyvsp[0]);} ! break; case 223: ! #line 745 "lang.yacc" ! {err("bandwidth = 40.0") ;} ! break; case 224: ! #line 749 "lang.yacc" ! {d_edge.latency = yyvsp[0];} ! break; case 225: ! #line 751 "lang.yacc" ! {err("latency = 10") ;} ! break; case 226: ! #line 755 "lang.yacc" ! { d_edge.loss_prob = (float) yyvsp[0];} ! break; case 227: ! #line 757 "lang.yacc" ! { d_edge.loss_prob = extract_float(yyvsp[0]);} ! break; case 228: ! #line 759 "lang.yacc" ! {err("loss_prob = 0.5") ;} ! break; case 229: ! #line 763 "lang.yacc" ! { d_edge.corruption_prob = (float) yyvsp[0];} ! break; case 230: ! #line 765 "lang.yacc" ! { d_edge.corruption_prob = extract_float(yyvsp[0]);} ! break; case 231: ! #line 767 "lang.yacc" ! {err("corruption_prob = 0.5") ;} ! break; case 232: ! #line 771 "lang.yacc" ! { d_edge.loss_burst_size = (float) yyvsp[0];} ! break; case 233: ! #line 773 "lang.yacc" ! { d_edge.loss_burst_size = extract_float(yyvsp[0]);} ! break; case 234: ! #line 775 "lang.yacc" ! {err("loss_burst_size = 40.0") ;} ! break; case 237: ! #line 782 "lang.yacc" { + /***LEAK***/ newedge = new(gredge); + /***LEAK***/ newedge->edgedata = new(gredgedat); newedge->edgedata->line_speed = d_edge.bandwidth; newedge->edgedata->loss_prob = d_edge.loss_prob; newedge->edgedata->corruption_prob = d_edge.corruption_prob; newedge->edgedata->loss_burst_size = d_edge.loss_burst_size; newedge->edgedata->weight =d_edge.latency; + /***LEAK***/ nextchan = new(struct cfunc); nextchan->addr = put_address(d_edge.chan); newedge ->edgedata->delete = false; newedge ->edgedata->unused = 0; newedge ->edgedata->chanstack = nextchan ; ! newedge ->edgedata->chanstack->next = nil;} ! break; case 238: ! #line 802 "lang.yacc" ! {insn(newedge, &Sim_Graph ->edges);} ! break; case 247: ! #line 817 "lang.yacc" ! {newedge -> node1 = node_table[yyvsp[-2]]; ! newedge -> node2 = node_table[yyvsp[0]]; } ! break; case 248: ! #line 820 "lang.yacc" ! {err(" 1 -> 2; ");} ! break; case 249: ! #line 824 "lang.yacc" ! {newedge->edgedata->line_speed=(float)yyvsp[0] ;} ! break; case 250: ! #line 826 "lang.yacc" ! {newedge->edgedata->line_speed=extract_float(yyvsp[0]);} ! break; case 251: ! #line 828 "lang.yacc" ! {err("bandwidth = 40.0 ");} ! break; case 252: ! #line 832 "lang.yacc" ! {newedge->edgedata->weight =yyvsp[0]; ! newedge->edgedata->delete=false;} ! break; case 253: ! #line 835 "lang.yacc" ! {err("latency = 10 ");} ! break; case 254: ! #line 839 "lang.yacc" ! { newedge->edgedata->loss_prob = (float) yyvsp[0];} ! break; case 255: ! #line 841 "lang.yacc" ! { newedge->edgedata->loss_prob = extract_float(yyvsp[0]);} ! break; case 256: ! #line 843 "lang.yacc" ! {err("loss_prob = 0.5") ;} ! break; case 257: ! #line 847 "lang.yacc" ! { newedge->edgedata->corruption_prob = (float) yyvsp[0];} ! break; case 258: ! #line 849 "lang.yacc" ! { newedge->edgedata->corruption_prob = extract_float(yyvsp[0]);} ! break; case 259: ! #line 851 "lang.yacc" ! {err("corruption_prob = 0.5") ;} ! break; case 260: ! #line 855 "lang.yacc" ! { newedge->edgedata->loss_burst_size = (float) yyvsp[0];} ! break; case 261: ! #line 857 "lang.yacc" ! { newedge->edgedata->loss_burst_size = extract_float(yyvsp[0]);} ! break; case 262: ! #line 859 "lang.yacc" ! {err("loss_burst_size = 40.0") ;} ! break; ! #line 1863 "y.tab.c" ! } ! yyssp -= yym; ! yystate = *yyssp; ! yyvsp -= yym; ! yym = yylhs[yyn]; ! if (yystate == 0 && yym == 0) ! { ! #if YYDEBUG ! if (yydebug) ! printf("%sdebug: after reduction, shifting from state 0 to\ ! state %d\n", YYPREFIX, YYFINAL); ! #endif ! yystate = YYFINAL; ! *++yyssp = YYFINAL; ! *++yyvsp = yyval; ! if (yychar < 0) ! { ! if ((yychar = yylex()) < 0) yychar = 0; ! #if YYDEBUG ! if (yydebug) ! { ! yys = 0; ! if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; ! if (!yys) yys = "illegal-symbol"; ! printf("%sdebug: state %d, reading %d (%s)\n", ! YYPREFIX, YYFINAL, yychar, yys); ! } ! #endif ! } ! if (yychar == 0) goto yyaccept; ! goto yyloop; ! } ! if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 && ! yyn <= YYTABLESIZE && yycheck[yyn] == yystate) ! yystate = yytable[yyn]; ! else ! yystate = yydgoto[yym]; ! #if YYDEBUG ! if (yydebug) ! printf("%sdebug: after reduction, shifting from state %d \ ! to state %d\n", YYPREFIX, *yyssp, yystate); ! #endif ! if (yyssp >= yysslim && yygrowstack()) ! { ! goto yyoverflow; ! } ! *++yyssp = yystate; ! *++yyvsp = yyval; ! goto yyloop; ! yyoverflow: ! yyerror("yacc stack overflow"); ! yyabort: ! return (1); ! yyaccept: ! return (0); } diff -c -r sim5.0/sim/makefile sim5.0-linux/sim/makefile *** sim5.0/sim/makefile 1997-08-15 07:46:04.000000000 +0930 --- sim5.0-linux/sim/makefile 2003-08-26 14:13:10.000000000 +0930 *************** *** 113,127 **** # # use the next line for SunOS < 5 (i.e. pre-Solaris) # ! nm -g simulate | awk -f nm2.awk | cat > $(FUNC_FILE) # # use the next line for Solaris # # nm -gp -tx simulate | awk -f nm1.awk | sort | cat > $(FUNC_FILE) # ! # use the next line for IRIX and Digital Unix # ! # nm -B simulate | awk -f nm1.awk | cat > $(FUNC_FILE) chmod a+r $(FUNC_FILE) depend: --- 113,127 ---- # # use the next line for SunOS < 5 (i.e. pre-Solaris) # ! # nm -g simulate | awk -f nm2.awk | cat > $(FUNC_FILE) # # use the next line for Solaris # # nm -gp -tx simulate | awk -f nm1.awk | sort | cat > $(FUNC_FILE) # ! # use the next line for IRIX and Digital Unix or Linux # ! nm -B simulate | awk -f nm1.awk | cat > $(FUNC_FILE) chmod a+r $(FUNC_FILE) depend: diff -c -r sim5.0/sim/router/fq.c sim5.0-linux/sim/router/fq.c *** sim5.0/sim/router/fq.c 1997-06-19 02:00:37.000000000 +0930 --- sim5.0-linux/sim/router/fq.c 2003-08-26 14:13:10.000000000 +0930 *************** *** 119,124 **** --- 119,127 ---- /* make_plot("nac", num_active[node][qnum]); */ + #ifdef FOO + fprintf(stderr, "+A %d %d %d\n", conv_id, node, qnum); + #endif add_conv(conv_id, &head_alive_list[node][qnum]); } if (SCH_DEBUG and pkt->type isnt ACK) *************** *** 191,196 **** --- 194,202 ---- } finish_num[node][min_conv] = 0; + #ifndef FOO + fprintf(stderr, "-A %d %d %d\n", min_conv, node, qnum); + #endif if (delete_conv(min_conv, &head_alive_list[node][qnum]) is -1) pr_error("new_arrival: removing alive conv that does not exist in alive list!");; diff -c -r sim5.0/sim/router/makefile sim5.0-linux/sim/router/makefile *** sim5.0/sim/router/makefile 1997-07-18 06:09:12.000000000 +0930 --- sim5.0-linux/sim/router/makefile 2003-08-26 14:20:48.000000000 +0930 *************** *** 9,15 **** # Standard make variables CC = cc ! CFLAGS = -g -c -w LINT = lint LINTFLAGS = -buxz --- 9,15 ---- # Standard make variables CC = cc ! CFLAGS = -g -c -w -O2 LINT = lint LINTFLAGS = -buxz *************** *** 54,107 **** # DO NOT DELETE THIS LINE -- make depend uses it ! fq.o: fq.c ./../kernel/real.h ./../kernel/../../src/nest.h /usr/include/stdio.h ! fq.o: /usr/include/sys/time.h /usr/include/time.h ! fq.o: ./../kernel/../../src/dcctime.h /usr/include/sys/types.h ! fq.o: /usr/include/sys/param.h /usr/include/sys/signal.h ! fq.o: /usr/include/sys/times.h ./../kernel/../../src/graph.h ! fq.o: ./../kernel/../../src/defs.h ./../kernel/../kernel/config.h ! fq.o: /usr/include/stdio.h ./../kernel/../kernel/types.h ! fq.o: ./../kernel/../kernel/parameters.h ! hrr.o: hrr.c ./../kernel/real.h ./../kernel/../../src/nest.h ! hrr.o: /usr/include/stdio.h /usr/include/sys/time.h /usr/include/time.h ! hrr.o: ./../kernel/../../src/dcctime.h /usr/include/sys/types.h ! hrr.o: /usr/include/sys/param.h /usr/include/sys/signal.h ! hrr.o: /usr/include/sys/times.h ./../kernel/../../src/graph.h ! hrr.o: ./../kernel/../../src/defs.h ./../kernel/../kernel/config.h ! hrr.o: /usr/include/stdio.h ./../kernel/../kernel/types.h ! hrr.o: ./../kernel/../kernel/parameters.h ! router.o: router.c ./router.h ./../kernel/real.h ./../kernel/../../src/nest.h ! router.o: /usr/include/stdio.h /usr/include/sys/time.h /usr/include/time.h ! router.o: ./../kernel/../../src/dcctime.h /usr/include/sys/types.h ! router.o: /usr/include/sys/param.h /usr/include/sys/signal.h ! router.o: /usr/include/sys/times.h ./../kernel/../../src/graph.h ! router.o: ./../kernel/../../src/defs.h ./../kernel/../kernel/config.h ! router.o: /usr/include/stdio.h ./../kernel/../kernel/types.h ! router.o: ./../kernel/../kernel/parameters.h ! scheduler.o: scheduler.c ./../kernel/real.h ./../kernel/../../src/nest.h ! scheduler.o: /usr/include/stdio.h /usr/include/sys/time.h /usr/include/time.h ! scheduler.o: ./../kernel/../../src/dcctime.h /usr/include/sys/types.h ! scheduler.o: /usr/include/sys/param.h /usr/include/sys/signal.h ! scheduler.o: /usr/include/sys/times.h ./../kernel/../../src/graph.h ! scheduler.o: ./../kernel/../../src/defs.h ./../kernel/../kernel/config.h ! scheduler.o: /usr/include/stdio.h ./../kernel/../kernel/types.h ! scheduler.o: ./../kernel/../kernel/parameters.h ! queues.o: queues.c ./../kernel/real.h ./../kernel/../../src/nest.h ! queues.o: /usr/include/stdio.h /usr/include/sys/time.h /usr/include/time.h ! queues.o: ./../kernel/../../src/dcctime.h /usr/include/sys/types.h ! queues.o: /usr/include/sys/param.h /usr/include/sys/signal.h ! queues.o: /usr/include/sys/times.h ./../kernel/../../src/graph.h ! queues.o: ./../kernel/../../src/defs.h ./../kernel/../kernel/config.h ! queues.o: /usr/include/stdio.h ./../kernel/../kernel/types.h ! queues.o: ./../kernel/../kernel/parameters.h ! xunet.o: xunet.c ./../kernel/real.h ./../kernel/../../src/nest.h ! xunet.o: /usr/include/stdio.h /usr/include/sys/time.h /usr/include/time.h ! xunet.o: ./../kernel/../../src/dcctime.h /usr/include/sys/types.h ! xunet.o: /usr/include/sys/param.h /usr/include/sys/signal.h ! xunet.o: /usr/include/sys/times.h ./../kernel/../../src/graph.h ! xunet.o: ./../kernel/../../src/defs.h ./../kernel/../kernel/config.h ! xunet.o: /usr/include/stdio.h ./../kernel/../kernel/types.h ! xunet.o: ./../kernel/../kernel/parameters.h # DEPENDENCIES MUST END AT END OF FILE # IF YOU PUT STUFF HERE IT WILL GO AWAY --- 54,185 ---- # DO NOT DELETE THIS LINE -- make depend uses it ! fq.o: fq.c ../kernel/real.h ../../src/nest.h /usr/include/stdio.h \ ! /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! hrr.o: hrr.c ../kernel/real.h ../../src/nest.h /usr/include/stdio.h \ ! /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! router.o: router.c router.h ../kernel/real.h ../../src/nest.h \ ! /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! scheduler.o: scheduler.c ../kernel/real.h ../../src/nest.h \ ! /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! queues.o: queues.c ../kernel/real.h ../../src/nest.h /usr/include/stdio.h \ ! /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! xunet.o: xunet.c ../kernel/real.h ../../src/nest.h /usr/include/stdio.h \ ! /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h # DEPENDENCIES MUST END AT END OF FILE # IF YOU PUT STUFF HERE IT WILL GO AWAY diff -c -r sim5.0/sim/router/makefile.bak sim5.0-linux/sim/router/makefile.bak *** sim5.0/sim/router/makefile.bak 1997-06-17 02:53:46.000000000 +0930 --- sim5.0-linux/sim/router/makefile.bak 2003-08-26 14:20:48.000000000 +0930 *************** *** 9,15 **** # Standard make variables CC = cc ! CFLAGS = -g -c -w -p LINT = lint LINTFLAGS = -buxz --- 9,15 ---- # Standard make variables CC = cc ! CFLAGS = -g -c -w -O2 LINT = lint LINTFLAGS = -buxz *************** *** 39,46 **** tags : ctags *.c ! depend: $(functions) ../makedepend ! ../makedepend $(functions) > depends echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep echo '$$r depends' >>eddep echo 'w' >>eddep --- 39,46 ---- tags : ctags *.c ! depend: $(functions) ../../src/makedepend ! ../../src/makedepend $(functions) > depends echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep echo '$$r depends' >>eddep echo 'w' >>eddep *************** *** 54,107 **** # DO NOT DELETE THIS LINE -- make depend uses it ! fq.o: fq.c ./../kernel/real.h ./../kernel/../../src/nest.h /usr/include/stdio.h ! fq.o: /usr/include/sys/time.h /usr/include/time.h ! fq.o: ./../kernel/../../src/dcctime.h /usr/include/sys/types.h ! fq.o: /usr/include/sys/param.h /usr/include/sys/signal.h ! fq.o: /usr/include/sys/times.h ./../kernel/../../src/graph.h ! fq.o: ./../kernel/../../src/defs.h ./../kernel/../kernel/config.h ! fq.o: /usr/include/stdio.h ./../kernel/../kernel/types.h ! fq.o: ./../kernel/../kernel/parameters.h ! hrr.o: hrr.c ./../kernel/real.h ./../kernel/../../src/nest.h ! hrr.o: /usr/include/stdio.h /usr/include/sys/time.h /usr/include/time.h ! hrr.o: ./../kernel/../../src/dcctime.h /usr/include/sys/types.h ! hrr.o: /usr/include/sys/param.h /usr/include/sys/signal.h ! hrr.o: /usr/include/sys/times.h ./../kernel/../../src/graph.h ! hrr.o: ./../kernel/../../src/defs.h ./../kernel/../kernel/config.h ! hrr.o: /usr/include/stdio.h ./../kernel/../kernel/types.h ! hrr.o: ./../kernel/../kernel/parameters.h ! router.o: router.c ./router.h ./../kernel/real.h ./../kernel/../../src/nest.h ! router.o: /usr/include/stdio.h /usr/include/sys/time.h /usr/include/time.h ! router.o: ./../kernel/../../src/dcctime.h /usr/include/sys/types.h ! router.o: /usr/include/sys/param.h /usr/include/sys/signal.h ! router.o: /usr/include/sys/times.h ./../kernel/../../src/graph.h ! router.o: ./../kernel/../../src/defs.h ./../kernel/../kernel/config.h ! router.o: /usr/include/stdio.h ./../kernel/../kernel/types.h ! router.o: ./../kernel/../kernel/parameters.h ! scheduler.o: scheduler.c ./../kernel/real.h ./../kernel/../../src/nest.h ! scheduler.o: /usr/include/stdio.h /usr/include/sys/time.h /usr/include/time.h ! scheduler.o: ./../kernel/../../src/dcctime.h /usr/include/sys/types.h ! scheduler.o: /usr/include/sys/param.h /usr/include/sys/signal.h ! scheduler.o: /usr/include/sys/times.h ./../kernel/../../src/graph.h ! scheduler.o: ./../kernel/../../src/defs.h ./../kernel/../kernel/config.h ! scheduler.o: /usr/include/stdio.h ./../kernel/../kernel/types.h ! scheduler.o: ./../kernel/../kernel/parameters.h ! queues.o: queues.c ./../kernel/real.h ./../kernel/../../src/nest.h ! queues.o: /usr/include/stdio.h /usr/include/sys/time.h /usr/include/time.h ! queues.o: ./../kernel/../../src/dcctime.h /usr/include/sys/types.h ! queues.o: /usr/include/sys/param.h /usr/include/sys/signal.h ! queues.o: /usr/include/sys/times.h ./../kernel/../../src/graph.h ! queues.o: ./../kernel/../../src/defs.h ./../kernel/../kernel/config.h ! queues.o: /usr/include/stdio.h ./../kernel/../kernel/types.h ! queues.o: ./../kernel/../kernel/parameters.h ! xunet.o: xunet.c ./../kernel/real.h ./../kernel/../../src/nest.h ! xunet.o: /usr/include/stdio.h /usr/include/sys/time.h /usr/include/time.h ! xunet.o: ./../kernel/../../src/dcctime.h /usr/include/sys/types.h ! xunet.o: /usr/include/sys/param.h /usr/include/sys/signal.h ! xunet.o: /usr/include/sys/times.h ./../kernel/../../src/graph.h ! xunet.o: ./../kernel/../../src/defs.h ./../kernel/../kernel/config.h ! xunet.o: /usr/include/stdio.h ./../kernel/../kernel/types.h ! xunet.o: ./../kernel/../kernel/parameters.h # DEPENDENCIES MUST END AT END OF FILE # IF YOU PUT STUFF HERE IT WILL GO AWAY --- 54,185 ---- # DO NOT DELETE THIS LINE -- make depend uses it ! fq.o: fq.c ../kernel/real.h ../../src/nest.h /usr/include/stdio.h \ ! /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! hrr.o: hrr.c ../kernel/real.h ../../src/nest.h /usr/include/stdio.h \ ! /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! router.o: router.c router.h ../kernel/real.h ../../src/nest.h \ ! /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! scheduler.o: scheduler.c ../kernel/real.h ../../src/nest.h \ ! /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! queues.o: queues.c ../kernel/real.h ../../src/nest.h /usr/include/stdio.h \ ! /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! xunet.o: xunet.c ../kernel/real.h ../../src/nest.h /usr/include/stdio.h \ ! /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h # DEPENDENCIES MUST END AT END OF FILE # IF YOU PUT STUFF HERE IT WILL GO AWAY diff -c -r sim5.0/sim/router/queues.c sim5.0-linux/sim/router/queues.c *** sim5.0/sim/router/queues.c 1997-06-17 02:53:46.000000000 +0930 --- sim5.0-linux/sim/router/queues.c 2003-08-26 14:13:10.000000000 +0930 *************** *** 529,535 **** { CONV_PTR conv; ! conv = (CONV_PTR) malloc((unsigned) sizeof(CONV)); conv->conv_id = conv_id; conv->next = *head; *head = conv; --- 529,538 ---- { CONV_PTR conv; ! /* error checking added c.pope 19/7/99 */ ! /***LEAK==8,CLEAN?***/ ! if ((conv = (CONV_PTR) malloc(sizeof(CONV))) == (CONV_PTR) 0) ! pr_error("memory allocation error in adding conversation "); conv->conv_id = conv_id; conv->next = *head; *head = conv; diff -c -r sim5.0/sim/router/router.c sim5.0-linux/sim/router/router.c *** sim5.0/sim/router/router.c 1997-06-19 03:33:39.000000000 +0930 --- sim5.0-linux/sim/router/router.c 2003-08-26 14:13:10.000000000 +0930 *************** *** 89,94 **** --- 89,95 ---- if (plot_option[node]) { + /***LEAK==608***/ make_pkt(util_pkt); util_pkt->type = UTIL; set_timer(((float) util_time * scale_factor), util_pkt); *************** *** 150,155 **** --- 151,159 ---- if (!check_conv(conv_id, head_conv_list[node][qnum])) { + #ifdef FOO + fprintf(stderr, "++ %d %d %d %d\n", conv_id, node, qnum, net_conv[node][qnum]); + #endif add_conv(conv_id, &head_conv_list[node][qnum]); net_conv[node][qnum] ++; } *************** *** 358,363 **** --- 362,370 ---- { if (policy[node] is FQ) { + #ifdef FOO + fprintf(stderr, "+P %d %d %d\n", conv_id, node, qnum); + #endif add_conv(conv_id, &head_perm_conv_list[node][qnum]); compute_fq_weights(conv_id, qnum); } *************** *** 638,643 **** --- 645,653 ---- if (!get_num_buffers_in_q(conv_id)) { + #ifdef FOO + fprintf(stderr, "-- %d %d %d %d\n", conv_id, node, qnum, net_conv[node][qnum]); + #endif if (delete_conv(conv_id, &head_conv_list[node][qnum]) is ERROR) pr_error("error in deleting conversation "); net_conv[node][qnum] --; *************** *** 725,730 **** --- 735,743 ---- case FQ: bandwidth_allocated[node][qnum] -= bandwidth_share[node][conv_id]; bandwidth_share[node][conv_id] = 0; + #ifdef FOO + fprintf(stderr, "-P %d %d %d\n", conv_id, node, qnum); + #endif if (delete_conv(conv_id, &head_perm_conv_list[node][qnum]) is -1) pr_error("trying to delete a conv that does not exist!");; break; *************** *** 804,809 **** --- 817,825 ---- if (!check_conv(conv_id, head_conv_list[node][qnum])) { + #ifdef FOO + fprintf(stderr, "++ %d %d %d %d\n", conv_id, node, qnum, net_conv[node][qnum]); + #endif add_conv(conv_id, &head_conv_list[node][qnum]); /* so that it is picked up later */ net_conv[node][qnum]++; Binary files sim5.0/sim/simulate and sim5.0-linux/sim/simulate differ diff -c -r sim5.0/sim/sources/controlled_rate.c sim5.0-linux/sim/sources/controlled_rate.c *** sim5.0/sim/sources/controlled_rate.c 1997-06-19 03:33:59.000000000 +0930 --- sim5.0-linux/sim/sources/controlled_rate.c 2003-08-26 14:13:10.000000000 +0930 *************** *** 25,30 **** --- 25,31 ---- int pkts_sent = 0, pkt_count = 0; float flt_pkt_count, delay; int click = 0, click_limit; + char error_string[100]; node = get_node_id(); *************** *** 33,54 **** abs_advance(node_start_time[node]); printf("Controlled rate source: %d ", get_node_id()); ! printf ("--> %d, start (%d, %d), on %d, off %d, peak %f\n", sink, node_start_time[node].tv_sec, node_start_time[node].tv_usec, on_time[node], off_time[node], peak_bandwidth[node]); ! if (peak_bandwidth[node] > line_speeds[node][route[node][sink]]) ! pr_error("node %d - peak speed (%f) more than line speed (%f)\n", ! node, peak_bandwidth[node], ! line_speeds[node][route[node][sink]]); flt_pkt_count = (peak_bandwidth[node] * on_time[node] * 1.0e-6)/((float)ftp_size*8.0); pkt_count = (int) flt_pkt_count; click_limit = 1.0/(flt_pkt_count - (float) pkt_count); /* call setup */ ! make_pkt(pkt); pkt->seq_no = seq_no ++; pkt->gen_time = runtime(); --- 34,63 ---- abs_advance(node_start_time[node]); printf("Controlled rate source: %d ", get_node_id()); ! printf ("--> %d, start (%d, %d), on %f, off %f, peak %f\n", sink, node_start_time[node].tv_sec, node_start_time[node].tv_usec, on_time[node], off_time[node], peak_bandwidth[node]); ! if (peak_bandwidth[node] > line_speeds[node][route[node][sink]]) { ! sprintf(error_string, ! "node %d - peak speed (%f) more than line speed (%f)\n", ! node, peak_bandwidth[node], ! line_speeds[node][route[node][sink]]); ! pr_error(error_string); ! } + /* on_time is already converted to seconds by the parser */ + # if 0 flt_pkt_count = (peak_bandwidth[node] * on_time[node] * 1.0e-6)/((float)ftp_size*8.0); + #else + flt_pkt_count = (peak_bandwidth[node] * on_time[node])/((float)ftp_size*8.0); + #endif pkt_count = (int) flt_pkt_count; click_limit = 1.0/(flt_pkt_count - (float) pkt_count); /* call setup */ ! /***LEAK==608***/ make_pkt(pkt); pkt->seq_no = seq_no ++; pkt->gen_time = runtime(); *************** *** 80,85 **** --- 89,97 ---- goto recv; } tick = 1; + #ifndef FOO + free(pkt); + #endif goto test; case ACK: free(pkt); *************** *** 102,144 **** if (tick and (not line_busy) and total_pkts_sent < num_pkts[node]) { ! if (pkts_sent < pkt_count) ! { ! tick = 0; ! line_busy = 1; ! ! make_pkt(pkt); pkt->seq_no = seq_no ++; ! pkt->gen_time = runtime(); ! pkt->gs = 1; ! send_pkt(pkt); ! ! delay = on_time[node]/(float)pkt_count; ! pkts_sent++; ! total_pkts_sent++; ! } else ! { ! delay = off_time[node]; ! pkts_sent = 0; if(++click is click_limit) ! { click = 0; pkt_count = ((int) flt_pkt_count) + 1; ! } else ! pkt_count = ((int) flt_pkt_count); ! } ! ! /* schedule next tick */ ! ! if(tick_pkt is (PKT_PTR) 0) /* start up */ { ! make_pkt(tick_pkt); ! tick_pkt -> type = TIMER; } ! ! set_timer(delay, tick_pkt); ! } goto recv; } --- 114,157 ---- if (tick and (not line_busy) and total_pkts_sent < num_pkts[node]) { ! if (pkts_sent < pkt_count) ! { ! tick = 0; ! line_busy = 1; ! /***LEAK==608,CLEAN***/ ! make_pkt(pkt); pkt->seq_no = seq_no ++; ! pkt->gen_time = runtime(); ! pkt->gs = 1; ! send_pkt(pkt); ! ! delay = on_time[node]/(float)pkt_count; ! pkts_sent++; ! total_pkts_sent++; ! } else ! { ! delay = off_time[node]; ! pkts_sent = 0; if(++click is click_limit) ! { click = 0; pkt_count = ((int) flt_pkt_count) + 1; ! } else ! pkt_count = ((int) flt_pkt_count); ! } ! ! /* schedule next tick */ ! ! if(tick_pkt is (PKT_PTR) 0) /* start up */ { ! /***LEAK==608***/ ! make_pkt(tick_pkt); ! tick_pkt -> type = TIMER; } ! ! set_timer(delay, tick_pkt); ! } goto recv; } diff -c -r sim5.0/sim/sources/ecn_error.c sim5.0-linux/sim/sources/ecn_error.c *** sim5.0/sim/sources/ecn_error.c 1997-11-20 05:18:25.000000000 +1030 --- sim5.0-linux/sim/sources/ecn_error.c 2003-08-26 14:13:10.000000000 +0930 *************** *** 71,77 **** printf("--> %d, start (%d, %d)\n", sink, node_start_time[node].tv_sec, node_start_time[node].tv_usec); ! /* XXX -- initialize array 'seen' here */ /* open files for reading or writing */ if (node is 1) { --- 71,77 ---- printf("--> %d, start (%d, %d)\n", sink, node_start_time[node].tv_sec, node_start_time[node].tv_usec); ! /* XXX -- missing initialization of an array used by the receiver */ /* open files for reading or writing */ if (node is 1) { *************** *** 80,88 **** pr_error("error opening file for read"); } } else { /* if output file exists, first delete it */ ! if (stat("../tnew", &buf) isnt - 1) ! unlink("../tnew"); ! if ((write_file = open("../tnew", O_RDWR | O_CREAT, 777)) is - 1) { perror("open for write"); pr_error("error opening file for write"); } --- 80,88 ---- pr_error("error opening file for read"); } } else { /* if output file exists, first delete it */ ! if (stat("/tmp/tnew", &buf) isnt - 1) ! unlink("/tmp/tnew"); ! if ((write_file = open("/tmp/tnew", O_RDWR | O_CREAT, 777)) is - 1) { perror("open for write"); pr_error("error opening file for write"); } *************** *** 102,108 **** printf("%f:Node %d got an ack, up to %d\n", make_float(now), node, pkt->seq_no); ! /* XXX The code after "test:" saves packets that should be freed here */ last_ack = pkt->seq_no; /* cumulative ack */ --- 102,109 ---- printf("%f:Node %d got an ack, up to %d\n", make_float(now), node, pkt->seq_no); ! /* XXX Free saved copies of packets */ ! /* XXX How are copies saved? see the code after "test:" */ last_ack = pkt->seq_no; /* cumulative ack */ *************** *** 118,128 **** /* compute round trip time */ /* XXX Recall that pkt->gen_time has the generation time in a timeval ! structure. Subtract the time now from this time to find out the RTT */ ! /* update RTT and timeout estimate */ ! /* XXX Use exponential averaging (page 384 of the book), ALPHA is already defined */ /* if this is the last ack, send NO_MORE_DATA */ if(no_more_pkts and last_ack is final_ack) { --- 119,128 ---- /* compute round trip time */ /* XXX Recall that pkt->gen_time has the generation time in a timeval ! structure */ /* update RTT and timeout estimate */ ! /* XXX Use exponential averaging, ALPHA is already defined */ /* if this is the last ack, send NO_MORE_DATA */ if(no_more_pkts and last_ack is final_ack) { *************** *** 141,158 **** pkt->seq_no); /* only accept packets not already received */ ! /* XXX What is the condition that the packet received is not a duplicate? */ if(/*XXX*/ 1) { /* check for corrupted data */ corrupted = 0; r_buf = (unsigned char*) malloc(PKT_DATA_SIZE); - for (i = 0; i < pkt->size; i += 2) { /* XXX Call check_hamming here and test for an error return */ if (/* XXX */ 1) r_buf[i/2] = (data << 4); - /* since check_hamming returns nibbles ... */ else { corrupted = 1; break; --- 141,156 ---- pkt->seq_no); /* only accept packets not already received */ ! /* XXX What is the condition that a packet is not a duplicate? */ if(/*XXX*/ 1) { /* check for corrupted data */ corrupted = 0; r_buf = (unsigned char*) malloc(PKT_DATA_SIZE); for (i = 0; i < pkt->size; i += 2) { /* XXX Call check_hamming here and test for an error return */ if (/* XXX */ 1) r_buf[i/2] = (data << 4); else { corrupted = 1; break; *************** *** 160,166 **** /* XXX Call check_hamming here */ if (/*XXX */ 1) r_buf[i/2] |= data; - /* this is the other half of the nibble */ else { corrupted = 1; break; --- 158,163 ---- *************** *** 187,193 **** ack++; write(write_file, r_save[ack % MWS], r_save_size[ack % MWS]); ! free(r_save[ack%MWS]); seen[ack % MWS] = 0; } last_in_seq = ack; --- 184,190 ---- ack++; write(write_file, r_save[ack % MWS], r_save_size[ack % MWS]); ! free(r_buf); seen[ack % MWS] = 0; } last_in_seq = ack; *************** *** 238,251 **** case TIMEOUT: /* Assume per-pkt timeout. On timeout, enqueue pkt. for * retransmission, in high part of retx. queue */ - /* Enqueue the timeout out packet if it has not been correctly received */ if(/*XXX*/ 1) { printf("%f: node %d, enqueued seq %d on timeout\n", make_float(now), node, pkt->seq_no); enq_high(node, save[(pkt->seq_no)%MWS]); - /* backoff timeout */ timeout = 2*timeout; } --- 235,246 ---- *************** *** 272,281 **** /* encode with hamming code */ for (i = 0; i < size; i++) { - /*XXX Convert the bytes in buffer to encoded bytes in packet. Remember that hamming[] operates in 4 bit quantities */ - } pkt->size = 2 * size; --- 267,274 ---- *************** *** 368,381 **** /* flip the bit indicated by syndrome */ if(syndrome) ! code = code ^ (0x80 >> (syndrome - 1)); /* look up the correct codeword */ ret = -1; for (i = 0; i < 16; i++) { ! ! /*XXX Match the code seen to the entry in hamming[]. If no entry is ! found, then we could not correct the error, return value is set to -1 */ } return ret; --- 361,372 ---- /* flip the bit indicated by syndrome */ if(syndrome) ! code = code ^ (1 << syndrome); /* look up the correct codeword */ ret = -1; for (i = 0; i < 16; i++) { ! /*XXX Match the code seen to the entry in hamming[] */ } return ret; diff -c -r sim5.0/sim/sources/ecn_flow.c sim5.0-linux/sim/sources/ecn_flow.c *** sim5.0/sim/sources/ecn_flow.c 1997-11-20 05:18:27.000000000 +1030 --- sim5.0-linux/sim/sources/ecn_flow.c 2003-08-26 14:13:10.000000000 +0930 *************** *** 196,202 **** last_in_seq = ack; ack++; write(write_file, r_save[ack % MWS], r_save_size[ack%MWS]); ! free(r_save[ack%MWS]); seen[ack % MWS] = 0; } last_in_seq = ack; --- 196,202 ---- last_in_seq = ack; ack++; write(write_file, r_save[ack % MWS], r_save_size[ack%MWS]); ! free(r_buf); seen[ack % MWS] = 0; } last_in_seq = ack; diff -c -r sim5.0/sim/sources/ecn_simple.c sim5.0-linux/sim/sources/ecn_simple.c *** sim5.0/sim/sources/ecn_simple.c 1998-03-31 05:14:51.000000000 +0930 --- sim5.0-linux/sim/sources/ecn_simple.c 2003-08-26 14:13:11.000000000 +0930 *************** *** 106,112 **** * appropriately set (here it is set to type TICK. */ ! set_timer(1.0, tick_pkt); /* for next packet */ } else if (node is 2 and ack) { --- 106,112 ---- * appropriately set (here it is set to type TICK. */ ! set_timer(1000000, tick_pkt); /* for next packet */ } else if (node is 2 and ack) { diff -c -r sim5.0/sim/sources/makefile sim5.0-linux/sim/sources/makefile *** sim5.0/sim/sources/makefile 1997-08-14 11:55:35.000000000 +0930 --- sim5.0-linux/sim/sources/makefile 2003-08-26 14:20:46.000000000 +0930 *************** *** 9,15 **** # Standard make variables CC = cc ! CFLAGS = -g -c -w LINT = lint LINTFLAGS = -buxz --- 9,15 ---- # Standard make variables CC = cc ! CFLAGS = -g -c -w -O2 LINT = lint LINTFLAGS = -buxz *************** *** 66,306 **** # DO NOT DELETE THIS LINE -- make depend uses it ! background.o: background.c ./../kernel/real.h ./../kernel/../../src/nest.h ! background.o: /usr/include/stdio.h /usr/include/malloc.h ! background.o: /usr/include/sys/time.h /usr/include/time.h ! background.o: /usr/include/sys/stdtypes.h ./../kernel/../../src/dcctime.h ! background.o: /usr/include/sys/types.h /usr/include/sys/stdtypes.h ! background.o: /usr/include/sys/sysmacros.h /usr/include/sys/param.h ! background.o: /usr/include/machine/param.h /usr/include/machine/devaddr.h ! background.o: /usr/include/sys/signal.h /usr/include/vm/faultcode.h ! background.o: /usr/include/sys/stdtypes.h /usr/include/sys/types.h ! background.o: /usr/include/sys/times.h /usr/include/sys/types.h ! background.o: ./../kernel/../../src/graph.h ./../kernel/../../src/defs.h ! background.o: ./../kernel/../kernel/config.h /usr/include/stdio.h ! background.o: ./../kernel/../kernel/types.h ./../kernel/../kernel/parameters.h ! jk_reno.o: jk_reno.c ./../kernel/real.h ./../kernel/../../src/nest.h ! jk_reno.o: /usr/include/stdio.h /usr/include/malloc.h /usr/include/sys/time.h ! jk_reno.o: /usr/include/time.h /usr/include/sys/stdtypes.h ! jk_reno.o: ./../kernel/../../src/dcctime.h /usr/include/sys/types.h ! jk_reno.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h ! jk_reno.o: /usr/include/sys/param.h /usr/include/machine/param.h ! jk_reno.o: /usr/include/machine/devaddr.h /usr/include/sys/signal.h ! jk_reno.o: /usr/include/vm/faultcode.h /usr/include/sys/stdtypes.h ! jk_reno.o: /usr/include/sys/types.h /usr/include/sys/times.h ! jk_reno.o: /usr/include/sys/types.h ./../kernel/../../src/graph.h ! jk_reno.o: ./../kernel/../../src/defs.h ./../kernel/../kernel/config.h ! jk_reno.o: /usr/include/stdio.h ./../kernel/../kernel/types.h ! jk_reno.o: ./../kernel/../kernel/parameters.h ! send.o: send.c ./../kernel/real.h ./../kernel/../../src/nest.h ! send.o: /usr/include/stdio.h /usr/include/malloc.h /usr/include/sys/time.h ! send.o: /usr/include/time.h /usr/include/sys/stdtypes.h ! send.o: ./../kernel/../../src/dcctime.h /usr/include/sys/types.h ! send.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h ! send.o: /usr/include/sys/param.h /usr/include/machine/param.h ! send.o: /usr/include/machine/devaddr.h /usr/include/sys/signal.h ! send.o: /usr/include/vm/faultcode.h /usr/include/sys/stdtypes.h ! send.o: /usr/include/sys/types.h /usr/include/sys/times.h ! send.o: /usr/include/sys/types.h ./../kernel/../../src/graph.h ! send.o: ./../kernel/../../src/defs.h ./../kernel/../kernel/config.h ! send.o: /usr/include/stdio.h ./../kernel/../kernel/types.h ! send.o: ./../kernel/../kernel/parameters.h ! controlled_rate.o: controlled_rate.c ./../kernel/real.h ! controlled_rate.o: ./../kernel/../../src/nest.h /usr/include/stdio.h ! controlled_rate.o: /usr/include/malloc.h /usr/include/sys/time.h ! controlled_rate.o: /usr/include/time.h /usr/include/sys/stdtypes.h ! controlled_rate.o: ./../kernel/../../src/dcctime.h /usr/include/sys/types.h ! controlled_rate.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h ! controlled_rate.o: /usr/include/sys/param.h /usr/include/machine/param.h ! controlled_rate.o: /usr/include/machine/devaddr.h /usr/include/sys/signal.h ! controlled_rate.o: /usr/include/vm/faultcode.h /usr/include/sys/stdtypes.h ! controlled_rate.o: /usr/include/sys/types.h /usr/include/sys/times.h ! controlled_rate.o: /usr/include/sys/types.h ./../kernel/../../src/graph.h ! controlled_rate.o: ./../kernel/../../src/defs.h ./../kernel/../kernel/config.h ! controlled_rate.o: /usr/include/stdio.h ./../kernel/../kernel/types.h ! controlled_rate.o: ./../kernel/../kernel/parameters.h ! jk_tahoe.o: jk_tahoe.c ./../kernel/real.h ./../kernel/../../src/nest.h ! jk_tahoe.o: /usr/include/stdio.h /usr/include/malloc.h /usr/include/sys/time.h ! jk_tahoe.o: /usr/include/time.h /usr/include/sys/stdtypes.h ! jk_tahoe.o: ./../kernel/../../src/dcctime.h /usr/include/sys/types.h ! jk_tahoe.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h ! jk_tahoe.o: /usr/include/sys/param.h /usr/include/machine/param.h ! jk_tahoe.o: /usr/include/machine/devaddr.h /usr/include/sys/signal.h ! jk_tahoe.o: /usr/include/vm/faultcode.h /usr/include/sys/stdtypes.h ! jk_tahoe.o: /usr/include/sys/types.h /usr/include/sys/times.h ! jk_tahoe.o: /usr/include/sys/types.h ./../kernel/../../src/graph.h ! jk_tahoe.o: ./../kernel/../../src/defs.h ./../kernel/../kernel/config.h ! jk_tahoe.o: /usr/include/stdio.h ./../kernel/../kernel/types.h ! jk_tahoe.o: ./../kernel/../kernel/parameters.h ! poisson.o: poisson.c ./../kernel/real.h ./../kernel/../../src/nest.h ! poisson.o: /usr/include/stdio.h /usr/include/malloc.h /usr/include/sys/time.h ! poisson.o: /usr/include/time.h /usr/include/sys/stdtypes.h ! poisson.o: ./../kernel/../../src/dcctime.h /usr/include/sys/types.h ! poisson.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h ! poisson.o: /usr/include/sys/param.h /usr/include/machine/param.h ! poisson.o: /usr/include/machine/devaddr.h /usr/include/sys/signal.h ! poisson.o: /usr/include/vm/faultcode.h /usr/include/sys/stdtypes.h ! poisson.o: /usr/include/sys/types.h /usr/include/sys/times.h ! poisson.o: /usr/include/sys/types.h ./../kernel/../../src/graph.h ! poisson.o: ./../kernel/../../src/defs.h ./../kernel/../kernel/config.h ! poisson.o: /usr/include/stdio.h ./../kernel/../kernel/types.h ! poisson.o: ./../kernel/../kernel/parameters.h ! sink.o: sink.c ./../kernel/real.h ./../kernel/../../src/nest.h ! sink.o: /usr/include/stdio.h /usr/include/malloc.h /usr/include/sys/time.h ! sink.o: /usr/include/time.h /usr/include/sys/stdtypes.h ! sink.o: ./../kernel/../../src/dcctime.h /usr/include/sys/types.h ! sink.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h ! sink.o: /usr/include/sys/param.h /usr/include/machine/param.h ! sink.o: /usr/include/machine/devaddr.h /usr/include/sys/signal.h ! sink.o: /usr/include/vm/faultcode.h /usr/include/sys/stdtypes.h ! sink.o: /usr/include/sys/types.h /usr/include/sys/times.h ! sink.o: /usr/include/sys/types.h ./../kernel/../../src/graph.h ! sink.o: ./../kernel/../../src/defs.h ./../kernel/../kernel/config.h ! sink.o: /usr/include/stdio.h ./../kernel/../kernel/types.h ! sink.o: ./../kernel/../kernel/parameters.h ! dec.o: dec.c ./../kernel/real.h ./../kernel/../../src/nest.h ! dec.o: /usr/include/stdio.h /usr/include/malloc.h /usr/include/sys/time.h ! dec.o: /usr/include/time.h /usr/include/sys/stdtypes.h ! dec.o: ./../kernel/../../src/dcctime.h /usr/include/sys/types.h ! dec.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h ! dec.o: /usr/include/sys/param.h /usr/include/machine/param.h ! dec.o: /usr/include/machine/devaddr.h /usr/include/sys/signal.h ! dec.o: /usr/include/vm/faultcode.h /usr/include/sys/stdtypes.h ! dec.o: /usr/include/sys/types.h /usr/include/sys/times.h ! dec.o: /usr/include/sys/types.h ./../kernel/../../src/graph.h ! dec.o: ./../kernel/../../src/defs.h ./../kernel/../kernel/config.h ! dec.o: /usr/include/stdio.h ./../kernel/../kernel/types.h ! dec.o: ./../kernel/../kernel/parameters.h ! pp.o: pp.c ./../kernel/real.h ./../kernel/../../src/nest.h /usr/include/stdio.h ! pp.o: /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h ! pp.o: /usr/include/sys/stdtypes.h ./../kernel/../../src/dcctime.h ! pp.o: /usr/include/sys/types.h /usr/include/sys/stdtypes.h ! pp.o: /usr/include/sys/sysmacros.h /usr/include/sys/param.h ! pp.o: /usr/include/machine/param.h /usr/include/machine/devaddr.h ! pp.o: /usr/include/sys/signal.h /usr/include/vm/faultcode.h ! pp.o: /usr/include/sys/stdtypes.h /usr/include/sys/types.h ! pp.o: /usr/include/sys/times.h /usr/include/sys/types.h ! pp.o: ./../kernel/../../src/graph.h ./../kernel/../../src/defs.h ! pp.o: ./../kernel/../kernel/config.h /usr/include/stdio.h ! pp.o: ./../kernel/../kernel/types.h ./../kernel/../kernel/parameters.h ! telnet.o: telnet.c ./../kernel/real.h ./../kernel/../../src/nest.h ! telnet.o: /usr/include/stdio.h /usr/include/malloc.h /usr/include/sys/time.h ! telnet.o: /usr/include/time.h /usr/include/sys/stdtypes.h ! telnet.o: ./../kernel/../../src/dcctime.h /usr/include/sys/types.h ! telnet.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h ! telnet.o: /usr/include/sys/param.h /usr/include/machine/param.h ! telnet.o: /usr/include/machine/devaddr.h /usr/include/sys/signal.h ! telnet.o: /usr/include/vm/faultcode.h /usr/include/sys/stdtypes.h ! telnet.o: /usr/include/sys/types.h /usr/include/sys/times.h ! telnet.o: /usr/include/sys/types.h ./../kernel/../../src/graph.h ! telnet.o: ./../kernel/../../src/defs.h ./../kernel/../kernel/config.h ! telnet.o: /usr/include/stdio.h ./../kernel/../kernel/types.h ! telnet.o: ./../kernel/../kernel/parameters.h ! onoff.o: onoff.c ./../kernel/real.h ./../kernel/../../src/nest.h ! onoff.o: /usr/include/stdio.h /usr/include/malloc.h /usr/include/sys/time.h ! onoff.o: /usr/include/time.h /usr/include/sys/stdtypes.h ! onoff.o: ./../kernel/../../src/dcctime.h /usr/include/sys/types.h ! onoff.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h ! onoff.o: /usr/include/sys/param.h /usr/include/machine/param.h ! onoff.o: /usr/include/machine/devaddr.h /usr/include/sys/signal.h ! onoff.o: /usr/include/vm/faultcode.h /usr/include/sys/stdtypes.h ! onoff.o: /usr/include/sys/types.h /usr/include/sys/times.h ! onoff.o: /usr/include/sys/types.h ./../kernel/../../src/graph.h ! onoff.o: ./../kernel/../../src/defs.h ./../kernel/../kernel/config.h ! onoff.o: /usr/include/stdio.h ./../kernel/../kernel/types.h ! onoff.o: ./../kernel/../kernel/parameters.h ! generic.o: generic.c ./../kernel/real.h ./../kernel/../../src/nest.h ! generic.o: /usr/include/stdio.h /usr/include/malloc.h /usr/include/sys/time.h ! generic.o: /usr/include/time.h /usr/include/sys/stdtypes.h ! generic.o: ./../kernel/../../src/dcctime.h /usr/include/sys/types.h ! generic.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h ! generic.o: /usr/include/sys/param.h /usr/include/machine/param.h ! generic.o: /usr/include/machine/devaddr.h /usr/include/sys/signal.h ! generic.o: /usr/include/vm/faultcode.h /usr/include/sys/stdtypes.h ! generic.o: /usr/include/sys/types.h /usr/include/sys/times.h ! generic.o: /usr/include/sys/types.h ./../kernel/../../src/graph.h ! generic.o: ./../kernel/../../src/defs.h ./../kernel/../kernel/config.h ! generic.o: /usr/include/stdio.h ./../kernel/../kernel/types.h ! generic.o: ./../kernel/../kernel/parameters.h ! mmpp.o: mmpp.c ./../kernel/real.h ./../kernel/../../src/nest.h ! mmpp.o: /usr/include/stdio.h /usr/include/malloc.h /usr/include/sys/time.h ! mmpp.o: /usr/include/time.h /usr/include/sys/stdtypes.h ! mmpp.o: ./../kernel/../../src/dcctime.h /usr/include/sys/types.h ! mmpp.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h ! mmpp.o: /usr/include/sys/param.h /usr/include/machine/param.h ! mmpp.o: /usr/include/machine/devaddr.h /usr/include/sys/signal.h ! mmpp.o: /usr/include/vm/faultcode.h /usr/include/sys/stdtypes.h ! mmpp.o: /usr/include/sys/types.h /usr/include/sys/times.h ! mmpp.o: /usr/include/sys/types.h ./../kernel/../../src/graph.h ! mmpp.o: ./../kernel/../../src/defs.h ./../kernel/../kernel/config.h ! mmpp.o: /usr/include/stdio.h ./../kernel/../kernel/types.h ! mmpp.o: ./../kernel/../kernel/parameters.h ! random_rate.o: random_rate.c ./../kernel/real.h ./../kernel/../../src/nest.h ! random_rate.o: /usr/include/stdio.h /usr/include/malloc.h ! random_rate.o: /usr/include/sys/time.h /usr/include/time.h ! random_rate.o: /usr/include/sys/stdtypes.h ./../kernel/../../src/dcctime.h ! random_rate.o: /usr/include/sys/types.h /usr/include/sys/stdtypes.h ! random_rate.o: /usr/include/sys/sysmacros.h /usr/include/sys/param.h ! random_rate.o: /usr/include/machine/param.h /usr/include/machine/devaddr.h ! random_rate.o: /usr/include/sys/signal.h /usr/include/vm/faultcode.h ! random_rate.o: /usr/include/sys/stdtypes.h /usr/include/sys/types.h ! random_rate.o: /usr/include/sys/times.h /usr/include/sys/types.h ! random_rate.o: ./../kernel/../../src/graph.h ./../kernel/../../src/defs.h ! random_rate.o: ./../kernel/../kernel/config.h /usr/include/stdio.h ! random_rate.o: ./../kernel/../kernel/types.h ./../kernel/../kernel/parameters.h ! trace.o: trace.c ./../kernel/real.h ./../kernel/../../src/nest.h ! trace.o: /usr/include/stdio.h /usr/include/malloc.h /usr/include/sys/time.h ! trace.o: /usr/include/time.h /usr/include/sys/stdtypes.h ! trace.o: ./../kernel/../../src/dcctime.h /usr/include/sys/types.h ! trace.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h ! trace.o: /usr/include/sys/param.h /usr/include/machine/param.h ! trace.o: /usr/include/machine/devaddr.h /usr/include/sys/signal.h ! trace.o: /usr/include/vm/faultcode.h /usr/include/sys/stdtypes.h ! trace.o: /usr/include/sys/types.h /usr/include/sys/times.h ! trace.o: /usr/include/sys/types.h ./../kernel/../../src/graph.h ! trace.o: ./../kernel/../../src/defs.h ./../kernel/../kernel/config.h ! trace.o: /usr/include/stdio.h ./../kernel/../kernel/types.h ! trace.o: ./../kernel/../kernel/parameters.h ! onoff_closed.o: onoff_closed.c ./../kernel/real.h ./../kernel/../../src/nest.h ! onoff_closed.o: /usr/include/stdio.h /usr/include/malloc.h ! onoff_closed.o: /usr/include/sys/time.h /usr/include/time.h ! onoff_closed.o: /usr/include/sys/stdtypes.h ./../kernel/../../src/dcctime.h ! onoff_closed.o: /usr/include/sys/types.h /usr/include/sys/stdtypes.h ! onoff_closed.o: /usr/include/sys/sysmacros.h /usr/include/sys/param.h ! onoff_closed.o: /usr/include/machine/param.h /usr/include/machine/devaddr.h ! onoff_closed.o: /usr/include/sys/signal.h /usr/include/vm/faultcode.h ! onoff_closed.o: /usr/include/sys/stdtypes.h /usr/include/sys/types.h ! onoff_closed.o: /usr/include/sys/times.h /usr/include/sys/types.h ! onoff_closed.o: ./../kernel/../../src/graph.h ./../kernel/../../src/defs.h ! onoff_closed.o: ./../kernel/../kernel/config.h /usr/include/stdio.h ! onoff_closed.o: ./../kernel/../kernel/types.h ! onoff_closed.o: ./../kernel/../kernel/parameters.h ! pp_reg.o: pp_reg.c ./../kernel/real.h ./../kernel/../../src/nest.h ! pp_reg.o: /usr/include/stdio.h /usr/include/malloc.h /usr/include/sys/time.h ! pp_reg.o: /usr/include/time.h /usr/include/sys/stdtypes.h ! pp_reg.o: ./../kernel/../../src/dcctime.h /usr/include/sys/types.h ! pp_reg.o: /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h ! pp_reg.o: /usr/include/sys/param.h /usr/include/machine/param.h ! pp_reg.o: /usr/include/machine/devaddr.h /usr/include/sys/signal.h ! pp_reg.o: /usr/include/vm/faultcode.h /usr/include/sys/stdtypes.h ! pp_reg.o: /usr/include/sys/types.h /usr/include/sys/times.h ! pp_reg.o: /usr/include/sys/types.h ./../kernel/../../src/graph.h ! pp_reg.o: ./../kernel/../../src/defs.h ./../kernel/../kernel/config.h ! pp_reg.o: /usr/include/stdio.h ./../kernel/../kernel/types.h ! pp_reg.o: ./../kernel/../kernel/parameters.h ! ecn_simple.o: ecn_simple.c ./../kernel/real.h ./../kernel/../../src/nest.h ! ecn_simple.o: /usr/include/stdio.h /usr/include/malloc.h ! ecn_simple.o: /usr/include/sys/time.h /usr/include/time.h ! ecn_simple.o: /usr/include/sys/stdtypes.h ./../kernel/../../src/dcctime.h ! ecn_simple.o: /usr/include/sys/types.h /usr/include/sys/stdtypes.h ! ecn_simple.o: /usr/include/sys/sysmacros.h /usr/include/sys/param.h ! ecn_simple.o: /usr/include/machine/param.h /usr/include/machine/devaddr.h ! ecn_simple.o: /usr/include/sys/signal.h /usr/include/vm/faultcode.h ! ecn_simple.o: /usr/include/sys/stdtypes.h /usr/include/sys/types.h ! ecn_simple.o: /usr/include/sys/times.h /usr/include/sys/types.h ! ecn_simple.o: ./../kernel/../../src/graph.h ./../kernel/../../src/defs.h ! ecn_simple.o: ./../kernel/../kernel/config.h /usr/include/stdio.h ! ecn_simple.o: ./../kernel/../kernel/types.h ./../kernel/../kernel/parameters.h # DEPENDENCIES MUST END AT END OF FILE # IF YOU PUT STUFF HERE IT WILL GO AWAY --- 66,646 ---- # DO NOT DELETE THIS LINE -- make depend uses it ! background.o: background.c ../kernel/real.h ../../src/nest.h \ ! /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! jk_reno.o: jk_reno.c ../kernel/real.h ../../src/nest.h \ ! /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! send.o: send.c ../kernel/real.h ../../src/nest.h /usr/include/stdio.h \ ! /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! controlled_rate.o: controlled_rate.c ../kernel/real.h ../../src/nest.h \ ! /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! jk_tahoe.o: jk_tahoe.c ../kernel/real.h ../../src/nest.h \ ! /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! poisson.o: poisson.c ../kernel/real.h ../../src/nest.h \ ! /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! sink.o: sink.c ../kernel/real.h ../../src/nest.h /usr/include/stdio.h \ ! /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! dec.o: dec.c ../kernel/real.h ../../src/nest.h /usr/include/stdio.h \ ! /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! pp.o: pp.c ../kernel/real.h ../../src/nest.h /usr/include/stdio.h \ ! /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! telnet.o: telnet.c ../kernel/real.h ../../src/nest.h /usr/include/stdio.h \ ! /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! onoff.o: onoff.c ../kernel/real.h ../../src/nest.h /usr/include/stdio.h \ ! /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! generic.o: generic.c ../kernel/real.h ../../src/nest.h \ ! /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! mmpp.o: mmpp.c ../kernel/real.h ../../src/nest.h /usr/include/stdio.h \ ! /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! random_rate.o: random_rate.c ../kernel/real.h ../../src/nest.h \ ! /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! trace.o: trace.c ../kernel/real.h ../../src/nest.h /usr/include/stdio.h \ ! /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! onoff_closed.o: onoff_closed.c ../kernel/real.h ../../src/nest.h \ ! /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! ecn_simple.o: ecn_simple.c ../kernel/real.h ../../src/nest.h \ ! /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! ecn_master.o: ecn_master.c ../kernel/real.h ../../src/nest.h \ ! /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! ecn_slave.o: ecn_slave.c ../kernel/real.h ../../src/nest.h \ ! /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! ecn_router.o: ecn_router.c ../router/router.h ../kernel/real.h \ ! ../../src/nest.h /usr/include/stdio.h /usr/include/features.h \ ! /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! ecn_sender1.o: ecn_sender1.c ../kernel/real.h ../../src/nest.h \ ! /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! ecn_sender2.o: ecn_sender2.c ../kernel/real.h ../../src/nest.h \ ! /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! ecn_sender3.o: ecn_sender3.c ../kernel/real.h ../../src/nest.h \ ! /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! ecn_sender4.o: ecn_sender4.c ../kernel/real.h ../../src/nest.h \ ! /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! ecn_receiver.o: ecn_receiver.c ../kernel/real.h ../../src/nest.h \ ! /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h ! ecn_error.o: ecn_error.c ../kernel/real.h ../../src/nest.h \ ! /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h \ ! /usr/include/sys/uio.h /usr/include/bits/uio.h /usr/include/sys/stat.h \ ! /usr/include/bits/stat.h /usr/include/sys/errno.h /usr/include/errno.h \ ! /usr/include/bits/errno.h /usr/include/linux/errno.h \ ! /usr/include/asm/errno.h /usr/include/fcntl.h /usr/include/bits/fcntl.h ! ecn_flow.o: ecn_flow.c ../kernel/real.h ../../src/nest.h \ ! /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ ! /usr/include/gnu/stubs.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ ! /usr/include/bits/types.h /usr/include/bits/wordsize.h \ ! /usr/include/bits/typesizes.h /usr/include/libio.h \ ! /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ ! /usr/include/gconv.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ ! /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ ! /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ ! /usr/include/bits/time.h /usr/include/sys/select.h \ ! /usr/include/bits/select.h /usr/include/bits/sigset.h \ ! ../../src/dcctime.h /usr/include/sys/types.h /usr/include/sys/param.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ ! /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ ! /usr/include/limits.h /usr/include/bits/posix1_lim.h \ ! /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ ! /usr/include/linux/param.h /usr/include/asm/param.h \ ! /usr/include/sys/times.h ../../src/graph.h ../../src/defs.h \ ! ../kernel/config.h ../kernel/types.h ../kernel/parameters.h \ ! /usr/include/sys/stat.h /usr/include/bits/stat.h \ ! /usr/include/sys/errno.h /usr/include/errno.h /usr/include/bits/errno.h \ ! /usr/include/linux/errno.h /usr/include/asm/errno.h \ ! /usr/include/fcntl.h /usr/include/bits/fcntl.h # DEPENDENCIES MUST END AT END OF FILE # IF YOU PUT STUFF HERE IT WILL GO AWAY diff -c -r sim5.0/sim/sources/poisson.c sim5.0-linux/sim/sources/poisson.c *** sim5.0/sim/sources/poisson.c 1997-06-19 03:35:09.000000000 +0930 --- sim5.0-linux/sim/sources/poisson.c 2003-08-26 14:13:11.000000000 +0930 *************** *** 62,67 **** --- 62,68 ---- { tick = 0; line_busy = 1; + /***LEAK==???8???***/ make_pkt(pkt); pkt->seq_no = seq_no ++; pkt->gen_time = runtime(); *************** *** 82,87 **** --- 83,89 ---- if(tick_pkt is (PKT_PTR)0) /* start up */ { + /***LEAK==608***/ make_pkt(tick_pkt); tick_pkt -> type = TIMER; } diff -c -r sim5.0/sim/sources/send.c sim5.0-linux/sim/sources/send.c *** sim5.0/sim/sources/send.c 1997-06-19 03:35:29.000000000 +0930 --- sim5.0-linux/sim/sources/send.c 2003-08-26 14:13:11.000000000 +0930 *************** *** 38,44 **** /* largest possible long number limits us this magic number is * guaranteed to not overflow ... */ ! timeout_pkt = (PKT_PTR) malloc ((unsigned) sizeof (PKT)); *timeout_pkt = *pkt; timeout_pkt -> type = TIMEOUT; --- 38,46 ---- /* largest possible long number limits us this magic number is * guaranteed to not overflow ... */ ! /* error testing added c.pope 20/7/99 */ ! if ((timeout_pkt = (PKT_PTR) malloc ((unsigned) sizeof (PKT))) == NULL) ! pr_error ("Memory allocation error for timeout_pkt in safe_send"); *timeout_pkt = *pkt; timeout_pkt -> type = TIMEOUT; diff -c -r sim5.0/sim/sources/sink.c sim5.0-linux/sim/sources/sink.c *** sim5.0/sim/sources/sink.c 1997-06-19 03:35:32.000000000 +0930 --- sim5.0-linux/sim/sources/sink.c 2003-08-26 14:13:11.000000000 +0930 *************** *** 120,126 **** { RECV_PTR tmp; ! tmp = (RECV_PTR) calloc((unsigned)sizeof(RECV), 1); tmp->conv_id = conv_id; tmp->next = (RECV_PTR) 0; return tmp; --- 120,128 ---- { RECV_PTR tmp; ! /* error checking added c.pope 20/7/99 */ ! if ((tmp = (RECV_PTR) calloc((unsigned)sizeof(RECV), 1)) == NULL) ! pr_error("Memory allocation error in make_recv_str of sink"); tmp->conv_id = conv_id; tmp->next = (RECV_PTR) 0; return tmp; diff -c -r sim5.0/src/config.sh sim5.0-linux/src/config.sh *** sim5.0/src/config.sh 1997-06-17 02:53:54.000000000 +0930 --- sim5.0-linux/src/config.sh 2003-08-26 14:20:29.000000000 +0930 *************** *** 5,28 **** d_eunice='undef' eunicefix=':' define='define' ! expr='/bin/expr' sed='/bin/sed' echo='/bin/echo' cat='/bin/cat' rm='/bin/rm' ! tr='/bin/tr' sort='/bin/sort' grep='/bin/grep' test='test' contains='grep' ! cpp='/lib/cpp' ! cppminus='' ! d_charsprf='define' d_voidsig='define' ! libc='/lib/libc.a' n='-n' c='' ! package='REAL4.0' spitshell='cat' shsharp='true' sharpbang='#!' --- 5,28 ---- d_eunice='undef' eunicefix=':' define='define' ! expr='/usr/bin/expr' sed='/bin/sed' echo='/bin/echo' cat='/bin/cat' rm='/bin/rm' ! tr='/usr/bin/tr' sort='/bin/sort' grep='/bin/grep' test='test' contains='grep' ! cpp='cc -E' ! cppminus='-' ! d_charsprf='undef' d_voidsig='define' ! libc='/usr/lib/libc.a' n='-n' c='' ! package='REAL5.0' spitshell='cat' shsharp='true' sharpbang='#!' *************** *** 33,40 **** d_itimer='define' d_systime='/usr/include/sys/time.h' d_memset='define' ! d_bstring='define' ! d_psignal='define' d_rename='define' d_rusage='define' d_server='undef' --- 33,40 ---- d_itimer='define' d_systime='/usr/include/sys/time.h' d_memset='define' ! d_bstring='undef' ! d_psignal='' d_rename='define' d_rusage='define' d_server='undef' *************** *** 47,55 **** inc='' lib='' lintlib='' ! mkdep='/lib/cpp -M' orderlib='false' ! ranlib='/usr/bin/ranlib' stackdir='-1' ! d_cckr='-cckr' CONFIG=true --- 47,55 ---- inc='' lib='' lintlib='' ! mkdep='cc -E -M' orderlib='false' ! ranlib=':' stackdir='-1' ! d_cckr='' CONFIG=true diff -c -r sim5.0/src/Configure sim5.0-linux/src/Configure *** sim5.0/src/Configure 1997-08-15 11:31:30.000000000 +0930 --- sim5.0-linux/src/Configure 2003-08-26 14:13:11.000000000 +0930 *************** *** 289,300 **** EOM ! rp="Would you like this script to send mail to register you as a user?[yn]" echo $n "$rp $c" . myread case "$ans" in ! n*) echo "OK, I'll ignore it.";; ! *) echo "OK, I'm sending mail to skeshav@cs.cornell.edu..." cat < __msg__ Configuration done for REAL 5.0 on this system. --- 289,299 ---- EOM ! rp="Would you like this script to send mail to register you as a user?[ny]" echo $n "$rp $c" . myread case "$ans" in ! y*) echo "OK, I'm sending mail to skeshav@cs.cornell.edu..." cat < __msg__ Configuration done for REAL 5.0 on this system. *************** *** 312,317 **** --- 311,317 ---- rm -f __msg__ ;; + *) echo "OK, I'll ignore it.";; esac : find out where common programs are *************** *** 616,655 **** rm -f try today : see how we invoke the C preprocessor echo " " echo "Now, how can we feed standard input to your C preprocessor..." cat <<'EOT' >testcpp.c #define ABC abc ABC EOT ! echo 'Maybe "/lib/cpp" will work...' ! /lib/cpp testcpp.out 2>&1 if $contains 'abc' testcpp.out >/dev/null 2>&1 ; then ! echo "Yup, it does." ! cpp='/lib/cpp' ! cppminus=''; ! else ! echo 'Nope, maybe "/lib/cpp -" will work...' ! /lib/cpp - testcpp.out 2>&1 ! if $contains 'abc' testcpp.out >/dev/null 2>&1 ; then ! echo "Yup, it does." ! cpp='/lib/cpp' ! cppminus='-'; ! else ! echo 'No such luck...maybe "cc -E" will work...' cc -E testcpp.out 2>&1 if $contains 'abc' testcpp.out >/dev/null 2>&1 ; then echo "It works!" cpp='cc -E' cppminus=''; else ! echo 'Nixed again...maybe "cc -E -" will work...' ! cc -E - testcpp.out 2>&1 ! if $contains 'abc' testcpp.out >/dev/null 2>&1 ; then ! echo "Hooray, it works! I was beginning to wonder." ! cpp='cc -E' ! cppminus='-'; ! else echo 'Nope...maybe "/opts/SUNWspro/bin/cc -P" will work...' /opts/SUNWspro/bin/cc -P testcpp.out 2>&1 if $contains 'abc' testcpp.out >/dev/null 2>&1 ; then --- 616,669 ---- rm -f try today : see how we invoke the C preprocessor + : + : /* This test is too naive on linux where some system include files rely on + : architecture dependent preprocessor symbols like __i386__. If cpp is + : called directly these symbols are undefined as they are introduced at the + : cc level. The simple workaround is to reorder the tests so we check + : "cc -E -" first. */ + : echo " " echo "Now, how can we feed standard input to your C preprocessor..." cat <<'EOT' >testcpp.c #define ABC abc ABC EOT ! echo 'Maybe "cc -E -" will work...' ! cc -E - testcpp.out 2>&1 if $contains 'abc' testcpp.out >/dev/null 2>&1 ; then ! echo "It works!" ! cpp='cc -E' ! cppminus='-'; ! else ! echo 'Maybe "/lib/cpp" will work...' ! /lib/cpp testcpp.out 2>&1 ! if $contains 'abc' testcpp.out >/dev/null 2>&1 ; then ! echo "Yup, it does." ! cpp='/lib/cpp' ! cppminus=''; ! else ! echo 'Nope, maybe "/lib/cpp -" will work...' ! /lib/cpp - testcpp.out 2>&1 ! if $contains 'abc' testcpp.out >/dev/null 2>&1 ; then ! echo "Yup, it does." ! cpp='/lib/cpp' ! cppminus='-'; ! else ! echo 'No such luck...maybe "cc -E" will work...' cc -E testcpp.out 2>&1 if $contains 'abc' testcpp.out >/dev/null 2>&1 ; then echo "It works!" cpp='cc -E' cppminus=''; else ! # echo 'Nixed again...maybe "cc -E -" will work...' ! # cc -E - testcpp.out 2>&1 ! # if $contains 'abc' testcpp.out >/dev/null 2>&1 ; then ! # echo "Hooray, it works! I was beginning to wonder." ! # cpp='cc -E' ! # cppminus='-'; ! # else echo 'Nope...maybe "/opts/SUNWspro/bin/cc -P" will work...' /opts/SUNWspro/bin/cc -P testcpp.out 2>&1 if $contains 'abc' testcpp.out >/dev/null 2>&1 ; then diff -c -r sim5.0/src/errors.c sim5.0-linux/src/errors.c *** sim5.0/src/errors.c 1997-06-17 02:53:54.000000000 +0930 --- sim5.0-linux/src/errors.c 2003-08-26 14:19:57.000000000 +0930 *************** *** 8,13 **** --- 8,14 ---- #include "defs.h" #include "simulate.h" + #include static char errbuffer[256]; /* buffer for error messages */ static int errindex = 254; /* pointer to start of mess. */ *************** *** 29,42 **** char *errmessage; { extern int errno; - extern char *sys_errlist[]; errbuffer[255] = '\0'; errbuffer[254] = '\n'; (void) _error (errmessage); ! (void) fprintf (stderr, &errbuffer[errindex], sys_errlist[errno]); errindex = 254; --- 30,42 ---- char *errmessage; { extern int errno; errbuffer[255] = '\0'; errbuffer[254] = '\n'; (void) _error (errmessage); ! (void) fprintf (stderr, &errbuffer[errindex], strerror(errno)); errindex = 254; diff -c -r sim5.0/src/ipc.c sim5.0-linux/src/ipc.c *** sim5.0/src/ipc.c 1997-07-18 06:08:53.000000000 +0930 --- sim5.0-linux/src/ipc.c 2003-08-26 14:13:11.000000000 +0930 *************** *** 58,64 **** --- 58,66 ---- /* create "message_unit" and "message_list" structures */ + /***LEAK==8,CLEAN***/ newitem = new (messlist); + /***LEAK==32,CLEAN***/ newitem->msg = newmsg = new (message); /* set "message_unit" fields */ diff -c -r sim5.0/src/makedepend sim5.0-linux/src/makedepend *** sim5.0/src/makedepend 1997-06-17 02:53:55.000000000 +0930 --- sim5.0-linux/src/makedepend 2003-08-26 14:20:31.000000000 +0930 *************** *** 9,15 **** for file do ! /lib/cpp -M $file | awk '{ if ($1 != prev) { if (rec != "") --- 9,15 ---- for file do ! cc -E -M $file | awk '{ if ($1 != prev) { if (rec != "") diff -c -r sim5.0/src/Makefile sim5.0-linux/src/Makefile *** sim5.0/src/Makefile 1997-07-08 08:18:58.000000000 +0930 --- sim5.0-linux/src/Makefile 2003-08-26 14:20:33.000000000 +0930 *************** *** 18,24 **** DEFS = CPPFLAGS = $(DEFS) ! OPTFLAGS = -g -D_BSD_SIGNALS -cckr -c # Standard Make variables --- 18,24 ---- DEFS = CPPFLAGS = $(DEFS) ! OPTFLAGS = -g -D_BSD_SIGNALS -c # Standard Make variables *************** *** 31,44 **** LINT = lint LINTFLAGS = -buxz ! CPP = /lib/cpp AS = as LD = ld LDFLAGS = LIBS = ! RANLIB = /usr/bin/ranlib # File groups --- 31,55 ---- LINT = lint LINTFLAGS = -buxz ! CPP = cc -E - AS = as LD = ld LDFLAGS = LIBS = ! RANLIB = : ! ! CFLAGS = $(OPTFLAGS) $(CPPFLAGS) ! ! # Additional rules for assembler source files ! ! .SUFFIXES: .S ! ! .S.o: ! $(CPP) $(CPPFLAGS) < $< | grep -v '^#' > $*.s # works for linux ! $(AS) $(ASFLAGS) $(TARGET_ARCH) -o $@ $*.s ! @rm -f $*.s # File groups *************** *** 50,60 **** headers = defs.h dccsig.h simulate.h process.h schedule.h \ message.h network.h state.h swap.h ! csource = simulate.c server.c store.c swap.c network.c schedule.c errors.c asource = state.S ! nestobj = simulate.o server.o store.o swap.o network.o schedule.o errors.o state.o functns = nestargs.c ipc.c utils.c compat.c --- 61,73 ---- headers = defs.h dccsig.h simulate.h process.h schedule.h \ message.h network.h state.h swap.h ! csource = simulate.c server.c store.c swap.c\ ! network.c schedule.c errors.c asource = state.S ! nestobj = simulate.o server.o store.o swap.o \ ! network.o schedule.o errors.o state.o functns = nestargs.c ipc.c utils.c compat.c *************** *** 123,132 **** # DO NOT DELETE THIS LINE -- make depend uses it # DEPENDENCIES MUST END AT END OF FILE # IF YOU PUT STUFF HERE IT WILL GO AWAY # see make depend above - - - --- 136,369 ---- # DO NOT DELETE THIS LINE -- make depend uses it + simulate.o: simulate.c nest.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ + /usr/include/bits/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h dcctime.h \ + /usr/include/sys/types.h /usr/include/sys/param.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/linux/param.h /usr/include/asm/param.h \ + /usr/include/sys/times.h graph.h /usr/include/errno.h \ + /usr/include/bits/errno.h /usr/include/linux/errno.h \ + /usr/include/asm/errno.h defs.h process.h state.h schedule.h simulate.h \ + copyright.h /usr/include/setjmp.h /usr/include/bits/setjmp.h + server.o: server.c nest.h /usr/include/stdio.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ + /usr/include/bits/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h dcctime.h \ + /usr/include/sys/types.h /usr/include/sys/param.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/linux/param.h /usr/include/asm/param.h \ + /usr/include/sys/times.h graph.h defs.h simulate.h copyright.h \ + /usr/include/setjmp.h /usr/include/bits/setjmp.h process.h state.h + store.o: store.c nest.h /usr/include/stdio.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ + /usr/include/bits/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h dcctime.h \ + /usr/include/sys/types.h /usr/include/sys/param.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/linux/param.h /usr/include/asm/param.h \ + /usr/include/sys/times.h defs.h simulate.h copyright.h \ + /usr/include/setjmp.h /usr/include/bits/setjmp.h + swap.o: swap.c nest.h /usr/include/stdio.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ + /usr/include/bits/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h dcctime.h \ + /usr/include/sys/types.h /usr/include/sys/param.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/linux/param.h /usr/include/asm/param.h \ + /usr/include/sys/times.h defs.h swap.h + network.o: network.c nest.h /usr/include/stdio.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ + /usr/include/bits/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h dcctime.h \ + /usr/include/sys/types.h /usr/include/sys/param.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/linux/param.h /usr/include/asm/param.h \ + /usr/include/sys/times.h graph.h defs.h network.h + schedule.o: schedule.c nest.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ + /usr/include/bits/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h dcctime.h \ + /usr/include/sys/types.h /usr/include/sys/param.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/linux/param.h /usr/include/asm/param.h \ + /usr/include/sys/times.h graph.h defs.h simulate.h copyright.h \ + /usr/include/setjmp.h /usr/include/bits/setjmp.h schedule.h process.h \ + state.h + errors.o: errors.c nest.h /usr/include/stdio.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ + /usr/include/bits/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h dcctime.h \ + /usr/include/sys/types.h /usr/include/sys/param.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/linux/param.h /usr/include/asm/param.h \ + /usr/include/sys/times.h defs.h simulate.h copyright.h \ + /usr/include/setjmp.h /usr/include/bits/setjmp.h /usr/include/errno.h \ + /usr/include/bits/errno.h /usr/include/linux/errno.h \ + /usr/include/asm/errno.h + nestargs.o: nestargs.c nest.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ + /usr/include/bits/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h dcctime.h \ + /usr/include/sys/types.h /usr/include/sys/param.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/linux/param.h /usr/include/asm/param.h \ + /usr/include/sys/times.h graph.h defs.h + ipc.o: ipc.c nest.h /usr/include/stdio.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ + /usr/include/bits/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h dcctime.h \ + /usr/include/sys/types.h /usr/include/sys/param.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/linux/param.h /usr/include/asm/param.h \ + /usr/include/sys/times.h defs.h simulate.h copyright.h \ + /usr/include/setjmp.h /usr/include/bits/setjmp.h message.h network.h \ + graph.h process.h state.h schedule.h + utils.o: utils.c nest.h /usr/include/stdio.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ + /usr/include/bits/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h dcctime.h \ + /usr/include/sys/types.h /usr/include/sys/param.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/linux/param.h /usr/include/asm/param.h \ + /usr/include/sys/times.h defs.h simulate.h copyright.h \ + /usr/include/setjmp.h /usr/include/bits/setjmp.h process.h state.h \ + graph.h + compat.o: compat.c nest.h /usr/include/stdio.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/malloc.h /usr/include/sys/time.h /usr/include/time.h \ + /usr/include/bits/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h dcctime.h \ + /usr/include/sys/types.h /usr/include/sys/param.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ + /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/linux/param.h /usr/include/asm/param.h \ + /usr/include/sys/times.h defs.h /usr/include/memory.h \ + /usr/include/string.h # DEPENDENCIES MUST END AT END OF FILE # IF YOU PUT STUFF HERE IT WILL GO AWAY # see make depend above diff -c -r sim5.0/src/Makefile.SH sim5.0-linux/src/Makefile.SH *** sim5.0/src/Makefile.SH 1997-07-08 08:19:09.000000000 +0930 --- sim5.0-linux/src/Makefile.SH 2003-08-26 14:13:11.000000000 +0930 *************** *** 32,38 **** LLIB = $lintlib DEFS = ! CPPFLAGS = $(DEFS) OPTFLAGS = -g -D_BSD_SIGNALS $d_cckr -c --- 32,38 ---- LLIB = $lintlib DEFS = ! CPPFLAGS = \$(DEFS) OPTFLAGS = -g -D_BSD_SIGNALS $d_cckr -c *************** *** 73,79 **** .SUFFIXES: .S .S.o: ! #$(CPP) $(CPPFLAGS) < $< | grep -v '^#' > $*.s $(AS) $(ASFLAGS) $(TARGET_ARCH) -o $@ $*.s @rm -f $*.s --- 73,79 ---- .SUFFIXES: .S .S.o: ! $(CPP) $(CPPFLAGS) < $< | grep -v '^#' > $*.s # works for linux $(AS) $(ASFLAGS) $(TARGET_ARCH) -o $@ $*.s @rm -f $*.s diff -c -r sim5.0/src/makelib sim5.0-linux/src/makelib *** sim5.0/src/makelib 1997-06-17 02:53:55.000000000 +0930 --- sim5.0-linux/src/makelib 2003-08-26 14:20:31.000000000 +0930 *************** *** 9,12 **** libname="$2" # get target library name shift; shift ! ar $arflags $libname "$@" && /usr/bin/ranlib $libname --- 9,12 ---- libname="$2" # get target library name shift; shift ! ar $arflags $libname "$@" && : $libname Binary files sim5.0/src/nest.a and sim5.0-linux/src/nest.a differ diff -c -r sim5.0/src/nest.h sim5.0-linux/src/nest.h *** sim5.0/src/nest.h 1997-08-14 06:27:28.000000000 +0930 --- sim5.0-linux/src/nest.h 2003-08-26 14:20:31.000000000 +0930 *************** *** 4,25 **** * $Header: nest.h.SH,v 2.5 88/03/31 20:41:21 dupuy Rel $ */ #if (7 & 1) != 1 #define void int /* is void to be avoided? */ #define M_VOID /* Xenix strikes again */ #endif ! #define CHARSPRINTF /* defined if char *sprintf() */ #define VOIDSIG /* defined if void (*signal())() */ #define GETOPT /* defined if getopt() is available */ - #define ITIMER /* defined if setitimer() is available */ #define SYSTIME "/usr/include/sys/time.h" /* pathname of file defining struct timeval */ #define MEMSET /* defined if memory functions are available */ ! #define BSTRING /* defined if bstring functions available */ - #define PSIGNAL /* defined if psignal() is available */ #define RENAME /* defined if rename() is available */ #define RUSAGE /* defined if getrusage() is available */ --- 4,27 ---- * $Header: nest.h.SH,v 2.5 88/03/31 20:41:21 dupuy Rel $ */ + #if defined(__linux__) && defined(__ELF__) /* and defined(__RedHat5__) I wish*/ + #define _POSIX_C_SOURCE 1 + #endif + #if (7 & 1) != 1 #define void int /* is void to be avoided? */ #define M_VOID /* Xenix strikes again */ #endif ! #undef CHARSPRINTF /* defined if char *sprintf() */ #define VOIDSIG /* defined if void (*signal())() */ #define GETOPT /* defined if getopt() is available */ #define SYSTIME "/usr/include/sys/time.h" /* pathname of file defining struct timeval */ #define MEMSET /* defined if memory functions are available */ ! #undef BSTRING /* defined if bstring functions available */ #define RENAME /* defined if rename() is available */ #define RUSAGE /* defined if getrusage() is available */ *************** *** 35,43 **** extern char *sprintf (); /* if that's how it is */ #endif #define ssprintf (void) sprintf - #include "/usr/include/sys/time.h" - #include "dcctime.h" /* nest uses time structs all over */ /* --- 37,43 ---- *************** *** 74,79 **** --- 74,81 ---- */ extern boolean Logging; /* simulation status report logging */ + extern boolean Broadcast; /* broadcast all messages */ + extern boolean Point2Point; /* disallow broadcast messages */ extern long Delay; /* default edge transmission delay */ /* *************** *** 100,102 **** --- 102,105 ---- #define get_node_id() (_current_node) #define hold() #define release() + diff -c -r sim5.0/src/nest.h.SH sim5.0-linux/src/nest.h.SH *** sim5.0/src/nest.h.SH 1997-08-14 06:27:49.000000000 +0930 --- sim5.0-linux/src/nest.h.SH 2003-08-26 14:13:12.000000000 +0930 *************** *** 18,23 **** --- 18,27 ---- * \$Header: nest.h.SH,v 2.5 88/03/31 20:41:21 dupuy Rel $ */ + #if defined(__linux__) && defined(__ELF__) /* and defined(__RedHat5__) I wish*/ + #define _POSIX_C_SOURCE 1 + #endif + #if ($voidflags & $defvoidused) != $defvoidused #$define void int /* is void to be avoided? */ #$define M_VOID /* Xenix strikes again */ diff -c -r sim5.0/src/network.c sim5.0-linux/src/network.c *** sim5.0/src/network.c 1997-06-18 06:40:37.000000000 +0930 --- sim5.0-linux/src/network.c 2003-08-26 14:13:12.000000000 +0930 *************** *** 82,87 **** --- 82,88 ---- if (*neighptr is nil) /* not on neighbor list */ { + /***LEAK==INIT***/ *neighptr = new (neighbor); (*neighptr)->next = nil; (*neighptr)->nbr = node2; *************** *** 100,105 **** --- 101,107 ---- foreach (funclist) { + /***LEAK==INIT***/ (*newlist) = new (chanfunc); (*newlist)->addr = funclist->addr; advancn (newlist); diff -c -r sim5.0/src/state.s sim5.0-linux/src/state.s *** sim5.0/src/state.s 1997-06-17 02:53:56.000000000 +0930 --- sim5.0-linux/src/state.s 2003-08-26 14:13:12.000000000 +0930 *************** *** 1,52 **** ! /* code by S. McCanne at LBL */ - .text - .globl _nest_stack - _nest_stack: - retl - mov %sp, %o0 /* return sp */ - - .globl _nest_xstack - _nest_xstack: - add %o0, -64, %o0 /* room for kernel save area */ - retl - and %o0, 0xfffffff8, %sp /* multiple of 8 bytes */ - - .globl _nest_freeze - _nest_freeze: - st %sp, [%o0] /* caller's sp, becomes _cook's fp */ - st %o7, [%o0+4] /* return address */ - retl - mov %g0, %o0 /* return 0 */ - - .globl _nest_cook - _nest_cook: - /* First, flush the windows. All we really want to do is make all - the windows except the current one invalid, but I don't know how to - do this. (This assumes the new stack does not overlap with the - current one.) - We then load the new stack pointer, making sure there is room - for the kernel if an interrupt occurs before the restore. - Finally, we jump to the return address, and restore to the - new stack's window. Since the windows have been flushed, - an underflow trap will occur, and the frame will be loaded - off the stack. */ - ta 0x03 - ld [%o0], %fp /* old sp, now frame */ - add %fp, -64, %sp /* room for kernel save area */ - ld [%o0+4], %o7 /* return address */ - jmpl %o7+8, %g0 /* return */ - restore %g0, 1, %o0 /* return 1 */ - - .globl _flush_windows - _flush_windows: - /* This routine is called by _store() so it can do a bcopy without - worrying about cached frames. The problem here is that we'll get - window underflows when we return. */ - retl - ta 0x03 - - /* The store/cook/etc interface does not mesh well with the ST_SLUSH_WINDOWS - trap. What we really want is a trap to clear the WIM when we do a cook(), - and a trap that flushes the windows without affecting the WIM when we - do a store(). */ --- 1,231 ---- ! # 1 "state.S" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! # 132 "state.S" ! ! ! ! ! ! ! ! ! ! ! ! ! ! # 170 "state.S" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! # 221 "state.S" ! ! ! # 254 "state.S" ! ! ! # 311 "state.S" ! ! ! # 368 "state.S" ! ! ! # 401 "state.S" ! ! ! # 455 "state.S" ! ! ! # 492 "state.S" ! ! ! # 541 "state.S" ! ! ! # 641 "state.S" ! ! ! ! #Code by Elan Amir, UCB ! .text ! .align 2 ! .globl nest_stack ! nest_stack: ! popl %ebx # pop return address ! movl %esp,%eax # return stack pointer ! ! jmp %ebx # don't want ret so we don't alter esp. ! ! .align 2 ! .globl nest_xstack ! nest_xstack: ! popl %eax # pop return address ! ! movl (%esp),%esp # store new stack pointer in sp. ! ! jmp %eax # don't want ret so we don't alter esp. ! ! .align 2 ! .globl nest_freeze ! nest_freeze: ! ! movl 4(%esp),%eax # eax = saved ! ! movl %ebp, 4(%eax) # save fp. ! movl %ebx, 8(%eax) # Save general regs ! movl %ecx, 12(%eax) ! movl %edx, 16(%eax) ! movl %esi, 20(%eax) ! movl %edi, 24(%eax) ! movl %esp, 28(%eax) # save sp ! fnsave 32(%eax) # save fpu state ! ! movl (%esp),%ecx # save pc ! movl %ecx,(%eax) ! ! movl $0, %eax # return 0 ! ret ! ! .align 2 ! .globl nest_cook ! nest_cook: ! popl %ecx # forget calling pc on stack ! ! movl (%esp), %eax # eax = saved ! ! movl 4(%eax), %ebp # restore fp ! movl 8(%eax), %ebx # restore general regs ! movl 12(%eax), %ecx ! movl 16(%eax), %edx ! movl 20(%eax), %esi ! movl 24(%eax), %edi ! movl 28(%eax), %esp # restore sp ! frstor 32(%eax) # restore fpu state ! ! pushl (%eax) # push new pc on stack ! movl $1, %eax # return 1 ! ret # return thereby restoring pc. ! ! ! # 734 "state.S" diff -c -r sim5.0/src/swap.c sim5.0-linux/src/swap.c *** sim5.0/src/swap.c 1997-08-13 06:43:08.000000000 +0930 --- sim5.0-linux/src/swap.c 2003-08-26 14:13:12.000000000 +0930 *************** *** 29,39 **** return (_error ("too many nodes: %s")); /* create first node of freelist */ ! freelist = new (swap_elem); /* allocate space on the heap for the swap area */ ! if ((baseptr = (pointer) malloc (size)) is nil) return (_error ("initial stack storage too large: %s")); --- 29,39 ---- return (_error ("too many nodes: %s")); /* create first node of freelist */ ! /***LEAK==INIT***/ freelist = new (swap_elem); /* allocate space on the heap for the swap area */ ! /***LEAK==INIT***/ if ((baseptr = (pointer) malloc (size)) is nil) return (_error ("initial stack storage too large: %s")); *************** *** 205,210 **** --- 205,211 ---- swapptr->next = parent->back->next; parent->back->next = swapptr; + /***LEAK==INIT,16,CLEAN***/ freeptr = new (swap_elem); /* insert new empty freelist node */ freeptr->next = parent; parent->back->back->next = freeptr; diff -c -r sim5.0/src/UU/filexp sim5.0-linux/src/UU/filexp *** sim5.0/src/UU/filexp 1997-06-17 02:53:53.000000000 +0930 --- sim5.0-linux/src/UU/filexp 2003-08-26 14:20:26.000000000 +0930 *************** *** 9,15 **** /bin/csh -f -c "glob $1" echo "" else ! name=`/bin/expr x$1 : '..\([^/]*\)'` dir=`/bin/sed -n -e "/^${name}:/{s/^[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:\([^:]*\).*"'$'"/\1/" -e p -e q -e '}' ! null 862192698 0 10 20666 0 ` --- 1,2 ---- ! ! null/ 1061123573 0 0 20666 0 `