summaryrefslogtreecommitdiff
path: root/out.c
diff options
context:
space:
mode:
authorLeo Tenenbaum <pommicket@gmail.com>2019-10-21 19:27:47 -0400
committerLeo Tenenbaum <pommicket@gmail.com>2019-10-21 19:27:47 -0400
commitd28b38f18575ae9fe65936fc71ddcb7ea91131cd (patch)
treed97bc4473ad2d26d556f5e7de1ff215654729ff9 /out.c
parent52fa150ba836c0ddd7b02623541fb307478a9088 (diff)
finished slice notation
Diffstat (limited to 'out.c')
-rw-r--r--out.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/out.c b/out.c
index a4dc39f..9994c0d 100644
--- a/out.c
+++ b/out.c
@@ -18,6 +18,7 @@ typedef struct { void *data; u64 n; } slice_;
/* declarations */
void puti(i64 x);
+i64 foo(void);
void main__(void);
/* code */
int main() {
@@ -33,7 +34,7 @@ void puti(i64 x) {
}
-void main__(void) {
+i64 foo(void) {
i64 N; {
i64 expr__; expr__ = 10;N = expr__;}
@@ -45,8 +46,17 @@ void main__(void) {
(((i64(*))(numbers.data))[i]) = i;;
i = (i+1);;
};
- u64 a3_ = 0; slice_ a2_; a2_.data = (i64(*))(numbers.data) + a3_; a2_.n = 8 - a3_;
- (puti((((i64(*))(a2_.data))[0])));
+ slice_ a2_; { slice_ of__ = numbers; u64 a3_ = 5; a2_.data = (i64(*))(of__.data) + a3_; a2_.n = 7 - a3_; }
+ slice_ a4_; { slice_ of__ = numbers; u64 a5_ = 2; a4_.data = (i64(*))(of__.data) + a5_; a4_.n = of__.n - 1 - a5_; }
+ slice_ a6_; { slice_ of__ = numbers; u64 a7_ = 0; a6_.data = (i64(*))(of__.data) + a7_; a6_.n = 6 - a7_; }
+ return (((((i64(*))(a2_.data))[1])+(((i64(*))(a4_.data))[0]))+(((i64(*))(a6_.data))[3]));
+}
+
+
+void main__(void) {
+
+ i64( x[11]) = {0};
+ (puti((foo())));
}