aboutsummaryrefslogtreecommitdiff
path: root/src/main/stanza/ir-parser.stanza
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/stanza/ir-parser.stanza')
-rw-r--r--src/main/stanza/ir-parser.stanza10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/main/stanza/ir-parser.stanza b/src/main/stanza/ir-parser.stanza
index f52abf13..0334bca2 100644
--- a/src/main/stanza/ir-parser.stanza
+++ b/src/main/stanza/ir-parser.stanza
@@ -87,6 +87,12 @@ rd.defsyntax firrtl :
(module ?name:#symbol : (?ports:#port ... ?body:#comm ...)) :
Module(ut(name), ports, Begin(body))
+ defrule field :
+ (male ?name:#symbol : ?type:#type) :
+ Field(ut(name), MALE, type)
+ (female ?name:#symbol : ?type:#type) :
+ Field(ut(name), FEMALE, type)
+
defrule port :
(input ?name:#symbol : ?type:#type) :
Port(ut(name), INPUT, type)
@@ -104,8 +110,8 @@ rd.defsyntax firrtl :
SIntType(IntWidth(ut(width)))
(SInt) :
SIntType(UnknownWidth())
- ({?ports:#port ...}) :
- BundleType(ports)
+ ({?fields:#field ...}) :
+ BundleType(fields)
defrule comm :
(wire ?name:#symbol : ?type:#type) :