Last change
on this file was b28ce93, checked in by Michael Brooks <mlbrooks@…>, 3 months ago |
Add POC illustrating generating headers from compile units
|
-
Property mode
set to
100644
|
File size:
1.1 KB
|
Line | |
---|
1 | #import auto b
|
---|
2 | #import static helper
|
---|
3 |
|
---|
4 | //# @
|
---|
5 | struct c {
|
---|
6 | struct b z;
|
---|
7 | struct a q;
|
---|
8 | };
|
---|
9 |
|
---|
10 | //# $v
|
---|
11 | struct a glb_ca = { 40 };
|
---|
12 |
|
---|
13 | //# $v
|
---|
14 | struct b glb_cb = { { 50 } };
|
---|
15 |
|
---|
16 | //# $v
|
---|
17 | struct c glb_cc = { { { 60 } }, { 70 } };
|
---|
18 |
|
---|
19 | //# $f
|
---|
20 | void f_c( struct c p ) {
|
---|
21 | int printf( const char *, ... ); // scaffold
|
---|
22 | printf( "f_c( c{ b{ a{ %d } }, a{ %d } } )\n", p.z.y.x, p.q.x );
|
---|
23 | printf( "\tglb_a == a{ %d }\n", glb_a.x);
|
---|
24 | printf( "\tglb_ba == a{ %d }\n", glb_ba.x);
|
---|
25 | printf( "\tglb_bb == b{ a{ %d } }\n", glb_bb.y.x );
|
---|
26 | printf( "\tglb_ca == a{ %d }\n", glb_ca.x);
|
---|
27 | printf( "\tglb_cb == b{ a{ %d } }\n", glb_cb.y.x );
|
---|
28 | printf( "\tglb_cc == c{ b{ a{ %d } }, a{ %d } }\n", glb_cc.z.y.x, glb_cc.q.x );
|
---|
29 | glb_a.x += 1;
|
---|
30 | glb_ba.x += 1;
|
---|
31 | glb_bb.y.x += 1;
|
---|
32 | p.z.y.x += 1;
|
---|
33 | p.q.x += 1;
|
---|
34 | f_b( p.z );
|
---|
35 | f_a( p.q );
|
---|
36 | help(); // accept => a's `#import static helper` independent from here
|
---|
37 | printf( "f_c end\n" );
|
---|
38 | }
|
---|
39 |
|
---|
40 | //# $f
|
---|
41 | int main() {
|
---|
42 | struct a la = { 500 };
|
---|
43 | struct b lb = { { 600 } };
|
---|
44 | struct c lc = { { { 700 } }, { 800 } };
|
---|
45 | f_a(la);
|
---|
46 | f_b(lb);
|
---|
47 | f_c(lc);
|
---|
48 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.