Changeset 2044 for to-imperative/trunk/library/List/List.cc
- Timestamp:
- Aug 1, 2006, 9:31:01 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
to-imperative/trunk/library/List/List.cc
r2037 r2044 404 404 RF_END 405 405 406 RF_FUNC (Intersperse, (RF_ARG _ve_sep, _ve_list;;), (RF_RES _v_res1;;)) 407 Expr _ve_new_m_list (empty); 408 Expr _v_list__1 (_ve_list); 409 for ( ; ; ) 410 { 411 { 412 if ((_v_list__1.get_len () != 0)) 413 { 414 goto _iter1; 415 } 416 _v_res1 = _ve_new_m_list; 417 goto _exit__iter1; 418 } 419 _iter1: {} 420 { 421 { 422 uintptr_t _v_len1 = _v_list__1.get_len (); 423 uintptr_t _v_len2 = 1; 424 if ((_v_len1 < (_v_len2 + 1))) 425 { 426 goto _block1__branch1; 427 } 428 uintptr_t _v_len__2 = (_v_len1 - _v_len2); 429 Expr _vt_1 (_v_list__1, 0, 1); 430 Expr _vv_2 (_v_list__1, 1, _v_len__2); 431 _ve_new_m_list = (_ve_new_m_list + _vt_1 + _ve_sep); 432 _v_list__1 = _vv_2; 433 goto _block1; 434 } 435 _block1__branch1: {} 436 _ve_new_m_list = (_ve_new_m_list + _v_list__1); 437 _v_list__1 = empty; 438 } 439 _block1: {} 440 } 441 _exit__iter1: {} 406 RF_FUNC (Intersperse, (RF_ARG _v_arg1, _v_arg2;;), (RF_RES _v_res1;;)) 407 { 408 { 409 if (((_v_arg2.get_len () + 1) != 1)) 410 { 411 goto _block1__branch1; 412 } 413 Expr _v_compose1 ((_v_arg1 () + _v_arg2)); 414 if (_v_compose1.symbol_at (0)) 415 { 416 goto _block1__branch1; 417 } 418 Expr _v_deref__compose1 (_v_compose1, 0); 419 uintptr_t _v_len1 = _v_deref__compose1.get_len (); 420 uintptr_t _v_len2 = 0; 421 if ((_v_len1 < _v_len2)) 422 { 423 goto _block1__branch1; 424 } 425 uintptr_t _v_len__sep = (_v_len1 - _v_len2); 426 Expr _ve_sep (_v_deref__compose1, 0, _v_len__sep); 427 _v_res1 = empty; 428 goto _block1; 429 } 430 _block1__branch1: {} 431 { 432 if (((_v_arg2.get_len () + 1) != 2)) 433 { 434 goto _block1__branch2; 435 } 436 Expr _v_compose2 ((_v_arg1 () + _v_arg2)); 437 if (_v_compose2.symbol_at (0)) 438 { 439 goto _block1__branch2; 440 } 441 Expr _v_deref__compose2 (_v_compose2, 0); 442 uintptr_t _v_len3 = _v_deref__compose2.get_len (); 443 uintptr_t _v_len4 = 0; 444 if ((_v_len3 < _v_len4)) 445 { 446 goto _block1__branch2; 447 } 448 uintptr_t _v_len__sep2 = (_v_len3 - _v_len4); 449 Expr _vt_1 (_v_compose2, 1, 1); 450 Expr _ve_sep (_v_deref__compose2, 0, _v_len__sep2); 451 _v_res1 = _vt_1; 452 goto _block1; 453 } 454 _block1__branch2: {} 455 uintptr_t _v_len5 = (_v_arg2.get_len () + 1); 456 uintptr_t _v_len6 = 2; 457 if ((_v_len5 < _v_len6)) 458 { 459 RF_FUNC_ERROR (unexpected_fail); 460 } 461 uintptr_t _v_len__list = (_v_len5 - _v_len6); 462 Expr _v_compose3 ((_v_arg1 () + _v_arg2)); 463 if (_v_compose3.symbol_at (0)) 464 { 465 RF_FUNC_ERROR (unexpected_fail); 466 } 467 Expr _v_deref__compose3 (_v_compose3, 0); 468 uintptr_t _v_len7 = _v_deref__compose3.get_len (); 469 uintptr_t _v_len8 = 0; 470 if ((_v_len7 < _v_len8)) 471 { 472 RF_FUNC_ERROR (unexpected_fail); 473 } 474 uintptr_t _v_len__sep3 = (_v_len7 - _v_len8); 475 Expr _vt_1 (_v_compose3, 1, 1); 476 Expr _ve_list (_v_compose3, 2, _v_len__list); 477 Expr _ve_sep (_v_deref__compose3, 0, _v_len__sep3); 478 Expr _ve_new_m_list ((_vt_1 + _ve_sep)); 479 for ( ; ; ) 480 { 481 { 482 if ((_ve_list.get_len () != 1)) 483 { 484 goto _iter1; 485 } 486 Expr _vt_2 (_ve_list, 0, 1); 487 _v_res1 = (_ve_new_m_list + _vt_2); 488 goto _exit__iter1; 489 } 490 _iter1: {} 491 uintptr_t _v_len9 = _ve_list.get_len (); 492 uintptr_t _v_len10 = 1; 493 if ((_v_len9 < _v_len10)) 494 { 495 RF_FUNC_ERROR (unexpected_fail); 496 } 497 uintptr_t _v_len__rest = (_v_len9 - _v_len10); 498 Expr _vt_2 (_ve_list, 0, 1); 499 Expr _ve_rest (_ve_list, 1, _v_len__rest); 500 _ve_new_m_list = (_ve_new_m_list + _vt_2 + _ve_sep); 501 _ve_list = _ve_rest; 502 } 503 _exit__iter1: {} 504 } 505 _block1: {} 442 506 RF_END 443 507 … … 471 535 goto _block2__branch1; 472 536 } 473 RF_lsplit (_ve_selected, 0, _ve__e__e_tmp_m_Listrf_m_9 5_m_21, _v_lsplit__selected);537 RF_lsplit (_ve_selected, 0, _ve__e__e_tmp_m_Listrf_m_98_m_21, _v_lsplit__selected); 474 538 for ( ; ; RF_iter(_ve_selected)++) 475 539 { … … 485 549 goto _block2__branch1; 486 550 } 487 uintptr_t _v_len___e__e_tmp_m_Listrf_m_9 5_m_28 = (_v_len3 - _v_len4);551 uintptr_t _v_len___e__e_tmp_m_Listrf_m_98_m_28 = (_v_len3 - _v_len4); 488 552 if (!_vt_erm.term_eq (_v_lsplit__selected, 0)) 489 553 { 490 554 goto _continue1; 491 555 } 492 Expr _ve__e__e_tmp_m_Listrf_m_9 5_m_28 (_v_lsplit__selected, 1, _v_len___e__e_tmp_m_Listrf_m_95_m_28);556 Expr _ve__e__e_tmp_m_Listrf_m_98_m_28 (_v_lsplit__selected, 1, _v_len___e__e_tmp_m_Listrf_m_98_m_28); 493 557 _v_expr__1 = _ve_rest; 494 558 goto _exit1; … … 618 682 goto _block2__branch1; 619 683 } 620 RF_lsplit (_v_list1__1, 0, _ve__e__e_tmp_m_Listrf_m_1 27_m_20, _v_lsplit__list1__1);684 RF_lsplit (_v_list1__1, 0, _ve__e__e_tmp_m_Listrf_m_130_m_20, _v_lsplit__list1__1); 621 685 for ( ; ; RF_iter(_v_list1__1)++) 622 686 { … … 632 696 goto _block2__branch1; 633 697 } 634 uintptr_t _v_len___e__e_tmp_m_Listrf_m_1 27_m_27 = (_v_len3 - _v_len4);698 uintptr_t _v_len___e__e_tmp_m_Listrf_m_130_m_27 = (_v_len3 - _v_len4); 635 699 if (!_vt_erm.term_eq (_v_lsplit__list1__1, 0)) 636 700 { 637 701 goto _continue1; 638 702 } 639 Expr _ve__e__e_tmp_m_Listrf_m_1 27_m_27 (_v_lsplit__list1__1, 1, _v_len___e__e_tmp_m_Listrf_m_127_m_27);703 Expr _ve__e__e_tmp_m_Listrf_m_130_m_27 (_v_lsplit__list1__1, 1, _v_len___e__e_tmp_m_Listrf_m_130_m_27); 640 704 _v_list2__1 = _ve_rest; 641 705 goto _exit1; … … 684 748 goto _block2__branch1; 685 749 } 686 RF_lsplit (_ve_list2, 0, _ve__e__e_tmp_m_Listrf_m_14 1_m_20, _v_lsplit__list2);750 RF_lsplit (_ve_list2, 0, _ve__e__e_tmp_m_Listrf_m_144_m_20, _v_lsplit__list2); 687 751 for ( ; ; RF_iter(_ve_list2)++) 688 752 { … … 698 762 goto _block2__branch1; 699 763 } 700 uintptr_t _v_len___e__e_tmp_m_Listrf_m_14 1_m_27 = (_v_len3 - _v_len4);764 uintptr_t _v_len___e__e_tmp_m_Listrf_m_144_m_27 = (_v_len3 - _v_len4); 701 765 if (!_vt_erm.term_eq (_v_lsplit__list2, 0)) 702 766 { 703 767 goto _continue1; 704 768 } 705 Expr _ve__e__e_tmp_m_Listrf_m_14 1_m_27 (_v_lsplit__list2, 1, _v_len___e__e_tmp_m_Listrf_m_141_m_27);769 Expr _ve__e__e_tmp_m_Listrf_m_144_m_27 (_v_lsplit__list2, 1, _v_len___e__e_tmp_m_Listrf_m_144_m_27); 706 770 _v_list1__1 = _ve_rest; 707 771 _ve_and = (_ve_and + _vt_erm); … … 750 814 goto _block2__branch1; 751 815 } 752 RF_lsplit (_ve_list2, 0, _ve__e__e_tmp_m_Listrf_m_15 5_m_20, _v_lsplit__list2);816 RF_lsplit (_ve_list2, 0, _ve__e__e_tmp_m_Listrf_m_158_m_20, _v_lsplit__list2); 753 817 for ( ; ; RF_iter(_ve_list2)++) 754 818 { … … 764 828 goto _block2__branch1; 765 829 } 766 uintptr_t _v_len___e__e_tmp_m_Listrf_m_15 5_m_27 = (_v_len3 - _v_len4);830 uintptr_t _v_len___e__e_tmp_m_Listrf_m_158_m_27 = (_v_len3 - _v_len4); 767 831 if (!_vt_erm.term_eq (_v_lsplit__list2, 0)) 768 832 { 769 833 goto _continue1; 770 834 } 771 Expr _ve__e__e_tmp_m_Listrf_m_15 5_m_27 (_v_lsplit__list2, 1, _v_len___e__e_tmp_m_Listrf_m_155_m_27);835 Expr _ve__e__e_tmp_m_Listrf_m_158_m_27 (_v_lsplit__list2, 1, _v_len___e__e_tmp_m_Listrf_m_158_m_27); 772 836 _v_list1__1 = _ve_rest; 773 837 goto _exit1;
Note: See TracChangeset
for help on using the changeset viewer.