Changeset 30548de for libcfa/src
- Timestamp:
- Apr 11, 2025, 6:39:45 PM (6 months ago)
- Branches:
- master
- Children:
- a514fed
- Parents:
- a800a19
- Location:
- libcfa/src
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/collections/string.cfa
ra800a19 r30548de 10 10 // Created On : Fri Sep 03 11:00:00 2021 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Apr 11 08:31:21202513 // Update Count : 3 6912 // Last Modified On : Fri Apr 11 18:18:07 2025 13 // Update Count : 370 14 14 // 15 15 … … 234 234 } 235 235 236 istype & ?|?( istype & is, _Istream_Squote df ) {237 _Istream_Rquote df2 = { { f.sstr.s.inner, (_Istream_str_base)f.sstr } };236 istype & ?|?( istype & is, _Istream_Squote f ) { 237 _Istream_Rquote f2 = { { f.sstr.s.inner, (_Istream_str_base)f.sstr } }; 238 238 return is | f2; 239 239 } // ?|? -
libcfa/src/collections/string.hfa
ra800a19 r30548de 10 10 // Created On : Fri Sep 03 11:00:00 2021 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Apr 11 08:28:27202513 // Update Count : 26 012 // Last Modified On : Fri Apr 11 18:13:35 2025 13 // Update Count : 261 14 14 // 15 15 … … 111 111 }; // _Istream_Swidth 112 112 113 struct _Istream_Squote d{113 struct _Istream_Squote { 114 114 _Istream_Swidth sstr; 115 }; // _Istream_Squote d115 }; // _Istream_Squote 116 116 117 117 struct _Istream_Sstr { … … 131 131 f.delimiters[0] = delimiter; f.delimiters[1] = '\0'; f.flags.delimiter = true; return (_Istream_Sstr &)f; 132 132 } 133 _Istream_Squote d quoted( string & s, const char Ldelimiter = '\"', const char Rdelimiter = '\0' ) {134 return (_Istream_Squote d)@{ { .s = s, { {.delimiters = { Ldelimiter, Rdelimiter, '\0' }}, .wd = -1, {.flags.rwd = true} } } };133 _Istream_Squote quote( string & s, const char Ldelimiter = '\"', const char Rdelimiter = '\0' ) { 134 return (_Istream_Squote)@{ { .s = s, { {.delimiters = { Ldelimiter, Rdelimiter, '\0' }}, .wd = -1, {.flags.rwd = true} } } }; 135 135 } 136 _Istream_Squote d & quoted( _Istream_Swidth & f, const char Ldelimiter = '"', const char Rdelimiter = '\0' ) {136 _Istream_Squote & quote( _Istream_Swidth & f, const char Ldelimiter = '"', const char Rdelimiter = '\0' ) { 137 137 f.delimiters[0] = Ldelimiter; f.delimiters[1] = Rdelimiter; f.delimiters[2] = '\0'; 138 return (_Istream_Squote d&)f;138 return (_Istream_Squote &)f; 139 139 } 140 140 // _Istream_Sstr incl( const char scanset[], string & s ) { return (_Istream_Sstr)@{ { .s = s, { {.scanset = scanset}, .wd = -1, {.flags.inex = false} } } }; } … … 147 147 _Istream_Sstr ignore( string & s ) { return (_Istream_Sstr)@{ .s = s, { {.scanset = 0p}, .wd = -1, {.flags.ignore = true} } }; } 148 148 _Istream_Sstr & ignore( _Istream_Swidth & f ) { f.flags.ignore = true; return (_Istream_Sstr &)f; } 149 _Istream_Squote d & ignore( _Istream_Squoted & f ) { f.sstr.flags.ignore = true; return (_Istream_Squoted&)f; }149 _Istream_Squote & ignore( _Istream_Squote & f ) { f.sstr.flags.ignore = true; return (_Istream_Squote &)f; } 150 150 // _Istream_Sstr & ignore( _Istream_Sstr & f ) { f.sstr.flags.ignore = true; return (_Istream_Sstr &)f; } 151 151 _Istream_Sstr & ignore( _Istream_Sstr & f ) { f.flags.ignore = true; return (_Istream_Sstr &)f; } … … 153 153 154 154 forall( istype & | basic_istream( istype ) ) { 155 istype & ?|?( istype & is, _Istream_Squote df );155 istype & ?|?( istype & is, _Istream_Squote f ); 156 156 istype & ?|?( istype & is, _Istream_Sstr f ); 157 157 static inline istype & ?|?( istype & is, _Istream_Swidth f ) { return is | *(_Istream_Sstr *)&f; } -
libcfa/src/collections/string_res.cfa
ra800a19 r30548de 10 10 // Created On : Fri Sep 03 11:00:00 2021 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Apr 9 08:44:17202513 // Update Count : 12 812 // Last Modified On : Fri Apr 11 18:18:42 2025 13 // Update Count : 129 14 14 // 15 15 … … 249 249 250 250 forall( istype & | basic_istream( istype ) ) 251 istype & ?|?( istype & is, _Istream_Rquote df ) with( f.rstr ) {251 istype & ?|?( istype & is, _Istream_Rquote f ) with( f.rstr ) { 252 252 if ( eof( is ) ) throwResume ExceptionInst( end_of_file ); 253 253 int args; -
libcfa/src/collections/string_res.hfa
ra800a19 r30548de 10 10 // Created On : Fri Sep 03 11:00:00 2021 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Apr 9 15:16:29202513 // Update Count : 7 612 // Last Modified On : Fri Apr 11 18:11:05 2025 13 // Update Count : 77 14 14 // 15 15 … … 132 132 }; // _Istream_Rwidth 133 133 134 struct _Istream_Rquote d{134 struct _Istream_Rquote { 135 135 // string_res * s; 136 136 // inline _Istream_str_base; 137 137 _Istream_Rwidth rstr; 138 }; // _Istream_Rquote d138 }; // _Istream_Rquote 139 139 140 140 struct _Istream_Rstr { … … 154 154 f.delimiters[0] = delimiter; f.delimiters[1] = '\0'; f.flags.delimiter = true; return (_Istream_Rstr &)f; 155 155 } 156 _Istream_Rquote d quoted( string_res & s, const char Ldelimiter = '\"', const char Rdelimiter = '\0' ) {157 return (_Istream_Rquote d)@{ { .s = &s, { {.delimiters = { Ldelimiter, Rdelimiter, '\0' }}, .wd = -1, {.flags.rwd = true} } } };158 } 159 _Istream_Rquote d & quoted( _Istream_Rwidth & f, const char Ldelimiter = '"', const char Rdelimiter = '\0' ) {156 _Istream_Rquote quote( string_res & s, const char Ldelimiter = '\"', const char Rdelimiter = '\0' ) { 157 return (_Istream_Rquote)@{ { .s = &s, { {.delimiters = { Ldelimiter, Rdelimiter, '\0' }}, .wd = -1, {.flags.rwd = true} } } }; 158 } 159 _Istream_Rquote & quote( _Istream_Rwidth & f, const char Ldelimiter = '"', const char Rdelimiter = '\0' ) { 160 160 f.delimiters[0] = Ldelimiter; f.delimiters[1] = Rdelimiter; f.delimiters[2] = '\0'; 161 return (_Istream_Rquote d&)f;161 return (_Istream_Rquote &)f; 162 162 } 163 163 _Istream_Rstr incl( const char scanset[], string_res & s ) { return (_Istream_Rstr)@{ .s = &s, { {.scanset = scanset}, .wd = -1, {.flags.inex = false} } }; } … … 167 167 _Istream_Rstr ignore( string_res & s ) { return (_Istream_Rstr)@{ .s = &s, { {.scanset = 0p}, .wd = -1, {.flags.ignore = true} } }; } 168 168 _Istream_Rstr & ignore( _Istream_Rwidth & f ) { f.flags.ignore = true; return (_Istream_Rstr &)f; } 169 _Istream_Rquote d & ignore( _Istream_Rquoted & f ) { f.rstr.flags.ignore = true; return (_Istream_Rquoted&)f; }169 _Istream_Rquote & ignore( _Istream_Rquote & f ) { f.rstr.flags.ignore = true; return (_Istream_Rquote &)f; } 170 170 _Istream_Rstr & ignore( _Istream_Rstr & f ) { f.flags.ignore = true; return (_Istream_Rstr &)f; } 171 171 } // distribution 172 172 forall( istype & | basic_istream( istype ) ) { 173 istype & ?|?( istype & is, _Istream_Rquote df );173 istype & ?|?( istype & is, _Istream_Rquote f ); 174 174 istype & ?|?( istype & is, _Istream_Rstr f ); 175 175 static inline istype & ?|?( istype & is, _Istream_Rwidth f ) { return is | *(_Istream_Rstr *)&f; } -
libcfa/src/exception.c
ra800a19 r30548de 10 10 // Created On : Mon Jun 26 15:13:00 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 10 16:45:22 202313 // Update Count : 6912 // Last Modified On : Wed Sep 25 17:23:49 2024 13 // Update Count : 74 14 14 // 15 15 … … 27 27 #include "stdhdr/assert.h" 28 28 #include "virtual.h" 29 #include <unistd.h> // write 29 30 30 31 extern void __cabi_abort( const char fmt[], ... ); … … 124 125 case _URC_FATAL_PHASE2_ERROR: 125 126 default: 127 write( 2, "abort1\n", 7 ); 126 128 abort(); 127 129 } … … 138 140 if ( ! store ) { 139 141 // Failure: cannot allocate exception. Terminate thread. 142 write( 2, "abort2\n", 7 ); 140 143 abort(); // <- Although I think it might be the process. 141 144 } … … 200 203 __cabi_abort( 201 204 "Propagation failed to find a matching handler.\n" 202 "Possible cause is a missing try block with appropriate catch clause for specified exception type.\n"205 "Possible cause is a missing try block with appropriate catch clause for the specified or derived exception type.\n" 203 206 "Last exception name or message: %s.\n", 204 207 NODE_TO_EXCEPT( UNWIND_TO_NODE( unwind_exception ) )-> … … 225 228 ret = __cfaehm_cancellation_unwind( &node->unwind_exception ); 226 229 printf("UNWIND ERROR %d after force unwind\n", ret); 230 write( 2, "abort3\n", 7 ); 227 231 abort(); 228 232 } … … 246 250 if ( NULL == context->current_exception ) { 247 251 printf("UNWIND ERROR missing exception in begin unwind\n"); 252 write( 2, "abort4\n", 7 ); 248 253 abort(); 249 254 } … … 271 276 #endif 272 277 printf("UNWIND ERROR %d after raise exception\n", ret); 278 write( 2, "abort5\n", 7 ); 273 279 abort(); 274 280 } … … 292 298 // TODO: Print some error message. 293 299 (void)except; 300 write( 2, "abort6\n", 7 ); 294 301 abort(); 295 302 } … … 299 306 300 307 __cfaehm_begin_unwind( __cfaehm_rethrow_adapter ); 308 write( 2, "abort7\n", 7 ); 301 309 abort(); 302 310 } -
libcfa/src/iostream.cfa
ra800a19 r30548de 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Jan 22 07:31:19 202513 // Update Count : 20 7912 // Last Modified On : Fri Apr 11 18:19:09 2025 13 // Update Count : 2080 14 14 // 15 15 … … 1006 1006 } 1007 1007 1008 istype & ?|?( istype & is, _Istream_Cquote df ) with( f.cstr ) {1008 istype & ?|?( istype & is, _Istream_Cquote f ) with( f.cstr ) { 1009 1009 if ( eof( is ) ) throwResume ExceptionInst( end_of_file ); 1010 1010 int args; … … 1083 1083 if ( flags.delimiter ) { // getline 1084 1084 int len = 0; // may not be set in fmt 1085 if ( delimiters[2] != '\0' ) { // (quote d) read single character ?1085 if ( delimiters[2] != '\0' ) { // (quote) read single character ? 1086 1086 sprintf( &fmtstr[pos], "c%%n" ); 1087 1087 } else { -
libcfa/src/iostream.hfa
ra800a19 r30548de 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Oct 13 10:49:40 202413 // Update Count : 76 512 // Last Modified On : Fri Apr 11 18:11:25 2025 13 // Update Count : 766 14 14 // 15 15 … … 420 420 // Restrict nesting of input manipulators to those combinations that make sense. 421 421 422 struct _Istream_Cquote d{422 struct _Istream_Cquote { 423 423 _Istream_Cwidth cstr; 424 }; // _Istream_Cquote d424 }; // _Istream_Cquote 425 425 426 426 struct _Istream_Cstr { … … 441 441 f.delimiters[0] = delimiter; f.delimiters[1] = '\0'; f.flags.delimiter = true; return (_Istream_Cstr &)f; 442 442 } 443 _Istream_Cquote d quoted( char & ch, const char Ldelimiter = '\'', const char Rdelimiter = '\0' ) {444 return (_Istream_Cquote d)@{ { .s = &ch, { {.delimiters = { Ldelimiter, Rdelimiter, '\1' }}, .wd = 1, {.flags.rwd = true} } } };443 _Istream_Cquote quote( char & ch, const char Ldelimiter = '\'', const char Rdelimiter = '\0' ) { 444 return (_Istream_Cquote)@{ { .s = &ch, { {.delimiters = { Ldelimiter, Rdelimiter, '\1' }}, .wd = 1, {.flags.rwd = true} } } }; 445 445 } 446 _Istream_Cquote d & quoted( _Istream_Cwidth & f, const char Ldelimiter = '"', const char Rdelimiter = '\0' ) {446 _Istream_Cquote & quote( _Istream_Cwidth & f, const char Ldelimiter = '"', const char Rdelimiter = '\0' ) { 447 447 f.delimiters[0] = Ldelimiter; f.delimiters[1] = Rdelimiter; f.delimiters[2] = '\0'; 448 return (_Istream_Cquote d&)f;448 return (_Istream_Cquote &)f; 449 449 } 450 450 _Istream_Cstr & incl( const char scanset[], _Istream_Cwidth & f ) { f.scanset = scanset; f.flags.inex = false; return (_Istream_Cstr &)f; } … … 452 452 _Istream_Cstr ignore( const char s[] ) { return (_Istream_Cstr)@{ { .s = (char *)s, { {.scanset = 0p}, .wd = -1, {.flags.ignore = true} } } }; } 453 453 _Istream_Cstr & ignore( _Istream_Cwidth & f ) { f.flags.ignore = true; return (_Istream_Cstr &)f; } 454 _Istream_Cquote d & ignore( _Istream_Cquoted & f ) { f.cstr.flags.ignore = true; return (_Istream_Cquoted&)f; }454 _Istream_Cquote & ignore( _Istream_Cquote & f ) { f.cstr.flags.ignore = true; return (_Istream_Cquote &)f; } 455 455 _Istream_Cstr & ignore( _Istream_Cstr & f ) { f.cstr.flags.ignore = true; return (_Istream_Cstr &)f; } 456 456 } // distribution … … 458 458 forall( istype & | basic_istream( istype ) ) { 459 459 istype & ?|?( istype & is, _Istream_Cskip f ); 460 istype & ?|?( istype & is, _Istream_Cquote df );460 istype & ?|?( istype & is, _Istream_Cquote f ); 461 461 istype & ?|?( istype & is, _Istream_Cstr f ); 462 462 static inline istype & ?|?( istype & is, _Istream_Cwidth f ) { return is | *(_Istream_Cstr *)&f; }
Note:
See TracChangeset
for help on using the changeset viewer.