diff options
| author | azidar | 2015-03-03 17:26:40 -0800 |
|---|---|---|
| committer | azidar | 2015-03-03 17:26:40 -0800 |
| commit | 355749c83d2066f1a149333ed762a7945d405076 (patch) | |
| tree | 77c47b9d3ef3eb91cfb0d56ad376a3c7a94536db /src/main/stanza/ir-parser.stanza | |
| parent | 36b2fa287c3931ff7eec0b18c23070cdd9f21c15 (diff) | |
In progress for type inference. Looks like other code is breaking, and i dont understand why
Diffstat (limited to 'src/main/stanza/ir-parser.stanza')
| -rw-r--r-- | src/main/stanza/ir-parser.stanza | 90 |
1 files changed, 82 insertions, 8 deletions
diff --git a/src/main/stanza/ir-parser.stanza b/src/main/stanza/ir-parser.stanza index 34dbcec7..43383f9a 100644 --- a/src/main/stanza/ir-parser.stanza +++ b/src/main/stanza/ir-parser.stanza @@ -157,24 +157,98 @@ rd.defsyntax firrtl : val operators = HashTable<Symbol, PrimOp>(symbol-hash) operators[`add] = ADD-OP - operators[`add-mod] = ADD-MOD-OP + operators[`add-uu] = ADD-UU-OP + operators[`add-us] = ADD-US-OP + operators[`add-su] = ADD-SU-OP + operators[`add-ss] = ADD-SS-OP operators[`sub] = SUB-OP - operators[`sub-mod] = SUB-MOD-OP - operators[`times] = TIMES-OP + operators[`sub-uu] = SUB-UU-OP + operators[`sub-us] = SUB-US-OP + operators[`sub-su] = SUB-SU-OP + operators[`sub-ss] = SUB-SS-OP + operators[`mul] = MUL-OP + operators[`mul-uu] = MUL-UU-OP + operators[`mul-us] = MUL-US-OP + operators[`mul-su] = MUL-SU-OP + operators[`mul-ss] = MUL-SS-OP + operators[`div] = DIV-OP + operators[`div-uu] = DIV-UU-OP + operators[`div-us] = DIV-US-OP + operators[`div-su] = DIV-SU-OP + operators[`div-ss] = DIV-SS-OP operators[`mod] = MOD-OP - operators[`bit-and] = BIT-AND-OP - operators[`bit-or] = BIT-OR-OP - operators[`bit-xor] = BIT-XOR-OP - operators[`concat] = CONCAT-OP + operators[`mod-uu] = MOD-UU-OP + operators[`mod-us] = MOD-US-OP + operators[`mod-su] = MOD-SU-OP + operators[`mod-ss] = MOD-SS-OP + operators[`quo] = QUO-OP + operators[`quo-uu] = QUO-UU-OP + operators[`quo-us] = QUO-US-OP + operators[`quo-su] = QUO-SU-OP + operators[`quo-ss] = QUO-SS-OP + operators[`rem] = REM-OP + operators[`rem-uu] = REM-UU-OP + operators[`rem-us] = REM-US-OP + operators[`rem-su] = REM-SU-OP + operators[`rem-ss] = REM-SS-OP + operators[`add-wrap] = ADD-WRAP-OP + operators[`add-wrap-uu] = ADD-WRAP-UU-OP + operators[`add-wrap-us] = ADD-WRAP-US-OP + operators[`add-wrap-su] = ADD-WRAP-SU-OP + operators[`add-wrap-ss] = ADD-WRAP-SS-OP + operators[`sub-wrap] = SUB-WRAP-OP + operators[`sub-wrap-uu] = SUB-WRAP-UU-OP + operators[`sub-wrap-us] = SUB-WRAP-US-OP + operators[`sub-wrap-su] = SUB-WRAP-SU-OP + operators[`sub-wrap-ss] = SUB-WRAP-SS-OP operators[`less] = LESS-OP + operators[`less-uu] = LESS-UU-OP + operators[`less-us] = LESS-US-OP + operators[`less-su] = LESS-SU-OP + operators[`less-ss] = LESS-SS-OP operators[`less-eq] = LESS-EQ-OP + operators[`less-eq-uu] = LESS-EQ-UU-OP + operators[`less-eq-us] = LESS-EQ-US-OP + operators[`less-eq-su] = LESS-EQ-SU-OP + operators[`less-eq-ss] = LESS-EQ-SS-OP operators[`greater] = GREATER-OP + operators[`greater-uu] = GREATER-UU-OP + operators[`greater-us] = GREATER-US-OP + operators[`greater-su] = GREATER-SU-OP + operators[`greater-ss] = GREATER-SS-OP operators[`greater-eq] = GREATER-EQ-OP + operators[`greater-eq-uu] = GREATER-EQ-UU-OP + operators[`greater-eq-us] = GREATER-EQ-US-OP + operators[`greater-eq-su] = GREATER-EQ-SU-OP + operators[`greater-eq-ss] = GREATER-EQ-SS-OP operators[`equal] = EQUAL-OP - operators[`multiplex] = MULTIPLEX-OP + operators[`equal-uu] = EQUAL-UU-OP + operators[`equal-ss] = EQUAL-SS-OP + operators[`mux] = MUX-OP + operators[`mux-uu] = MUX-UU-OP + operators[`mux-ss] = MUX-SS-OP operators[`pad] = PAD-OP + operators[`pad-u] = PAD-U-OP + operators[`pad-s] = PAD-S-OP + operators[`as-UInt] = AS-UINT-OP + operators[`as-UInt-u] = AS-UINT-U-OP + operators[`as-UInt-s] = AS-UINT-S-OP + operators[`as-SInt] = AS-SINT-OP + operators[`as-SInt-u] = AS-SINT-U-OP + operators[`as-SInt-s] = AS-SINT-S-OP operators[`shift-left] = SHIFT-LEFT-OP + operators[`shift-left-u] = SHIFT-LEFT-U-OP + operators[`shift-left-s] = SHIFT-LEFT-S-OP operators[`shift-right] = SHIFT-RIGHT-OP + operators[`shift-right-u] = SHIFT-RIGHT-U-OP + operators[`shift-right-s] = SHIFT-RIGHT-S-OP + operators[`convert] = SHIFT-RIGHT-OP + operators[`convert-u] = SHIFT-RIGHT-U-OP + operators[`convert-s] = SHIFT-RIGHT-S-OP + operators[`bit-and] = BIT-AND-OP + operators[`bit-or] = BIT-OR-OP + operators[`bit-xor] = BIT-XOR-OP + operators[`concat] = CONCAT-OP operators[`bit] = BIT-SELECT-OP operators[`bits] = BITS-SELECT-OP |
