harec

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit c47fb633b0523366f23d1d6174ceef0b706f3b8a
parent 4904cf8f1fba06f129c73671084f667086ce1751
Author: Drew DeVault <sir@cmpwn.com>
Date:   Sun, 10 Jan 2021 17:14:17 -0500

Remove obsolete todo files

Diffstat:
Dgen.txt | 81-------------------------------------------------------------------------------
Dtodo.txt | 19-------------------
2 files changed, 0 insertions(+), 100 deletions(-)

diff --git a/gen.txt b/gen.txt @@ -1,81 +0,0 @@ -TODO: -- test function pointers in more depth (binding, return, call) -- audit function parameters - - primitive - - aggregate -- aggregate type assignment -- nested aggregate types - - binding ✓ - - assignment - - indexing ✓ - - - - -.allocate object %o: - %o =l alloc<align> <size> - %o.indirect = yes - -.address %out, %in: - invariant: %in =l !indirect - if %out indirect: - storet %out, %in - else: - %out =l copy %in - -constant numeric %out, value: - if %out indirect: - storet %out, value - else: - invariant: %out type is simple - %out =t copy value - -constant array %out, values: - invariant: %out =l indirect - %addr =l add %out, %offs - %addr.indirect = yes - for v : values - %addr =l add %addr, membsize - gen(v, out={%addr invariant: =l indirect}) - -access %out, object: - %o lookup object; invariant: =l indirect - if %out indirect: - %t =t load %o - store %out, %t - else: - %out =t load %o - -index %out, object, index: - %o lookup object; invariant: =l indirect - %temp =l direct [size] - gen(index, %temp =l direct) - -binding: - %o .allocate object - gen(value, out={%o invariant: =l indirect}) - -unary address %out: - %o lookup object: invariant: =l indirect - .address %out, %o - -let x: [3]int = [3, 2, 1]; -binding: - %x =l alloc4 12 - constant array: out=%x =l indirect - type := result type ([3]int) - %t.1 =l copy %x ; Allocate pointer to out - constant 3: out=%t.1 =l indirect - type := result type int (=w) - storew %t.1, 3 - %t.1 =l add %t.1, type.size - constant 2: out=%t.1 =l indirect - constant 3: out=%t.1 =l indirect -let y = x[2]; -binding: - %y =l alloc4 1 - index x[2]: out=%y =l - unary address x: out=%t.1 =l direct - type := lookup object x (binding %x) - %t.1 =l copy %x (ptr copy) - constant 2: out %t.2 =l direct diff --git a/todo.txt b/todo.txt @@ -1,19 +0,0 @@ -highest priorities, unordered except where there are obvious dependencies: - -- lower implicit casts in check -- aggregate types - - in parameters - - in variables - - in return values -- field access, indexing -- static let - -This subset of features should allow us to address most of the problems with gen -that v1 suffered from, and end up with a solid basis from which we can -confidently implement the remainder of the features. - -general todos, includes spec updates: -- zero-length arrays & slice initializers -- allocations -- casts -- implicit casts