aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPatrick Li2015-03-24 10:59:08 -0700
committerPatrick Li2015-03-24 10:59:08 -0700
commit167f7c32eeeda55bd868a61b445f8891d1ff3278 (patch)
treeacebdef8c8091868d56db7ce9ee1303b8c5a0337 /src
parent2d718382dd138bc28074f54b353fc120a40da8a0 (diff)
Changed PrimOp to interface
Diffstat (limited to 'src')
-rw-r--r--src/main/stanza/firrtl-ir.stanza192
-rw-r--r--src/main/stanza/ir-parser.stanza2
2 files changed, 97 insertions, 97 deletions
diff --git a/src/main/stanza/firrtl-ir.stanza b/src/main/stanza/firrtl-ir.stanza
index 0f43dd0b..3d8a4ba9 100644
--- a/src/main/stanza/firrtl-ir.stanza
+++ b/src/main/stanza/firrtl-ir.stanza
@@ -15,102 +15,102 @@ public defstruct UnknownWidth <: Width
public defstruct IntWidth <: Width :
width: Int
-public defstruct PrimOp
-public val ADD-OP = PrimOp()
-public val ADD-UU-OP = PrimOp()
-public val ADD-US-OP = PrimOp()
-public val ADD-SU-OP = PrimOp()
-public val ADD-SS-OP = PrimOp()
-public val SUB-OP = PrimOp()
-public val SUB-UU-OP = PrimOp()
-public val SUB-US-OP = PrimOp()
-public val SUB-SU-OP = PrimOp()
-public val SUB-SS-OP = PrimOp()
-public val MUL-OP = PrimOp()
-public val MUL-UU-OP = PrimOp()
-public val MUL-US-OP = PrimOp()
-public val MUL-SU-OP = PrimOp()
-public val MUL-SS-OP = PrimOp()
-public val DIV-OP = PrimOp()
-public val DIV-UU-OP = PrimOp()
-public val DIV-US-OP = PrimOp()
-public val DIV-SU-OP = PrimOp()
-public val DIV-SS-OP = PrimOp()
-public val MOD-OP = PrimOp()
-public val MOD-UU-OP = PrimOp()
-public val MOD-US-OP = PrimOp()
-public val MOD-SU-OP = PrimOp()
-public val MOD-SS-OP = PrimOp()
-public val QUO-OP = PrimOp()
-public val QUO-UU-OP = PrimOp()
-public val QUO-US-OP = PrimOp()
-public val QUO-SU-OP = PrimOp()
-public val QUO-SS-OP = PrimOp()
-public val REM-OP = PrimOp()
-public val REM-UU-OP = PrimOp()
-public val REM-US-OP = PrimOp()
-public val REM-SU-OP = PrimOp()
-public val REM-SS-OP = PrimOp()
-public val ADD-WRAP-OP = PrimOp()
-public val ADD-WRAP-UU-OP = PrimOp()
-public val ADD-WRAP-US-OP = PrimOp()
-public val ADD-WRAP-SU-OP = PrimOp()
-public val ADD-WRAP-SS-OP = PrimOp()
-public val SUB-WRAP-OP = PrimOp()
-public val SUB-WRAP-UU-OP = PrimOp()
-public val SUB-WRAP-US-OP = PrimOp()
-public val SUB-WRAP-SU-OP = PrimOp()
-public val SUB-WRAP-SS-OP = PrimOp()
-public val LESS-OP = PrimOp()
-public val LESS-UU-OP = PrimOp()
-public val LESS-US-OP = PrimOp()
-public val LESS-SU-OP = PrimOp()
-public val LESS-SS-OP = PrimOp()
-public val LESS-EQ-OP = PrimOp()
-public val LESS-EQ-UU-OP = PrimOp()
-public val LESS-EQ-US-OP = PrimOp()
-public val LESS-EQ-SU-OP = PrimOp()
-public val LESS-EQ-SS-OP = PrimOp()
-public val GREATER-OP = PrimOp()
-public val GREATER-UU-OP = PrimOp()
-public val GREATER-US-OP = PrimOp()
-public val GREATER-SU-OP = PrimOp()
-public val GREATER-SS-OP = PrimOp()
-public val GREATER-EQ-OP = PrimOp()
-public val GREATER-EQ-UU-OP = PrimOp()
-public val GREATER-EQ-US-OP = PrimOp()
-public val GREATER-EQ-SU-OP = PrimOp()
-public val GREATER-EQ-SS-OP = PrimOp()
-public val EQUAL-OP = PrimOp()
-public val EQUAL-UU-OP = PrimOp()
-public val EQUAL-SS-OP = PrimOp()
-public val MUX-OP = PrimOp()
-public val MUX-UU-OP = PrimOp()
-public val MUX-SS-OP = PrimOp()
-public val PAD-OP = PrimOp()
-public val PAD-U-OP = PrimOp()
-public val PAD-S-OP = PrimOp()
-public val AS-UINT-OP = PrimOp()
-public val AS-UINT-U-OP = PrimOp()
-public val AS-UINT-S-OP = PrimOp()
-public val AS-SINT-OP = PrimOp()
-public val AS-SINT-U-OP = PrimOp()
-public val AS-SINT-S-OP = PrimOp()
-public val SHIFT-LEFT-OP = PrimOp()
-public val SHIFT-LEFT-U-OP = PrimOp()
-public val SHIFT-LEFT-S-OP = PrimOp()
-public val SHIFT-RIGHT-OP = PrimOp()
-public val SHIFT-RIGHT-U-OP = PrimOp()
-public val SHIFT-RIGHT-S-OP = PrimOp()
-public val CONVERT-OP = PrimOp()
-public val CONVERT-U-OP = PrimOp()
-public val CONVERT-S-OP = PrimOp()
-public val BIT-AND-OP = PrimOp()
-public val BIT-OR-OP = PrimOp()
-public val BIT-XOR-OP = PrimOp()
-public val CONCAT-OP = PrimOp()
-public val BIT-SELECT-OP = PrimOp()
-public val BITS-SELECT-OP = PrimOp()
+public definterface PrimOp
+public val ADD-OP = new PrimOp
+public val ADD-UU-OP = new PrimOp
+public val ADD-US-OP = new PrimOp
+public val ADD-SU-OP = new PrimOp
+public val ADD-SS-OP = new PrimOp
+public val SUB-OP = new PrimOp
+public val SUB-UU-OP = new PrimOp
+public val SUB-US-OP = new PrimOp
+public val SUB-SU-OP = new PrimOp
+public val SUB-SS-OP = new PrimOp
+public val MUL-OP = new PrimOp
+public val MUL-UU-OP = new PrimOp
+public val MUL-US-OP = new PrimOp
+public val MUL-SU-OP = new PrimOp
+public val MUL-SS-OP = new PrimOp
+public val DIV-OP = new PrimOp
+public val DIV-UU-OP = new PrimOp
+public val DIV-US-OP = new PrimOp
+public val DIV-SU-OP = new PrimOp
+public val DIV-SS-OP = new PrimOp
+public val MOD-OP = new PrimOp
+public val MOD-UU-OP = new PrimOp
+public val MOD-US-OP = new PrimOp
+public val MOD-SU-OP = new PrimOp
+public val MOD-SS-OP = new PrimOp
+public val QUO-OP = new PrimOp
+public val QUO-UU-OP = new PrimOp
+public val QUO-US-OP = new PrimOp
+public val QUO-SU-OP = new PrimOp
+public val QUO-SS-OP = new PrimOp
+public val REM-OP = new PrimOp
+public val REM-UU-OP = new PrimOp
+public val REM-US-OP = new PrimOp
+public val REM-SU-OP = new PrimOp
+public val REM-SS-OP = new PrimOp
+public val ADD-WRAP-OP = new PrimOp
+public val ADD-WRAP-UU-OP = new PrimOp
+public val ADD-WRAP-US-OP = new PrimOp
+public val ADD-WRAP-SU-OP = new PrimOp
+public val ADD-WRAP-SS-OP = new PrimOp
+public val SUB-WRAP-OP = new PrimOp
+public val SUB-WRAP-UU-OP = new PrimOp
+public val SUB-WRAP-US-OP = new PrimOp
+public val SUB-WRAP-SU-OP = new PrimOp
+public val SUB-WRAP-SS-OP = new PrimOp
+public val LESS-OP = new PrimOp
+public val LESS-UU-OP = new PrimOp
+public val LESS-US-OP = new PrimOp
+public val LESS-SU-OP = new PrimOp
+public val LESS-SS-OP = new PrimOp
+public val LESS-EQ-OP = new PrimOp
+public val LESS-EQ-UU-OP = new PrimOp
+public val LESS-EQ-US-OP = new PrimOp
+public val LESS-EQ-SU-OP = new PrimOp
+public val LESS-EQ-SS-OP = new PrimOp
+public val GREATER-OP = new PrimOp
+public val GREATER-UU-OP = new PrimOp
+public val GREATER-US-OP = new PrimOp
+public val GREATER-SU-OP = new PrimOp
+public val GREATER-SS-OP = new PrimOp
+public val GREATER-EQ-OP = new PrimOp
+public val GREATER-EQ-UU-OP = new PrimOp
+public val GREATER-EQ-US-OP = new PrimOp
+public val GREATER-EQ-SU-OP = new PrimOp
+public val GREATER-EQ-SS-OP = new PrimOp
+public val EQUAL-OP = new PrimOp
+public val EQUAL-UU-OP = new PrimOp
+public val EQUAL-SS-OP = new PrimOp
+public val MUX-OP = new PrimOp
+public val MUX-UU-OP = new PrimOp
+public val MUX-SS-OP = new PrimOp
+public val PAD-OP = new PrimOp
+public val PAD-U-OP = new PrimOp
+public val PAD-S-OP = new PrimOp
+public val AS-UINT-OP = new PrimOp
+public val AS-UINT-U-OP = new PrimOp
+public val AS-UINT-S-OP = new PrimOp
+public val AS-SINT-OP = new PrimOp
+public val AS-SINT-U-OP = new PrimOp
+public val AS-SINT-S-OP = new PrimOp
+public val SHIFT-LEFT-OP = new PrimOp
+public val SHIFT-LEFT-U-OP = new PrimOp
+public val SHIFT-LEFT-S-OP = new PrimOp
+public val SHIFT-RIGHT-OP = new PrimOp
+public val SHIFT-RIGHT-U-OP = new PrimOp
+public val SHIFT-RIGHT-S-OP = new PrimOp
+public val CONVERT-OP = new PrimOp
+public val CONVERT-U-OP = new PrimOp
+public val CONVERT-S-OP = new PrimOp
+public val BIT-AND-OP = new PrimOp
+public val BIT-OR-OP = new PrimOp
+public val BIT-XOR-OP = new PrimOp
+public val CONCAT-OP = new PrimOp
+public val BIT-SELECT-OP = new PrimOp
+public val BITS-SELECT-OP = new PrimOp
public definterface Expression
public defmulti type (e:Expression) -> Type
diff --git a/src/main/stanza/ir-parser.stanza b/src/main/stanza/ir-parser.stanza
index 8c650f36..ae60194c 100644
--- a/src/main/stanza/ir-parser.stanza
+++ b/src/main/stanza/ir-parser.stanza
@@ -275,7 +275,7 @@ rd.defsyntax firrtl :
println("Op-symbol is:~" % [op])
match(get?(operators, ut(op), false)) :
(op:PrimOp) :
- println("Op is:~ ~" % [op,op == ADD-OP])
+ println("Op is:~ ~ ~" % [op,op == ADD-OP, op == ADD-UU-OP])
DoPrim(op, es, map(ut, ints), UnknownType())
(f:False) :
throw-error $ string-join $ [