source: tests/zombies/scope.cfa@ 262a864

Last change on this file since 262a864 was fd54fef, checked in by Michael Brooks <mlbrooks@…>, 5 years ago

Converting the project to use the new syntax for otype, dtype and ttytpe.

Changed prelude (gen), libcfa and test suite to use it. Added a simple deprecation rule of the old syntax to the parser; we might wish to support both syntaxes "officially," like with an extra CLI switch, but this measure should serve as a simple reminder for our team to try the new syntax.

  • Property mode set to 100644
File size: 858 bytes
Line 
1int x;
2typedef double y;
3typedef float t;
4y z;
5//otype u = struct { int a; double b; };
6typedef struct { int a; double b; } u;
7int f( int y );
8y q;
9struct x { int x; };
10
11y w( y y, u v ) {
12// otype x | { x t(u); };
13 void ?{}(struct x *);
14 void ^?{}(struct x *);
15 extern struct x t( u );
16 u u = y;
17 struct x z = t(u);
18}
19
20y p;
21
22trait has_u( z ) {
23 z u(z);
24};
25
26forall( t | has_u( t ) )
27y q( t the_t ) {
28 t y = u( the_t );
29}
30
31t f( y p ) {
32 int y;
33 typedef char x;
34 {
35 x y;
36 typedef x z;
37 {
38 z x;
39 typedef z y;
40 y z = x;
41 }
42 z x = y;
43 }
44 x q = y;
45}
46
47void some_func() {}
48
49t g( void ) {
50 typedef char x;
51// try {
52 some_func();
53// } catch ( x x ) {
54// t y = x;
55// }
56 x z;
57}
58
59y q( i ) /* K&R style */
60 int i;
61{
62 switch ( i ) {
63 y q = i;
64 case 0:
65 return q;
66 default:
67 return i;
68 }
69}
70
71// Local Variables: //
72// tab-width: 4 //
73// End: //
Note: See TracBrowser for help on using the repository browser.