Changeset 1a40870
- Timestamp:
- May 21, 2025, 10:05:15 PM (4 months ago)
- Branches:
- master
- Children:
- cecb260
- Parents:
- 99fc978
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/prelude/builtins.c
r99fc978 r1a40870 10 10 // Created On : Fri Jul 21 16:21:03 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Dec 12 18:22:26 202413 // Update Count : 15 012 // Last Modified On : Wed May 21 18:40:14 2025 13 // Update Count : 151 14 14 // 15 15 … … 61 61 }; 62 62 63 inline void ?{}( generator$ & this ) { ((int &)this) = 0; }63 inline void ?{}( generator$ & this ) { ((int &)this) = 0; } 64 64 inline void ^?{}( generator$ & ) {} 65 65 … … 81 81 // forall( T ... 82 82 // can be "simplified" to 83 // forall( T & | is_value(T) ...83 // forall( T & | is_value(T) ... 84 84 forall( T * ) 85 85 trait is_value { 86 void ?{}( T &, T );87 T ?=?( T &, T );88 void ^?{}( T & );86 void ?{}( T &, T ); 87 T ?=?( T &, T ); 88 void ^?{}( T & ); 89 89 }; 90 90 … … 94 94 // assignment, but is not an lvalue." Hence, return a value not a reference. 95 95 inline { 96 forall( T & | is_value(T) | { T ?+=?( T &, one_t ); } )96 forall( T & | is_value(T) | { T ?+=?( T &, one_t ); } ) 97 97 T ++?( T & x ) { return x += 1; } 98 98 99 forall( T & | is_value(T) | { T ?+=?( T &, one_t ); } )99 forall( T & | is_value(T) | { T ?+=?( T &, one_t ); } ) 100 100 T ?++( T & x ) { T tmp = x; x += 1; return tmp; } 101 101 102 forall( T & | is_value(T) | { T ?-=?( T &, one_t ); } )102 forall( T & | is_value(T) | { T ?-=?( T &, one_t ); } ) 103 103 T --?( T & x ) { return x -= 1; } 104 104 105 forall( T & | is_value(T) | { T ?-=?( T &, one_t ); } )105 forall( T & | is_value(T) | { T ?-=?( T &, one_t ); } ) 106 106 T ?--( T & x ) { T tmp = x; x -= 1; return tmp; } 107 107 108 forall( T & | is_value(T) | { int ?!=?( T, zero_t ); } )108 forall( T & | is_value(T) | { int ?!=?( T, zero_t ); } ) 109 109 int !?( T & x ) { return !( x != 0 ); } 110 110 } // distribution -
src/Parser/parser.yy
r99fc978 r1a40870 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 21 1 1:25:13202513 // Update Count : 729 512 // Last Modified On : Wed May 21 18:44:44 2025 13 // Update Count : 7296 14 14 // 15 15 … … 155 155 void distInl( DeclarationNode * declaration ) { 156 156 // distribute INLINE across all declarations 157 for ( DeclarationNode * decl = declaration ; decl != nullptr ; decl = decl->next ) {157 for ( DeclarationNode * decl = declaration ; decl != nullptr ; decl = decl->next ) { 158 158 decl->set_inLine( true ); 159 159 } // for
Note:
See TracChangeset
for help on using the changeset viewer.