- Timestamp:
- Sep 20, 2024, 8:56:34 AM (3 months ago)
- Branches:
- master
- Children:
- fca78f1
- Parents:
- 07dbcba
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/uC++toCFA/uC++toCFA.tex
r07dbcba rb723b63 11 11 %% Created On : Wed Apr 6 14:53:29 2016 12 12 %% Last Modified By : Peter A. Buhr 13 %% Last Modified On : Fri Sep 13 07:48:54202414 %% Update Count : 59 8713 %% Last Modified On : Wed Sep 18 21:35:47 2024 14 %% Update Count : 5999 15 15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 16 16 … … 256 256 \hline 257 257 \begin{uC++} 258 L1: for ( ;; ) { 259 L2: for ( ;; ) { 260 ... @break L1@; ... @break L2@; ... 261 } 262 } 263 \end{uC++} 264 & 265 \begin{cfa} 266 L1: for () { 267 L2: for () { 268 ... @break L1@; ... @break L2@; ... 258 @L1:@ for ( ;; ) { 259 @L2:@ for ( ;; ) { 260 ... if ( ... ) @break L1@; ... 261 ... if ( ... ) @break L2@; ... 262 } 263 } 264 \end{uC++} 265 & 266 \begin{cfa} 267 @L1:@ for () { 268 @L2:@ for () { 269 ... if ( ... ) @break L1@; ... 270 ... if ( ... ) @break L2@; ... 269 271 } 270 272 } … … 289 291 if ( ... ) @_Throw@ E( /* initialization */ ); 290 292 ... 291 } @_CatchResume@( E & ) { // should bereference292 293 } catch( E & ) {294 293 } @_CatchResume@( E & ) { ... // reference 294 } catch( E & ) { ... 295 } catch( ... ) { ... // catch any 296 } _Finally { ... 295 297 } 296 298 \end{uC++} … … 306 308 if ( ... ) @throw@ @ExceptionInst@( E, /* intialization */ ); 307 309 ... 308 } @catchResume@( E * ) { // must bepointer309 310 } catch( E * ) {311 310 } @catchResume@( E * ) { ... // pointer 311 } catch( E * ) { ... 312 } catch( exception_t * ) { ... // catch any 313 } finally { ... 312 314 } 313 315 \end{cfa} … … 362 364 struct S { 363 365 ... // fields 364 @S@( ...) { ... }365 @~S@( ...) { ... }366 @S@( ... ) { ... } 367 @~S@( ... ) { ... } 366 368 }; 367 369 \end{uC++} … … 371 373 ... // fields 372 374 }; 373 @?{}@( @S & s,@ ... ) { ... }375 @?{}@( @S & s,@ ... ) { ... } 374 376 @^?{}@( @S & s@ ) { ... } 375 377 \end{cfa} … … 432 434 433 435 S s; 434 @s.@setter( 3 ); // object -orientedcalls436 @s.@setter( 3 ); // object calls 435 437 int k = @s.@getter(); 436 438 \end{uC++} … … 444 446 int getter( @S & s@ ) @with(s)@ { return i; } 445 447 S s; 446 setter( @s,@ 3 ); // normal routinecalls448 setter( @s,@ 3 ); // normal calls 447 449 int k = getter( @s@ ); 448 450 \end{cfa} … … 520 522 } 521 523 void mem( C & c, ... ) { 522 ... resume( ); ...524 ... resume( c ); ... 523 525 } 524 526 \end{cfa} … … 558 560 unlock( m ); 559 561 } 560 @mutex( sout )@ sout | i; // safe I/O562 @mutex( sout )@ sout | i; // thread safe I/O 561 563 \end{cfa} 562 564 \end{tabular}
Note: See TracChangeset
for help on using the changeset viewer.