aboutsummaryrefslogtreecommitdiff
path: root/src/main/stanza
diff options
context:
space:
mode:
authorazidar2016-01-29 18:14:41 -0800
committerazidar2016-02-09 18:55:25 -0800
commit0181686fe4bdf24f9e22f406c43dbeb98789cb8b (patch)
tree1b99f826c9f58a9119e030a0ec53de3b9a002c2f /src/main/stanza
parente2177899c82e464f853e4daf8d23c11d27ca5157 (diff)
WIP. Got to-working-ir working
Diffstat (limited to 'src/main/stanza')
-rw-r--r--src/main/stanza/passes.stanza23
1 files changed, 0 insertions, 23 deletions
diff --git a/src/main/stanza/passes.stanza b/src/main/stanza/passes.stanza
index 7a94d59d..6e8d89ad 100644
--- a/src/main/stanza/passes.stanza
+++ b/src/main/stanza/passes.stanza
@@ -68,11 +68,6 @@ public defstruct WSubAccess <: Expression :
index: Expression
type: Type with: (as-method => true)
gender: Gender with: (as-method => true)
-defstruct WIndexer <: Expression :
- exps: List<Expression>
- index: Expression
- type: Type with: (as-method => true)
- gender : Gender with: (as-method => true)
public defstruct WVoid <: Expression
public defstruct WInvalid <: Expression
public defstruct WDefInstance <: Stmt :
@@ -102,11 +97,6 @@ defmethod kind (e:Expression) :
(e:WRef) : kind(e)
(e:WSubField) : kind(exp(e))
(e:WSubIndex) : kind(exp(e))
- (e:WIndexer) :
- val k = kind(exps(e)[0])
- for x in exps(e) do :
- if k != kind(x) : error("All kinds of exps of WIndexer must be the same")
- k
(e) : ExpKind()
defmethod info (stmt:Begin) -> FileInfo : FileInfo()
@@ -136,11 +126,6 @@ defmethod equal? (e1:Expression,e2:Expression) -> True|False :
(index(e1) == index(e2)) and (exp(e1) == exp(e2))
(e1:WVoid,e2:WVoid) : true
(e1:WInvalid,e2:WInvalid) : true
- (e1:WIndexer,e2:WIndexer) :
- var bool = (length(exps(e1)) == length(exps(e2)))
- for (e1* in exps(e1),e2* in exps(e2)) do :
- bool = bool and (e1* == e2*)
- bool and (index(e1) == index(e2))
(e1:DoPrim,e2:DoPrim) :
var are-equal? = op(e1) == op(e2)
for (x in args(e1),y in args(e2)) do :
@@ -294,9 +279,6 @@ defmethod print (o:OutputStream, e:WVoid) :
defmethod print (o:OutputStream, e:WInvalid) :
print(o,"INVALID")
print-debug(o,e as ?)
-defmethod print (o:OutputStream, c:WIndexer) :
- print-all(o, [exps(c) "[" index(c) "]"])
- print-debug(o,c as ?)
defmethod print (o:OutputStream, c:WDefInstance) :
print-all(o, ["inst " name(c) " of " module(c) " : " type(c)])
print-debug(o,c as ?)
@@ -795,10 +777,6 @@ defn resolve-genders (c:Circuit) :
val exp* = resolve-e(exp(e),g)
val index* = resolve-e(index(e),MALE)
WSubAccess(exp*,index*,type(e),g)
- (e:WIndexer) :
- val exps* = map(resolve-e{_,g},exps(e))
- val index* = resolve-e(index(e),MALE)
- WIndexer(exps*,index*,type(e),g)
(e) : map(resolve-e{_,g},e)
defn resolve-s (s:Stmt) -> Stmt :
@@ -2280,7 +2258,6 @@ defn root-ref (e:Expression) -> WRef :
match(e) :
(e:WRef) : e
(e:WSubField|WSubIndex|WSubAccess) : root-ref(exp(e))
- (e:WIndexer) : root-ref(exps(e)[0])
;------------- Pass ------------------