// // Cforall Version 1.0.0 Copyright (C) 2021 University of Waterloo // // quasiKeyword.cfa -- test that quasi-keywords can be used for variable and functions names, as well as keywords in // control structures. // // Author : Peter A. Buhr // Created On : Wed Feb 17 10:33:49 2021 // Last Modified By : Peter A. Buhr // Last Modified On : Sat Jun 5 10:07:59 2021 // Update Count : 8 // exception E {}; vtable(E) E_vt; void catch( int i ) { (void) i; } void recover( int i ) { (void) i; } void catchResume( int i ) { (void) i; } void fixup( int i ) { (void) i; } void finally( int i ) { (void) i; } int main() { int catch, recover, catchResume, fixup, finally; try { catch = 3; catch( catch ); recover = 3; recover( recover ); catchResume = 3; catchResume( catchResume ); fixup = 3; fixup( fixup ); finally = 3; finally( finally ); throw (E){ & E_vt }; report (E){ & E_vt }; throwResume (E){ & E_vt }; } catch ( E * ) { } recover ( E * ) { // same as catch } catchResume ( E * ) { } fixup ( E * ) { // same as catchResume } finally { } if ( 3 ) try { } fixup ( E * ) { } finally { } else catch = 3; printf("done\n"); }