Changeset 2037 for to-imperative/trunk/library/List/List.cc
- Timestamp:
- Jul 27, 2006, 4:45:55 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
to-imperative/trunk/library/List/List.cc
r1991 r2037 1 1 #include <rf_core.hh> 2 #include <refal/Access.hh> 2 3 #include <refal/Apply.hh> 4 #include <refal/Compare.hh> 3 5 #include <refal/Arithm.hh> 4 #include <refal/Access.hh>5 #include "List.hh"6 6 7 7 namespace refal … … 16 16 17 17 RF_DECL (Paren_m_Term); 18 19 RF_DECL (Zip); 20 21 RF_DECL (Map); 22 23 RF_DECL (Filter); 24 25 RF_DECL (Split); 26 27 RF_DECL (Elem_q_); 28 29 RF_DECL (Get_m_Elem); 30 31 RF_DECL (Foldr); 32 33 RF_DECL (Foldr1); 34 35 RF_DECL (Concat); 36 37 RF_DECL (Paren); 38 39 RF_DECL (Reverse); 40 41 RF_DECL (Intersperse); 42 43 RF_DECL (Nub); 44 45 RF_DECL (Replicate); 46 47 RF_DECL (Entries); 48 49 RF_DECL (Or); 50 51 RF_DECL (And); 52 53 RF_DECL (Sub); 18 54 19 55 RF_DECL (Paren_m_Term__0); … … 238 274 239 275 RF_FUNC (Elem_q_, (RF_ARG _ve_list, _vt_item;;), RF_VOID) 240 if (( _ve_list.get_len () < 1))276 if (((_ve_list.get_len () < (1 + 0 + 0)))) 241 277 { 242 278 RF_RETFAIL; … … 252 288 uintptr_t _v_len1 = _v_lsplit__list.get_len (); 253 289 uintptr_t _v_len2 = 1; 254 if (( _v_len1 < _v_len2))290 if (((_v_len1 < (_v_len2 + (0 * 1))))) 255 291 { 256 292 RF_RETFAIL; 257 293 } 258 uintptr_t _v_len___e__e_tmp_m_Listrf_m_56_m_22 = (_v_len1 - _v_len2); 294 if (((_v_len1 - _v_len2) % 1)) 295 { 296 goto _continue1; 297 } 298 uintptr_t _v_len___e__e_tmp_m_Listrf_m_56_m_22 = ((_v_len1 - _v_len2) / 1); 259 299 if (!_vt_item.term_eq (_v_lsplit__list, 0)) 260 300 { 261 301 goto _continue1; 262 302 } 263 Expr _ve__e__e_tmp_m_Listrf_m_56_m_22 (_v_lsplit__list, 1, _v_len___e__e_tmp_m_Listrf_m_56_m_22);303 Expr _ve__e__e_tmp_m_Listrf_m_56_m_22 (_v_lsplit__list, (0 + 1), _v_len___e__e_tmp_m_Listrf_m_56_m_22); 264 304 goto _exit1; 265 305 } … … 468 508 RF_END 469 509 510 RF_FUNC (Replicate, (RF_ARG _vs_n, _ve_expr;;), (RF_RES _v_res1;;)) 511 Expr _v_n__1 (_vs_n); 512 Expr _ve_list (empty); 513 for ( ; ; ) 514 { 515 { 516 if (!RF_CALL (Compare::_lt__eq_, (_v_n__1, _c_2), /*void*/)) 517 { 518 goto _iter1; 519 } 520 _v_res1 = _ve_list; 521 goto _exit__iter1; 522 } 523 _iter1: {} 524 RF_CALL (Arithm::_m_, (_v_n__1, _c_3), _v_n__1); 525 _ve_list = (_ve_list + _ve_expr); 526 } 527 _exit__iter1: {} 528 RF_END 529 470 530 RF_FUNC (Entries, (RF_ARG _ve_expr, _ve_source;;), (RF_RES _v_res1, _v_res2;;)) 471 531 Expr _vs_num (_c_2); … … 558 618 goto _block2__branch1; 559 619 } 560 RF_lsplit (_v_list1__1, 0, _ve__e__e_tmp_m_Listrf_m_12 0_m_20, _v_lsplit__list1__1);620 RF_lsplit (_v_list1__1, 0, _ve__e__e_tmp_m_Listrf_m_127_m_20, _v_lsplit__list1__1); 561 621 for ( ; ; RF_iter(_v_list1__1)++) 562 622 { … … 572 632 goto _block2__branch1; 573 633 } 574 uintptr_t _v_len___e__e_tmp_m_Listrf_m_12 0_m_27 = (_v_len3 - _v_len4);634 uintptr_t _v_len___e__e_tmp_m_Listrf_m_127_m_27 = (_v_len3 - _v_len4); 575 635 if (!_vt_erm.term_eq (_v_lsplit__list1__1, 0)) 576 636 { 577 637 goto _continue1; 578 638 } 579 Expr _ve__e__e_tmp_m_Listrf_m_12 0_m_27 (_v_lsplit__list1__1, 1, _v_len___e__e_tmp_m_Listrf_m_120_m_27);639 Expr _ve__e__e_tmp_m_Listrf_m_127_m_27 (_v_lsplit__list1__1, 1, _v_len___e__e_tmp_m_Listrf_m_127_m_27); 580 640 _v_list2__1 = _ve_rest; 581 641 goto _exit1; … … 624 684 goto _block2__branch1; 625 685 } 626 RF_lsplit (_ve_list2, 0, _ve__e__e_tmp_m_Listrf_m_1 34_m_20, _v_lsplit__list2);686 RF_lsplit (_ve_list2, 0, _ve__e__e_tmp_m_Listrf_m_141_m_20, _v_lsplit__list2); 627 687 for ( ; ; RF_iter(_ve_list2)++) 628 688 { … … 638 698 goto _block2__branch1; 639 699 } 640 uintptr_t _v_len___e__e_tmp_m_Listrf_m_1 34_m_27 = (_v_len3 - _v_len4);700 uintptr_t _v_len___e__e_tmp_m_Listrf_m_141_m_27 = (_v_len3 - _v_len4); 641 701 if (!_vt_erm.term_eq (_v_lsplit__list2, 0)) 642 702 { 643 703 goto _continue1; 644 704 } 645 Expr _ve__e__e_tmp_m_Listrf_m_1 34_m_27 (_v_lsplit__list2, 1, _v_len___e__e_tmp_m_Listrf_m_134_m_27);705 Expr _ve__e__e_tmp_m_Listrf_m_141_m_27 (_v_lsplit__list2, 1, _v_len___e__e_tmp_m_Listrf_m_141_m_27); 646 706 _v_list1__1 = _ve_rest; 647 707 _ve_and = (_ve_and + _vt_erm); … … 690 750 goto _block2__branch1; 691 751 } 692 RF_lsplit (_ve_list2, 0, _ve__e__e_tmp_m_Listrf_m_1 48_m_20, _v_lsplit__list2);752 RF_lsplit (_ve_list2, 0, _ve__e__e_tmp_m_Listrf_m_155_m_20, _v_lsplit__list2); 693 753 for ( ; ; RF_iter(_ve_list2)++) 694 754 { … … 704 764 goto _block2__branch1; 705 765 } 706 uintptr_t _v_len___e__e_tmp_m_Listrf_m_1 48_m_27 = (_v_len3 - _v_len4);766 uintptr_t _v_len___e__e_tmp_m_Listrf_m_155_m_27 = (_v_len3 - _v_len4); 707 767 if (!_vt_erm.term_eq (_v_lsplit__list2, 0)) 708 768 { 709 769 goto _continue1; 710 770 } 711 Expr _ve__e__e_tmp_m_Listrf_m_1 48_m_27 (_v_lsplit__list2, 1, _v_len___e__e_tmp_m_Listrf_m_148_m_27);771 Expr _ve__e__e_tmp_m_Listrf_m_155_m_27 (_v_lsplit__list2, 1, _v_len___e__e_tmp_m_Listrf_m_155_m_27); 712 772 _v_list1__1 = _ve_rest; 713 773 goto _exit1;
Note: See TracChangeset
for help on using the changeset viewer.